ok, i am in ;-)
Maybe I can also tell you the reason why you didn't manage to get root with adb: maybe you didn't install "superuser" from the market (i did). Anyway if you install it, when you type "su" on adb you need to unlock your screen and allow the privileges for adb (you will see a popup).
I also read your post on androlinux, but I didn't try it yet...could you explain me the remaining passages please?
thank you very much
You are right, I didn't install "superuser" but since I had already rooted my phone and installed sshd, I was able just to ssh in as root.
OK, there isn't all that much more to it. I decided, in the interests of saving space, to install ubuntu onto my SD card and the changes I made to the bootubuntu script reflect that.
All you need to do in addition to the process as described in my link is to replace the file bootubuntu with my amended version BEFORE you run the ubuntu.sh script.
This is what it looks like:
Code:
#modprobe ext2
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
export kit=/sdcard/external_sd/ubuntu
export bin=/system/bin
if ! test -d /data/local/ubuntu
then
mkdir /data/local/ubuntu
fi
export mnt=/data/local/ubuntu
export PATH=$bin:/usr/bin:/usr/sbin:/bin:$PATH
export TERM=linux
export HOME=/root
#mknod /dev/loop1 b 7 0
losetup /dev/block/loop7 /sdcard/external_sd/ubuntu/ubuntu.img
mount -t ext2 /dev/block/loop7 /data/local/ubuntu
#mount -o loop,noatime -t ext2 $kit/ubuntu.img $mnt
mount -o bind /proc $mnt/proc
mount -o bind /dev $mnt/dev
mount -t devpts devpts $mnt/dev/pts
mount -t proc proc $mnt/proc
mount -t sysfs sysfs $mnt/sys
sysctl -w net.ipv4.ip_forward=1
echo "Setting /etc/resolv.conf to Google Open DNS 8.8.8.8 and 8.8.4.4"
echo "nameserver 8.8.8.8" > $mnt/etc/resolv.conf
echo "nameserver 8.8.4.4" >> $mnt/etc/resolv.conf
echo "Setting localhost on /etc/hosts "
echo "127.0.0.1 localhost" > $mnt/etc/hosts
echo "READY TO ROCK AND ROLL BABY! "
echo "Brought to you by NexusOneHacks.net and the open source community! "
echo " "
chroot $mnt /bin/bash
#After exit command is executed clear it all up
echo " "
echo "Shutting down Ubuntu"
umount $mnt/dev/pts
umount $mnt/proc
umount $mnt/sys
umount $mnt
losetup -d /dev/block/loop7
The changes I made (and feel free to compare the two scripts yourself) were these:
1. comment out the mknod line as there was already a usable loop device
2. insert "external_sd/" into all the paths so that they pointed to the SD card
3. use loop7 rather than loop1 (which was already in use)
4. insert the two "mount -o bind..." lines, these should have been in the script already so that /proc and /dev were properly accessible after the chroot, I probably should have had one for /sys as well now that I think about it
5. My phone barfed on the if [ ! -d ...] syntax so I changed it slightly so it does the same thing but with different syntax
The version of ubuntu in ubuntu.img is rather old (Karmic). However, there is a link on that page explaining how to create a new image. The instructions worked first time with no changes on a Maverick system and Natty system. I am using the latest and although I haven't tested it a great deal (so many other things to play with on my snazzy new phone) it seems to work very well. If you don't already have a computer running ubuntu, you will struggle to do this bit and you'll have to resort to a VM or a live CD.
I cannot promise to be able to fix any problem you have but I am an old hand at Unix since long before Linux was even thought of and I have been with Linux almost since its birth so I should be able to help.
The usual warnings apply so if you manage to bugger up your phone, it's not my fault but I cannot really see how you could do that with this process. It adds to what's there already but changes nothing else so it should be completely safe.
Oh, the last thing was that I kept getting Permission denied errors running scripts so just:
rather than just
if this happens to you.
Have fun.