|Version 5 (modified by divx118, 2 years ago)|
For now it is still experimental and not meant for end users. So if you don't know what you are doing skip this and wait for something more end user friendly. The multi root will let you choose between multiple rootfs images at the startup from your archos. For now it uses the same kernel for your rootfs namely a modified archos android kernel. The final goal is to be able to use for example kexec, so it would also be possible to boot different kernels. Sources for the kernel and initramfs are available on gitorious.
Installing Multi Root on Gen8
First your have to install SDE from Archos After you installed SDE proceed.
Download the initramfs.cpio.gz and zImage from http://download.openaos.org/bubu/gen8/ NOTE: Builds can change and may not work at some moment
Connect your archos to your PC with the usb cable.
Go into recovery by holding down the "volume down" button and switch on your archos. Keep the button pressed until you see the white recovery menu. Goto "Recovery system" --> "Developer Edition Menu" --> "Flash Kernel and initramfs"
Copy the downloaded files to the archos and unmount safely.
When the boot-menu is started it will look for menu.lst on the internal storage of your archos. In menu.lst you will be able to define your boot menu. If it doesn't exists, it will create a default one for you with the following content.
For now it will expect your rootfs image files to be on the internal memory.
Currently known problems:
- No TS support on A70S, A70H, A101 inside the boot-menu
- TS support in boot-menu removed also from other models due to problems
- Disabled removing archos init, because of startup issues with original archos firmware. So you will have to start the boot menu by going into recovery and choose developer edition.
Just Download initramfs-debug.cpio.gz and rename it to initramfs.cpio.gz and flash it together with the zImage. If you now startup the bootmenu it will first ask you what kind of debugging connection.
- None (no debugging will be used)
- Serial (serial will be used)
- Ether (ethernet will be used)
- Both (serial and ethernet)
I you enable serial, you will see 3 connections available on your PC
dmesg | grep cdc_acm
You will get an output like this
[3365540.510632] cdc_acm 1-4:2.0: This device cannot do calls on its own. It is not a modem. [3365540.510749] cdc_acm 1-4:2.0: ttyACM0: USB ACM device [3365540.512000] cdc_acm 1-4:2.2: This device cannot do calls on its own. It is not a modem. [3365540.512277] cdc_acm 1-4:2.2: ttyACM1: USB ACM device [3365540.517070] cdc_acm 1-4:2.4: This device cannot do calls on its own. It is not a modem. [3365540.517222] cdc_acm 1-4:2.4: ttyACM2: USB ACM device
- /dev/ttyACM0 Not used in initramfs, but used for android console
- /dev/ttyACM1 Gives you a shell in initramfs
- /dev/ttyACM2 Output of kernel messages (/proc/kmsg)
Some programs to connect to serial
- Speed: 115200 (This can be set higher or lower, it shouldn't matter much. I use 115200)
- Data bits: 8
- Stop bits: 1
- Parity: none
- Flow Control: none
For unpacking and repacking the initramfs to make some quick changes look here http://dev.openaos.org/wiki/Gen8Resources#Unpackingandrepackinginitramfs.cpio.gz
Feel free to contribute more or make changes...