Hi! I'm looking for a way to modify boot mechanism on my xoom to make it able to pick up any boot setup from SD automatically.
Currently I'm able to boot into linux console of debian installed on SD cart, but for that I must always keep a initrd snapshot in boot.img and as you understand this is not the best way of playing around with setup.
In the end I want to make it able to boot from LiveCD image made on SD card or USB drive just like you boot up from Live CD on a PC platform.
I understand that there's no such solution, so I'm looking for advices and nice articles that could help me in that.
One important thing: I don't want to keep a mini linux kernel in boot.img and then chroot to other environment, system must be as much independent as possible (in case, let's say I'll try to boot... in Windows XPE or such)
Looks like you've done some interesting things with your xoom, maybe you could post some details of what you've done so far and how you accomplished it so others could have a mess including me.
Try taking a look at the nook color development pages. The nook by default boots from SD, and they also have a dual boot option developed.
Related
Hi,
I know there's already a thread about Ubuntu, but I ran across this, and it looks a little different:
http://forum.xda-developers.com/showthread.php?p=10306407#post10306407
It looks like, instead of replacing the Nook Color ROM, they're booting Ubuntu from the (external, I think) sdcard.
Would it be possible to do something like this with the Gtab? If it is, maybe we could have an Android/Ubuntu dual boot?
Jim
http://nexusonehacks.net/nexus-one-hacks/how-to-install-ubuntu-on-your-nexus-oneandroid/
The above is the based info on this. It looks like, basically, they run Ubuntu under chroot (in a jail).
This seems like it'd be cool, on a Gtab!
Jim
jimcpl said:
http://nexusonehacks.net/nexus-one-hacks/how-to-install-ubuntu-on-your-nexus-oneandroid/
The above is the based info on this. It looks like, basically, they run Ubuntu under chroot (in a jail).
This seems like it'd be cool, on a Gtab!
Jim
Click to expand...
Click to collapse
Would it be fast like that? I used to run Android on an sd card on my old HTC Titan phone. It was slower than Molasses in winter.. Would be neat if it could be done, and was still fast.
Sprdtyf350 said:
Would it be fast like that? I used to run Android on an sd card on my old HTC Titan phone. It was slower than Molasses in winter.. Would be neat if it could be done, and was still fast.
Click to expand...
Click to collapse
Hi,
I don't know the answer to your question, but we run stuff under chroot all the time (mainly things like Apache httpd) for security reasons, and running under chroot doesn't add overhead. It's not like it's running a VM/hypervisor. Rather, chroot just isolates the app (in this case, Ubuntu) from "seeing" the rest of the system, so I think that if it could be done, the Ubuntu "instance" would run at native speed. Again, this would be more like a dual-boot configuration, rather than a VM type situation.
If you read through the 2nd link, it's kind of neat the way they did this, i.e., they got just a command line Ubuntu going first, then they used apt-get to bring in the X stuff on top of that, kind of like bootstrapping, at a little higher level. Also, similar to how the earlier versions of Windows worked, i.e., basically you'd boot to DOS (yikes !) then start Windows from there.
Jim
i want this soooooo bad.....
When I have some time, I wouldn't mind trying to get something like this working on Gtab, but at this point, I'd (we'd) need some guidance.
For example, would we need our own img file for the Gtab, or could we use the one that was linked on those sites? Those are, I guess, for Nexus One and for EVO, so the native code would be for Snapdragon. Would those work on the Gtab, which is Tegra 2?
I originally hesitated posting this in the Development forum, but maybe it should be. I don't know ...
Jim
There is an ubuntu image that runs on the external micro-sd card. You have to change the boot loader to run it. Right now you have to have an external mouse and keyboard.
http://forum.xda-developers.com/showthread.php?t=894960
It does not modify the internal storage so you can restore a boot image from Clockwork and boot back into android.
NMCBR600 said:
There is an ubuntu image that runs on the external micro-sd card. You have to change the boot loader to run it. Right now you have to have an external mouse and keyboard.
http://forum.xda-developers.com/showthread.php?t=894960
It does not modify the internal storage so you can restore a boot image from Clockwork and boot back into android.
Click to expand...
Click to collapse
Hi,
I read through some of that thread for awhile now (not too closely), but I had the impression that the Ubuntu in that thread replaced the normal Gtab ROM?
So, is the only thing that gets replaced on /sdcard the boot image? If that's the case, then it wouldn't allow a dual boot, without using CW and restoring the appropriate boot image?
Sorry, not arguing, but just trying to understand...
Jim
It uses a custom boot image to load ubuntu from the micro sd card. It will not boot android. You have to reflash the boot image to boot back into android. There is a post in that thread (#57) where a dual boot capable boot image is being asked for.
NMCBR600 said:
It uses a custom boot image to load ubuntu from the micro sd card. It will not boot android. You have to reflash the boot image to boot back into android. There is a post in that thread (#57) where a dual boot capable boot image is being asked for.
Click to expand...
Click to collapse
I think I remember that "request" in that thread ...
I guess that the nice thing about the approach at the beginning of this thread, if it could be possible, would be both runnable "images" (the Gtab/Android and the Ubuntu) would exist (but not run) simultaneously, the former on the internal SDCARD, and the latter on the external microSD card...
Jim
ext2 support?
Hi,
I've been reviewing the shell scripts that are used for this (downloaded from the link from the original NC thread), and it looks like almost everything would be ok, except:
- It looks like the ubuntu.img file is an image with an ext2 fs on it (they do a loop mount on it). I tried "busybox modprobe ext2" on my Gtab (stock TNT 3452), and it looks like it doesn't have the .so or whatever to support ext2. Does anyone know if it's possible to get ext2 support on the Gtab?
- I was hoping to at least try the mount, to see what's there, but since I can't, I'm still assuming that the ubuntu.img was compiled for the NC, so I'm still wondering if I could get it mounted, if the code in there would work? According to:
http://www.engadget.com/2010/10/28/nook-color-processor-revealed-arm-cortex-a8-based-ti-omap3621/
it's an "ARM Cortex A8", whereas the Gtab uses a Tegra 2, which I guess is an ARMV7?
Thanks,
Jim
jimcpl said:
Hi,
I've been reviewing the shell scripts that are used for this (downloaded from the link from the original NC thread), and it looks like almost everything would be ok, except:
- It looks like the ubuntu.img file is an image with an ext2 fs on it (they do a loop mount on it). I tried "busybox modprobe ext2" on my Gtab (stock TNT 3452), and it looks like it doesn't have the .so or whatever to support ext2. Does anyone know if it's possible to get ext2 support on the Gtab?
- I was hoping to at least try the mount, to see what's there, but since I can't, I'm still assuming that the ubuntu.img was compiled for the NC, so I'm still wondering if I could get it mounted, if the code in there would work? According to:
http://www.engadget.com/2010/10/28/nook-color-processor-revealed-arm-cortex-a8-based-ti-omap3621/
it's an "ARM Cortex A8", whereas the Gtab uses a Tegra 2, which I guess is an ARMV7?
Thanks,
Jim
Click to expand...
Click to collapse
if i remember correctly it's an arm 9 that shows up as a 7....
This is a simple guide how to install openSUSE chroot on your MicroSD card and use it
What do you need? You'll need armv7 device (for example ASUS Transformer ;-) ). But even my old Nexus One is armv7, so this guide is a little bit more general.
Now a little bit of requirements on Android system itself. You'll need root on your device and you'll need decent enough busybox. Both of that is usually part of unofficial ROMs. There might be some differences and some troubles, but let's be optimistic.
I would say that best way to install openSUSE is to repartition your MicroSD card. In Tranformer, you can keep it always inside tablet no matter whether you have dock connected or not.
Let's start repartitioning. I would suggest to take your card out of your device, put it into card reader and repartition it in your computer, where you can use nice tools like gparted. Create one ext4 partition that will hold your root. I would recommend to create it as your second partition. Some programs (like recovery programs) expects first partition to be FAT, so you'll run into some troubles otherwise. Create your partition as big as you want, but my recommendation would be at least 1G. Depending on what do you plan on doing, it can be more (mine is 5G).
So I hope that you created partition successfully by yourselves, now it's time to get openSUSE for your device. Where to get that? On openSUSE download servers. What you want to get is file starting with LimeJeOS-openSUSE-Factory-ARM-rootfs.armv7l and ending with -tbz.tar.bz2. These images gets rebuild automatically, so the part that I left out changes over the time as you get newer and newer versions ;-) But don't worry, you can use zypper to upgrade too ;-)
Lets put it on the card. Tarball you just downloaded actually contains another tarball and checksum. I know, not fun, but no big deal either. So get to the inner tarball, mount second partition of of your sdcard and unpack the inner tarball to it. Unpack it as a root! This can be important as as ordinary user you might not have the rights to create some files and some rights might get dropped in the process. This may result in not working system. So do the unpacking as a root. Just a hint how to do it in command line (might need some paths adjustements according to your system):
Code:
tar -C /mnt/sdcard-ext2 -xjf /home/user/download/Lime*.tbz
In the end, you should see some directories like bin and etc directly on this partition. If you do so, you are almost ready!
Now generaly the hard part, but easy if you have Transfomer and if you are putting openSUSE on your MicroSD card as I told you. Take this script and if needed adjust it. If you put openSUSE on second partition of your MicroSD, you are ready to go, otherwise you need to change DEVICE variable to point to the correct partition.
Now run the script in the terminal. It will put you inside openSUSE basic chroot. You can look around, there is not much of software in the beginning, but you can use zypper to install everything you need ;-)
Enjoy openSUSE on Transformer! As always, if you have no idea what are you doing, you can damage your device and I take no responsibility for any damage. If you run into some troubles, drop by on opensuse IRC channel #opensuse-arm on Freenode and there are people willing to help. You can find me there as well, my nick is |miska|. Oh, and one last think, root and user password is 'linux' ;-)
Hi xda-dev forum,
Hopefully, this thread is appropriate for this forum, if not please advise as to a better place to post this question.
I've got a tab2 10.1, i'm rooted and running CM9 with Clockworkmod Recovery. I've experimented with running a full linux distro in a chrooted environment, and it seems to work alright. What I'd like to do now is install debian to an external sd card and optionally boot from the external drive rather than the internal one.
So far, I haven't found any threads discussing this, but please point me to resources if you know of any. Alternatively, we can create a resource here if people are interested in discussing this further in this forum.
Many thanks in advance.
That would be great! You can boot from SD on the nook color. I ran all kinds of different things on it.
If you find a way will you share the disk image?
So far, I havent found an easy way. Ive got a debian binary file system, can chroot into it, have connected to an x11 desktop with metacity and/or icewm over vnc with no problem.
Seems like I should be able to pass a rootfs=/path/to/extsdcard/ to the bootloader command that calls the kernel. I think the android kernel I have on internal sd should be fine to control processor and interface with hardware, I just want to point to external sd as rootfs when the kernal starts. Then, when the kernel finishes, it would call the /sys/init on external sd and Id be running debian natively (armel binaries) on the tab.
Alas, seems the clockworkmod recovery boot doesnt have configurable menu options (like grub, menu.lst), so I guess I can compile my own bootloader (possibly customize clockworkmod or android_bootloader) or try to use fastboot.
fastboot offers pointing the kernel to an arbitrary rootfs, but I havent gotten the p5113 into fastboot mode. Least not yet.
That's all I know for now. I'd love any advice from the experts.
If nobody here can help, for example confirming the info in my last post, making a suggestion, etc, then I wonder if there's another forum that someone can recommend.
Any help?
I'm pretty sure none of the Tab 2's have fastboot mode.
Ok, so, I want to dual boot ubuntu and android but:
I do not want to change my current partition layout (and lose all my data)
I don't want to touch the current android install AT ALL
I would like to run ubuntu from my SD Card
I would like to run ubuntu from an Image (img file) on my sd card
I would like to press vol down and power at boot to boot to ubuntu
I am rooted, I have (what the sbkcheck says) SBKv1
One more thing.
Why don't we have an SL101 forum?
I believe there is a pseudo-dual boot for our device where you could run Ubuntu from SD card. But if I remember correctly, each time you want to switch operating systems, you have to flash a different kernel. I'm not entirely sure though, I'll keep looking for the post.
Even though you have SBK1, SBK differs per device. Meaning Nvflash still isn't available to us yet.
Also, SL101 doesn't have a forum because frankly there aren't enough users. Plus the device is so similar to the TF101 and some ROMs run fine on both.
Solar.Plexus said:
I believe there is a pseudo-dual boot for our device where you could run Ubuntu from SD card. But if I remember correctly, each time you want to switch operating systems, you have to flash a different kernel. I'm not entirely sure though, I'll keep looking for the post.
Even though you have SBK1, SBK differs per device. Meaning Nvflash still isn't available to us yet.
Also, SL101 doesn't have a forum because frankly there aren't enough users. Plus the device is so similar to the TF101 and some ROMs run fine on both.
Click to expand...
Click to collapse
I remember seeing a way to flash the recovery partition with something that allowed you to press vol down and power to boot to ubuntu, using the SDcard as / .. basically i'd like that type of setup only with an .img file on the sdcard instead of using the raw sdcard.
I unlocked my boot loader and have not yet found where I can boot from a SD card or usb thumb drive...
I want this as a step towards partitioning and dual boot option...
I have the 64gig infinity, I want to install 10.4 Ubuntu, or more modern mint, or...
Any words of help, how to get this infinity to stop and notice my usb thumb as a boot option?
THANKS
koko
kokoPedli said:
I unlocked my boot loader and have not yet found where I can boot from a SD card or usb thumb drive...
I want this as a step towards partitioning and dual boot option...
Click to expand...
Click to collapse
Unlocking the bootloader only allows you to install and boot unsigned recoveries and kernels. Little is known how to reconfigure the bootloader - I have never seen a thread here how to do it. However I know some of the theory behind it:
Tegra devices use a proprietary partition table. On some devices, like our TF700, this partition table is even encrypted with a device-specific key, same as the bootloader itself. This is the partition table with the 3-letter partition names like BCT, PT, SOS, LNX, etc. It is used for the bootloader's blob flashing feature, and for NVFlash.
The Linux kernel on the TF700 (also on the TF101) uses a standard GPT, which is located at the end of the eMMC. This partition table does not contain some of the hidden partitions, in particular the boot partitions that contain recovery and kernel are invisible.
I think your safest bet is to use the same kernel for both Android and your Linux distribution, like rabits did, or try to use kexec.
> The Linux kernel on the TF700 (also on the TF101) uses a standard GPT, which is located at the end of the eMMC. This partition table does not contain some of the hidden partitions, in particular the boot partitions that contain recovery and kernel are invisible.
> I think your safest bet is to use the same kernel for both Android and your Linux distribution, like rabits did, or try to use kexec.[/QUOTE]
Thanks for responding! I appreciate it =)
And I wish I knew enough to try what you suggest, but I do not...
I got this infinity for 2 reasons, one was the hardware looked great to turn it into a linux box, the other was to use the speech to text function...
I was told by the sales guy that function worked fine out of wifi range... I guess he must have had a cell version od android, as I get nothing out of wifi range. Now I wish I had never gotten this, or at least never unlocked it with the asus unlocker so I could return it!
oh well, live and learn, I guess someone will still give me SOMETHING for it.
Unless someone else here tells me how to run non-android version of linux on this box ? Please ?!?
Read the Ubuntu thread from rabits.