Related
OK now that the first hard part is over (getting Webtop running with out dock) now its time to push this to the limits ... I am Currently working on getting apt-get installed and running on Jaunty ... I would love to get some help with all this, obviousy this wont replace my laptop or Desktop, but it would be nice to know that anywhere i am i have a fully function linux machine in my pocket... so lets keep up the good work and push forward, CHARGE !!!
FIRST try and fail... prayed it would be as easy as pushing apt-get to /system/bin and executing ... it was not ... well not with this try anyhow getting a apt-get: cannot execute binary file error
Open a second adb shell and monitor dmesg | grep TOMOYO to see if the MAC is preventing you from executing files not listed in the policy. I had to muck around with it earlier today to get it to run lxterminal.
agentdr8 said:
Open a second adb shell and monitor dmesg | grep TOMOYO to see if the MAC is preventing you from executing files not listed in the policy. I had to muck around with it earlier today to get it to run lxterminal.
Click to expand...
Click to collapse
will do !! first thing im doing right now is installing a virtual machine jaunty on my machine to compare and test with figure that will be the most helpful !!
Anyone working on this, be very careful, as the default adbd location is in /sbin, which symlinks to /osh/sbin.
Its possible to use adb to interact with the webtop, its probably easier for these initial command line stages too.
t0dbld said:
FIRST try and fail... prayed it would be as easy as pushing apt-get to /system/bin and executing ... it was not ... well not with this try anyhow getting a apt-get: cannot execute binary file error
Click to expand...
Click to collapse
Why did you have to push apt-get to the box? apt and dpkg are already there.
I had this earlier, but reverted due to problems (I tried to uninstall rootfs). The first thing that needs to be taken care of is missing package dependencies, and file collisions. The package rootfs provides the functionality of the packages that are missing, but apt doesn't know that.
Also, consider moving /usr to the /data partition to save space. /osh is pretty cramped as is, and resolving the dependencies will fill it up pretty quickly.
droidbird said:
Why did you have to push apt-get to the box? apt and dpkg are already there.
Click to expand...
Click to collapse
I saw a dpkg something cant rmember but wasnt the same thing i see no apt-get either. Also even when running in root apt-get did not exist i used echo $PATH Folowed it and did not see any apt files. If i am wrong and you kniw of there existence and how to make them execute please inform us all as if we have a working apt-get well its all but over
t0dbld said:
I saw a dpkg something cant rmember but wasnt the same thing i see no apt-get either. Also even when running in root apt-get did not exist i used echo $PATH Folowed it and did not see any apt files. If i am wrong and you kniw of there existence and how to make them execute please inform us all as if we have a working apt-get well its all but over
Click to expand...
Click to collapse
it's already there:
Code:
[email protected]:/osh/usr/bin# ./apt-get moo
./apt-get moo
(__)
(oo)
/------\/
/ | ||
* /\---/\
~~ ~~
...."Have you mooed today?"...
but /osh/etc/apt/sources.list has garbage mirrors listed... They point to 10.77.32.150, which is obviously not a real IP. You could try commenting out what's in there and add in a working jaunty repo.
If you're going to use dpkg to install .debs manually, remember that they'll need to be compiled for arm processors.
Unfortunately my PC monitor doesn't do HDMI, so I can't run webtop right now. I'll play around more tomorrow when I can hook up my atrix to the TV
t0dbld said:
I saw a dpkg something cant rmember but wasnt the same thing i see no apt-get either. Also even when running in root apt-get did not exist i used echo $PATH Folowed it and did not see any apt files. If i am wrong and you kniw of there existence and how to make them execute please inform us all as if we have a working apt-get well its all but over
Click to expand...
Click to collapse
Apt and dpkg have been verified in this forum to be there for a week, search gets us that as well as some of the dependency issues.
Think about what you are suggesting
Be mindful that when pointing people down the road of running apt and dpkg that the very first thing they should have is a way to recover to stock. It is quite possible and likely that running apt-get or dpkg that you may twiddle some bits on your /osh partition that make webtop fail or unusable.
Have a backout method
At minimum, I would grab a dd of your /osh partition or one from here in the forums and keep it around. In addition, I would suggest you have a way to execute dd (if that is the route you choose to go for backup) outside of the /osh partion in the event you screw /osh up and need to dd back the old working /osh. Is the dd in /bin statically linked? If so, then the plan can be as easy as copying dd to some other partition where it can be executed from. If it is not static, you need one that is or a runtime environment where it can execute.
Have a plan
Why are we trying to get apt working? Is there some goal besides filling up /osh's remaining 77MB of space?
I'll start with a couple of options:
We want a working apt so we can install a less heavy browser than firefox.
We want to be able to replace the awn launcher with something snappier and that does not require compositing, again lowering memory usage and increasing performance.
A working dependency resolving package manager is "the right thing(tm)" to do as opposed to running around with zip files. Zip file are no way to keep a working system.
Exploring and discovering is cool and very fun, but either heading that direction or suggesting others do without a plan is to invite disaster.
If you change sources.lst, please make sure you use ARM repos and not x86 repos. X86 software will break the Webtop if you load it.
For anyone that wants to try, here is the correct repo to use:
Code:
deb http://ports.ubuntu.com/ jaunty main security universe multiverse restricted
Always make sure /osh can mount on boot, and that /osh/sbin/adbd remains intact. Without it, you have no way of recovering
perkz said:
it's already there:
Code:
[email protected]:/osh/usr/bin# ./apt-get moo
./apt-get moo
(__)
(oo)
/------\/
/ | ||
* /\---/\
~~ ~~
...."Have you mooed today?"...
but /osh/etc/apt/sources.list has garbage mirrors listed... They point to 10.77.32.150, which is obviously not a real IP. You could try commenting out what's in there and add in a working jaunty repo.
If you're going to use dpkg to install .debs manually, remember that they'll need to be compiled for arm processors.
Unfortunately my PC monitor doesn't do HDMI, so I can't run webtop right now. I'll play around more tomorrow when I can hook up my atrix to the TV
Click to expand...
Click to collapse
well i stand corrected, thank you sir.... although mine doesn't execute, still the same error:
./apt-get: cannot execute binary file
Are you sure you were in /usr/bin when you ran ./apt-get since you were specifiying that it execute from the current directory? Failing that, were you root and/or you might need to adjust your TOMOYO settings, but mine executes just fine as root as long as it is in the path and my /osh is fairly stock outside of the TOMOYO settings I have mucked with and a couple of other changes like adding a password for adas. If you still have problems, can you reload your /osh and start fresh?
i was in right dir , i am reboot it all now and will start over
Suggestion to anyone working this, take a dd copy of /dev/block/mmcblk0p13, and use losetup to mount it on /osh when experimenting.
Edit: the kernel lacks a loop device, working on that now.
t0dbld said:
OK now that the first hard part is over (getting Webtop running with out dock) now its time to push this to the limits ... I am Currently working on getting apt-get installed and running on Jaunty ... I would love to get some help with all this, obviousy this wont replace my laptop or Desktop, but it would be nice to know that anywhere i am i have a fully function linux machine in my pocket... so lets keep up the good work and push forward, CHARGE !!!
Click to expand...
Click to collapse
When you say " but it would be nice to know that anywhere i am i have a fully function linux machine in my pocket" do you mean being able to run Jaunty on just the phone itself, not hooked up to a dock? Or do you mean hooked up to a dock, just Jaunty replacing Webtop?
BravoMotorola said:
When you say " but it would be nice to know that anywhere i am i have a fully function linux machine in my pocket" do you mean being able to run Jaunty on just the phone itself, not hooked up to a dock? Or do you mean hooked up to a dock, just Jaunty replacing Webtop?
Click to expand...
Click to collapse
well i dont own a dock but i do not plan on running jaunty on a 4" screen
t0dbld said:
well i dont own a dock but i do not plan on running jaunty on a 4" screen
Click to expand...
Click to collapse
Yea thats what I thought. That would be sweet though. People think I'm crazy when I run Win95 on my phone, I think it's awesome though. So Jaunty or just Webtop IMO would be REALLY awesome to run on the little 4 inch screen! But most people just think it's a stupid, and pointless idea
shawnbuck said:
Suggestion to anyone working this, take a dd copy of /dev/block/mmcblk0p13, and use losetup to mount it on /osh when experimenting.
Edit: the kernel lacks a loop device, working on that now.
Click to expand...
Click to collapse
The loop devices are in /dev/block/loop[X].
So you've rooted your phone, hacked your webtop, but then you realize that your Ubuntu doesn't have ssh. Wait, what? What the hell is *nix for if you don't have ssh?!
Time to fix that.
Based upon the existing packages, the Ubuntu installation is Jaunty/9.04. In this case, the packages to install for clean dependencies are these:
libedit2
openssh-client
passwd
For each package, you want to download the package that's listed as Published to /mnt/sdcard-ext (before you complain that I'm using old packages, when starting up, I prefer to have a consistent OS, rather than picking and choosing packages from several different versions).
Installation ended up being simpler than I expected, although I ended up remounting /mnt/sdcard-ext as /osh/mnt/sdcard-ext so that I could have a decent work area in my chroot. Here were the commands I used (including the remount) after downloading the three .deb files into /mnt/sdcard-ext:
Settings→SD card & phone storage→Unmount SD card
From the Android terminal:
su
mkdir /osh/mnt/sdcard-ext
mount -t vfat /dev/block/vold/179:33 /osh/mnt/sdcard-ext
From LXTerminal:
sudo chroot /osh
dpkg -i *.deb
exit
Settings→SD card & phone storage→Mount SD card (this will forcibly unmount the SD card from the other directory and mount it in the normal directory)
Congratulations! ssh has just been installed.
Is this the process people are using to install other. deb packages? Apt-get isn't working for me.
Sent from my MB860 using XDA App
edounn said:
Is this the process people are using to install other. deb packages? Apt-get isn't working for me.
Click to expand...
Click to collapse
I'm actually not sure what other people are doing.
Personally, I'm reluctant at the moment to use the second-layer package management tools, since there really isn't much free space in /osh, and I'd rather not trigger a domino effect of package installation by accident. As such, I'd prefer to be a lot more precise in what packages I'm installing.
Besides of which, the custom Motorola Ubuntu packages do cause some issues. For example, they shipped a version of Awn that normally ships with Ubuntu 9.10, so it's difficult to touch (if you want to go back to that version but stock, it starts an upgrade loop that becomes difficult to manage). But, you can try setting your depot to launchpad.net, which might work out for you.
some static linked binaries i built
I built a few static binaries today as I too don't really want to screw with trying to force some packages in alongside the base system.
I included a tarball (seems like the forums won't take a tar.gz) with scp, sftp, ssh, and wget in it. They are all static linked arm binaries so you shouldn't have any dependency issues. They're not built with anything special, I just grabbed the latest openssh and wget and built them.
I've only tested the ssh and wget, but I would assume that both scp and sftp also work. If there is enough interest I can post the rest of the openssh suite, I got the entire suite to build (didn't test it though).
Let me know if things work, I may build other things as a bunch of static linked binaries, or just setup a chroot to run more stuff from the webtop.
If anyone is looking for an SSH daemon on the android side of the device, this is an excellent guide to do it:
http://teslacoilsw.com/dropbear
Also, I've uploaded the compiled binaries for 2.2.1 (Dropbear Telsa v0.52) and the stock ssh client that comes with the android 2.2.1 SDK (Dropbear v0.49)
would this help with xsession i.e. ssh -X [email protected]
I believe xauth is all you need for X11 forwarding via SSH, and that's included in the webtop os.
Sorry in advance if I'm missing something simple but I'm at my wits' end here...
For a while now I've been slowly researching and learning how a possible root exploit could work, and finally I managed to come up with an attack plan and set up a build toolchain, only to find that I can't even run a simple Hello World!
Now I'm only a bit familiar with linux environments and even less so with android ones, but I'm pretty sure something's not right here. Trying to run anything I put on the phone just spits back "not found". Also, any command that actually can't be found gives me "permission denied", from my searching online I couldn't find out whether this is the correct behavior.
Code:
$ ./hello
./hello
./hello: not found
$ hello
hello
hello: permission denied
$ ls -l
ls -l
drwxrwxrwx shell shell 2011-08-09 21:21 bin
drwxrwx--x mot_tcmd shell 2011-06-29 08:50 12m
-rwxrwxrwx shell shell 5585 2011-08-09 21:10 hello
drwxrwx--x mot_tcmd shell 2011-06-29 16:38 tmp
(Had to strip down the commands for the overzealous spam filter, this is running from /data/local)
From what I've seen in the other threads in this forum people have been able to run busybox and such from this location, so does anyone have a clue what's going on here?
Alternately, if there's anyone that's very familiar with native-code android development or the android kernel, particularly regarding network capabilities, please let me know here or via PM/e-mail so maybe I can figure out if my exploit is even possible.
/data/local ? I didn't realize adb had access there. I run busybox from /tmp there's about 2mb of space there for us to use.
Good luck to you.
Well, I went and found a prebuilt busybox and that works, so I'm assuming there's something wrong with the binaries I'm making.
Right now I'm using the Code Sourcery GNU/Linux ARM toolchain as recommended by various sources online, since it seemed like the easiest option for someone with minimal experience with the GNU build tools. But unless I can get it working, seems like my only other option (without learning all the details of GNU development) is some "agcc" script somebody made a few years ago, which may not even work anymore, and would require me to do a full build of the android source in a linux VM.
So, anyone have any insights or experience on building native binaries fairly painlessly?
Try changing the permissions of the file.
chmod 755 /data/local/filename
Sent from my ADR6400L using Tapatalk
im pretty sure u are building a binary for another arch than arm...
http://forum.xda-developers.com/showthread.php?t=1119555
Logically speaking, this application should also work with the Bionic correct?
Just wondering, if its deemed safe in this thread to attempt using, I will try it and post back with results.
---------- Post added at 12:30 AM ---------- Previous post was at 12:08 AM ----------
Okay, so I just backed up everything and tried the app, which won't work due to the fact that it checks the phone model number, Theres a manual guide to get ubuntu running on the atrix, and I'm going to start from scratch there. Probably going to be a couple of days before I do anything since I need a new microhdmi...
I tried the app that comes with it to partition the sdcard but it does a device check then it stops with an error message that the device is not an Olympus (Atrix). Maybe we can get the dev to check on the differences, albeit small, for the Atrix and the Bionic.
Worth a shot. I've been playing around with /osh for a few days but had to reflash to stock due to the lapdock staying on the screensaver.
Hey guys, I am working on the same thing at the moment trying to port over Sogarth's method of unlocking the 10.10 maverick build of Ubuntu on our phones.
http://forum.xda-developers.com/showthread.php?t=1000316
The link here is for his old automated .bat script he made for the Atrix that I believe will work for our phones with a little modification to it to reflect Maverick packages instead of the Jaunty packages for their phones.
Please jump into the irc in my sig because I would like to get this going as well.
I would hop in IRC but I'm about to head out the door.
I'm currently approaching this situation from two directions:
1.) I'm dumping /osh/ (webtop partition) and uploading it to dropbox as soon as I can get a complete dump. (hopefully tonight) and providing it to the original Atrix dev to see if he can hook us up with an app to help do whats needed
2.) I'm also attempting the manual method as soon as I get a new microHDMI cable (I was using a cheap adapter).
You are 100% correct though, you should be able to get that install script working just by changing the packages to reflect the updated Ubuntu. MAKE SURE you backup ANY files before you change them (and preferably a complete backup of /osh/. Since we have SU on our phones we have free reign over the /osh partition, so be careful in there.
OT: I can't wait until we can get on-demand CPU overclocking for this thing... if it clocks as well as past mobile chips... Toggle 1.2-1.4ghz and plug it in the LapDock. You'd have a damned fine netbook...
(Not necessarily talking to any experienced users or noobs, the disclaimer about Linux & SU is for everyone reading this thread - I'm relatively experienced in the Linux world... and I need to be reminded of SU's power sometimes.)
I just realized that their phone's Ubuntu distribution is under the 9.x series versus the 10.x series. A lot of Major changes happened to Ubuntu between 9.x and 10.x that affected the way the operating system talked to devices and booted, they stopped using HAL and moved to a new boot method, I am uncertain whether or not the install script will work or not, though I'm somewhat confident it will, given the nature of webtop (Android does the hardware abstraction, and the booting, we just run a second set of executable's on a different X window session attached to a different display) This should mean that the portions that would normally prevent us from just duplicated the script are omitted from the Ubuntu distribution entirely. As long as we keep a backup we should still be fine.
No worries, just remember to keep FXZ and RSD handy. I've screwed up the /osh partition a couple times but that has saved me from complete disaster so far
Good call on bringing this up. Let me know if you need to test anything for this.
@xaero252
So I modified Sogarth's script to use Maverick build of all the tools it downloads and installs but the problem with the script is that it needs the phone to have the ro.secure=0 so that ADB always launches with root access without manually initiating su each line of code. I am not sure if there is a way around it or if we have to modify the script differently. Anywho, I've upload a copy of the work I've done to the script.
Is it just an sh script? If so and ut doesn't reboot the phone at all you could launch a SU terminal and do "su sh script.sh"
oh i see the issue now... we would have to be able to edit the boot loader for that method... if i'm correct though his android app doesnt use the pc for much... if you change that variable on boot do you think it woukd work?
Hmm, I have an idea, its not as polished as the pc based script, however it should still work presuming you can get a SU terminal to run on the phone ( I happen to have one running right now ) I'm going to see if I can't adapt that to a bash script. probably going to take a while.
Curiously we happen to have a 1.5gb partition for Ubuntu on built in memory, where as the atrix only had a 600 or so mb partition... This is great because we should likely be able to continue to install /, /boot and such to internal memory, and use the sd card (even left as ntfs) for /home...
Couple of things: reading through the script it looks like 100% of the commands he runs could be run on the phone via a bash script run as su. The idea is this: convert the entire script over to bash, copy the script, and the required files to the phone, and execute the script from the phone. The only other concern I can see is the wget package included with the script not being compatible with maverick, which doesn't seem likely.
I'm gonna start working on rewriting the script linux native. My idea is to use a terminal emulator (they are free on the market) and run su script.sh and pray. I need to get a new microHDMI before I do this though, so I can test my results reliably.
xaero252 said:
Is it just an sh script? If so and ut doesn't reboot the phone at all you could launch a SU terminal and do "su sh script.sh"
oh i see the issue now... we would have to be able to edit the boot loader for that method... if i'm correct though his android app doesnt use the pc for much... if you change that variable on boot do you think it woukd work?
Click to expand...
Click to collapse
As far as correcting that, no one has attempted doing custom kernels yet so to do the edit to get root access out of the gate is moot at this point.
Hmm, I have an idea, its not as polished as the pc based script, however it should still work presuming you can get a SU terminal to run on the phone ( I happen to have one running right now ) I'm going to see if I can't adapt that to a bash script. probably going to take a while.
Click to expand...
Click to collapse
Your linux skills are probably 10 folds better than mine but I believe if you convert my modified script, which has all the necessary links to the correct packages for our phone, then it might just work.
Curiously we happen to have a 1.5gb partition for Ubuntu on built in memory, where as the atrix only had a 600 or so mb partition... This is great because we should likely be able to continue to install /, /boot and such to internal memory, and use the sd card (even left as ntfs) for /home...
Couple of things: reading through the script it looks like 100% of the commands he runs could be run on the phone via a bash script run as su. The idea is this: convert the entire script over to bash, copy the script, and the required files to the phone, and execute the script from the phone. The only other concern I can see is the wget package included with the script not being compatible with maverick, which doesn't seem likely.
Click to expand...
Click to collapse
The WGET I packaged in the .zip is the correct for Maverick along with all the files in the \bin directory are corrected to match our phone. If you can convert all this to a bash script, that would be awesome instead having to do each command via ADB Shell. The only problem I had with this is every time I tried to run the DPKG command on the .deb I downloaded manually, it threw up an error saying it could not find the file or destination.
On a side note, you are correct that we have 1.5gb partition opposed to their 700mb so we could honestly forget the part about creating a ubuntu.disk on the /data partition and modify the /osh directly for now until the time we need more space. After that, we can see if Sogarth will incorporate your script into his Webtop2sd app or we could make a 3gb ubuntu.disk on the /data partition since we have plenty of space there.
I'm gonna start working on rewriting the script linux native. My idea is to use a terminal emulator (they are free on the market) and run su script.sh and pray. I need to get a new microHDMI before I do this though, so I can test my results reliably.
Click to expand...
Click to collapse
Make sure you get the adapter as well to trigger Webtop cause at the moment our phone wont do webtop directly over HDMI without the HD Dock, Webtop adapter or Laptop dock. If you want to test the script out for now, hit me with the script and I will test it for ya
Ok, this goes out to any and all DEVs out there. We all know by now that we (some people not me) can run linux within android using the loop mounts, vnc viewer, etc... Now how about REPLACING android with a linux distro like debian or maybe even what these guys use http://openpandora.org/ ..... its linux based and has an arm CPU.. Any way I'm talking about flashing over android wiping the internal sorage and installing linux on it or even using the boot loader to flash over android???, of course this is getting rid of any 3g connection and phone usage. I understand that, I am talking about giving our RETIRED droid 1s a use. I wanna see my D1 run a linux distro in full hardware mode NO MORE ANDROID. now dont get me wrong I love android as much as the next guy, but why now flash something else to it???
Another link I found, this is for windows mobile but hey, similar idea.
http://wing-linux.sourceforge.net/trac/wiki/FAQ
P.S. I AM NOT A DEV JUST AN IDIOT WITH AN IDEA!! my ignorance is NOT bliss and I would love to know if this is even possible. I'm willing to help ANY WAY I CAN. lol
THANKS!!!
I don't think it's possible. Because of the locked bootloader we're forced to use Motorola's bug-ridden Kernel and as Android's Kernel is a heavily modified Linux Kernel it most likely won't run an ordinary Linux distro.
But I'm no expert either
Milestone is locked, Droid is not ...
Maybe this will help (if you don't know german, you can use Google Translate):
http://www.android-hilfe.de/anleitu...debian-chroot-mit-lxde-auf-dem-milestone.html
Thanks for the replies. Again the USA Droid 1 is nit locked or at least has been completely unlokcked. I've read a million "run debian on android" posts... I don't need to know German to see that the post above is the same thing. Like I said before I have NO INTEREST IN RUNNING LINUX ON ANDROID. I want TO REPLACE android completely with Linux to make a device like the openpandora handheld from my first link.
Any one up to the challenge????
Thanks again!
Really, no one??
I've been running Debian on my Droid booting from the SD card for a while, more recently trying Arch Linux after realizing that anything optimized for ARMv7, VFPv3, NEON, or Thumb-2 (I'm not sure which unfortunately) won't boot because of a page fault or something. Ubuntu, MeeGo, and Angstrom just kernel panic and don't give any useful information even at the highest debugging level. I'm back to using an ARMv5te Arch Linux build (http://archlinuxarm.org) although I could just as well use Debian. I really wish Ubuntu worked for multitouch.
Well, I got the touchscreen calibrated! I forgot that my screen rotation hack only rotated the framebuffer It's stuck in portrait for now. I decided to use mtev (MeeGo's multitouch X11 input driver) after being fed up with evdev's aversion to being rotated, but now that I'm back to the stock portrait rotation evdev should work fine.
If you want instructions, either PM me or wait until I post a full guide and/or my patched kernel tree. It's not super difficult, but it's a lot of command line use and compiling.
What works:
*CPU and SD card (obviously )
*Touchscreen (single touch/portrait only for now)
What needs work:
*Keyboard mapping is wrong, the number keys and symbols don't work. I need to figure out how Android handles Alt. I had to patch the GPIO keyboard driver because the keyboard worked in the console but not in X11, which expects EV_SYN.
*Sound is OSS only, but there is no mixer device, so aumix is useless and there's no volume control or sound output.
*I haven't tried the SGX driver, so I can't comment on hardware acceleration yet.
*Battery charging relies on battd, which is a proprietary Android binary from Motorola. It might run on Debian with "ls -s / /system" and the creation of the socket it expects (init.sholes.rc I believe), but I'm not getting my hopes up.
Untested:
*WiFi (needs firmware, but should work)
*Bluetooth
*Calls/data
*Sensors (although the accelerometer and compass seem to be recognized by evdev)
I'll upload my kernel, either as patches or on GitHub (or binaries if there's enough demand) once I get around to fixing the keyboard issue. Fingers crossed that I don't get carried away cleaning up the kernel, or worse yet, give up...
This is incredible news! I'm so glad to hear it. Of course you are running in hardware mode? Not through android? If so I'm super exited about this! I love arch Linux, I run it on all my computers and I understand it more than any other distro I've tried. I would love to give it a shot, though I'm not that great at compiling I think it will be worth it.
As I said before I am in no way a dev or even a Linux pro, but I can get by and if theres any way I can help this project become "complete" I'm willing to learn what ever is necessary to do so.
Also were u able to get an x server running? Possibly a DE? That would be crazy awesome.
Thanks a million, looking foreword to work with you and make this happen!
For anyone who's interested, I put together a quick package containing my kernel patches, configuration notes, and an automated kernel build script.
It's pretty self-explanatory aside from the installation of the root filesystem, which I leave up to your imagination
As I've probably repeated several times now, I've run Debian and Arch Linux natively on my Droid with my patched kernel (no chroot or VNC "hack"). With enough determination, it's possible to run practically anything on it - personally, I'm determined to get Ubuntu on it.
WOOT... insta-fail for me LOL you have it set up to work in specific directories? I thought i placed everything right but I guess not.. I got an error on the first line of output lol
Welcome to gTan64\'s lazy Droid kernel compiler\!
build.sh: line 5: [: missing `]'
build.sh: line 5: -z: command not found
build.sh: line 5: -z: command not found
Entering $WORK
Applying patches
build.sh: line 16: /*.patch: No such file or directory
mv: cannot stat `/arch/arm/boot/compressed': No such file or directory
cp: cannot stat `/compressed': No such file or directory
Setting up build
cp: cannot stat `/GNUmakefile': No such file or directory
cp: cannot stat `/sholes_config': No such file or directory
FIXME! No numeral or symbol input until someone finds a third-level
modifier key to use instead of AltGr for the keyboard.
cp $MISC/defkeymap.map $K_SRC/drivers/char
Building kernel!
make: *** No targets specified and no makefile found. Stop.
Kernel build done!
You have done something amazing, I'm just to stupid to figure it out my self. XD
I can understand why you would want ubuntu with all its pre-setup glory and support for nearly all hardware but dont you think its a little heavy for this hardware? lol I doubt you would try to use the Unity UI but I doubt that alone would even fit in ram LOL you could just use the ubuntu packages and drivers with debian maybe?
THANKS AGAIN!!!!
That's what happens when I don't test my own scripts
I was thinking too much about making it easy. Just try applying my patches to your tree manually.
Code:
cd kernel_src
patch -p1 <../patches/first.diff
patch -p1 <../patches/next.diff #and so on...
#Obviously, substitute the paths of the actual patches ;)
#Finally, copy sholes_config to .config and invoke 'make'.
It's actually much simpler than my script makes it, and you don't need my convoluted folder setup.
UM lol I cant find any patch files? are they in the ZIP? or do I have to obtain them elsewhere?
I can tell this is gonna be a hell of a project LOL
THANKS!!!
"Duh" moment - I used the .diff file extension instead of .patch
I'm such a scatterbrain... Remind me not to release anything before testing
EDIT: Strike that, reverse it. They're .patch files.
I AM BLIND lol I found them... BUT.. when I try to patch. terminal just seems to lock up... I press enter, the curser moves to the next line but it doesnt do anything. lol how long should 1 patch take?? its been about 10 minutes and I leave it be for now
EDIT:
LOL i forgot the "<" in the command OOPS but I'm not seeing any .config file or folder in the source to copy the sholes_config too. yes I have show hidden files on.. PS unfortatly usinf Fedora 15 gnome 2...... (on server so I can work on this anywhere through vnc )
THANKS
When I said "copy sholes_config to .config", that's literally what I meant. .config is the Linux kernel build configuration file, not a folder.
'cp /path/to/sholes_config .config' from your kernel tree should do it.
Oh, I forgot to mention that you need an ARM cross-compiler/toolchain. I use the gcc-arm-linux-gnueabi package in Ubuntu, but I don't know what the Arch equivalent is off the top of my head.
The "GNUmakefile" is just a convenience, it exports "ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-" before calling the actual makefile. If you don't have an ARM cross compiler in your path, it won't build at all. If you do, modify CROSS_COMPILE to point to it - on some systems it's called arm-unknown-linux-gnueabi, etc. etc.
Let me know if you get anywhere before it errors out.
OK I put the config file in the kernel_src but unfortainatly I'm using Fedora 15 XP I installed arm-gp2x-linux-gcc which is the fedora arm gcc I guess... lol so wha would I edit in the .config to make it point to arm-gp2x-linux-gcc. Its not my first attempt to compile an android kernel but I've never been succesfull LOLOL
thanks
I'm pretty sure that toolchain won't work - the GP2X was ARMv5 IIRC, so unless it's a newer build of GCC (4.3 or higher) and you're absolutely sure it supports the ARM EABI and the ability to generate ARMv7 instructions (which is unlikely if it's pre-4.1), I would recommend a newer toolchain.
CodeSourcery makes a pretty solid one: https://sourcery.mentor.com/sgpp/lite/arm/portal/release1803
If you end up using it, you can change the second line in GNUmakefile to "CROSS_COMPILE=arm-none-linux-gnueabi-". Don't worry about changing .config.
Well I DLed the linux/GNU installer and it gave me "arm-2011.03-41-arm-none-linux-gnueabi.bin" LOL
so I was thinking would it just be easier to just use my lappy with crunchbang (debian based) so I can follow ur instructions with deb / apt-get LOL fedora is a ***** and it dont have what I need... I cant find an arm v7 cross compiler for it
thanks
.bin files are the Linux equivalent of Windows EXE installers. Run it like this:
Code:
#cd /path/to/installer.bin
./installer.bin
#substitute the actual name, of course.
It needs root permissions if you want to install it to /usr/local (sudo ./installer.bin or su -c 'sh installer.bin'). You can also install it to /usr, but that will make it more tedious to uninstall later. If you decide to install it in your home folder - say ~/toolchain - you don't need root permissions, but you will need to add ~/toolchain/bin to your path:
Code:
export PATH=$PATH:$HOME/toolchain/bin
To be honest, I prefer Ubuntu to Fedora/OpenSUSE/$RPM_distro, so if you have access to a Debian or Ubuntu system, using that would make my life easier
Omg duh... the "non_Linux" part of the name true me off lol i'll start doing this on my laptop it's deb based crunchbang. I prefer anything over rpm distros too but it was a quick painless install on my server XP thanks ill try this when I get home
Sent from my DROIDX using XDA App