This is a wiki page and is being constantly improved, please link to the page, not a revision of it!
Please make sure you don't link to old versions of this page. If you came here via a link check if there is a revision number in the address bar. If so, go to the current version of this page
General Info
First of all, note these steps are 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 to come.
The "multi root" will let you choose between multiple rootfs images at the startup from your archos.
It uses the same kernel for your different rootfses, 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:
http://gitorious.org/archos-buildroots/gen8-kernel
http://gitorious.org/archos-buildroots/gen8
Installing Multi Root on Gen8
If you are running Windows!
- This is experimental software, not an upgrade of any kind. If you are looking for one, ask Archos, not us!
- When told to 'remove safely' you MUST ALWAYS safely remove the device, else it will NOT work. (missing zImage, initramfs or problems with starting the images are signs of this)
- If something doesn't work then please kindly turn to one of the Archos forum sites. We are not able handle Windows problems on the chat.
First you have to install SDE from Archos.
Don't worry, Archos provides instructions on how to install SDE. Once installed, you can proceed.
Download the initramfs.cpio.gz and zImage from http://www.openaos.org/wp-upload/gen8/2012-12-25/kernel_gen8_20121225_093548.tar.gz.
Unpack the archive (using 7zip/WinRar/"tar -zxvf"/…) and keep only initramfs.cpio.gz and zImage.
NOTE: Builds linked here can change and may have bugs
Connect your archos to your PC with the usb cable.
Shutdown your archos by holding down the power button. 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.
Go to "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.
Archos|ARCHOS|ARCHOS|/init|0 Angstrom||/rootfs.img|/sbin/init|1
Note the blank line at the end; it is required. Your rootfs image files are expected to be on the internal memory.
NOTE: If you for some reason use Windows; which is not recommended, using a Linux distro is much better; then don't use Notepad to edit the menu.lst, use Notepad++ instead.
In Notepad++ go to Edit ➔ EOL conversion ➔ Unix. If it is grayed out you are ok, else click on it to set end of line to unix. Line endings should be in unix, because parsing the menu.lst on boot will screw up.
Installing OSes (rootfs filesystems to install)
If you are willing to install Android 2.3 "Gingerbread", please head to the "Guidelines to install Gingerbread" wiki page.
Note: At the moment these images are far from being functional to an end user
| Name: | Download: | Sources: | How to build your own: | How to install: |
| openAOS-Cyanogenmod (current: Degu) | http://www.openaos.org/wp-upload/gen8/2013-01-27/ | https://gitorious.org/openaos-cyanogenmod | Setting up buildenvironment Cyanogenmod gen7/gen8 | Guidelines to install Gingerbread |
| Debian LXDE | http://www.openaos.org/wp-upload/gen8/debian/ | Debian gen8 | Debian gen8 |
Currently known problems:
- No touchscreen support in the boot-menu
- 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.
- On Android, the on-touchscreen buttons of the Archos 24 and 32 won't work
More info on multiroot Bootmenu
See Multiroot Bootmenu Explained
If you are not a developer or not willing to debug and build things, consider this sentence as the end of the wiki page.
Debugging
Just Download initramfs-debug.cpio.gz and rename it to initramfs.cpio.gz and flash it together with the zImage. Leave the USB cable connected to your archos, it will be your serial connection.
Note: You can also use the normal initramfs.cpio.gz and choose Advanced menu ➔ Debugging to go to the serial menu. In the debug version it will boot straight to the serial menu.
Upon startup the bootmenu will ask for a type of debugging connection:
- None (no debugging)
- Serial (serial will be used)
- Ether (ethernet will be used)
- Both (serial and ethernet)
If you enable serial, you will see 3 connections available on your PC
On Ubuntu:
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:
- minicom
- screen
- putty
Connection info:
- 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
How to use minicom:
Start your archos and choose serial in the first menu to enable it. It now boots to the main bootmenu.
Start your shell by entering the following on your pc:
$ minicom -D /dev/ttyACM1
Show kernel messages output by entering the following on your PC after the command choose on your archos the rootfs you want to start:
$ minicom -D /dev/ttyACM2
Building your own kernel from the openaos git source
This will build a GCC crosscompiler. At the very end, zImage should be located in buildroot/linux/arch/arm/boot.
$ git clone https://git.gitorious.org/archos-buildroots/gen8.git $ cd gen8 $ git clone https://git.gitorious.org/archos-buildroots/gen8-kernel.git linux $ cd buildroot $ make (or make kernel should only build the zImage and crosscompiler)
When done with building the kernel you can build initramfs.cpio.gz
$ cd gen8 $ make dist
Everything including the zImage will be in openaos/target it will also create the md5sum files for you. As a bonus there is the modules tarball as well.
Note: See that you have all the dependencies installed. Below are the dependencies needed for Ubuntu 10.04. That should give you a good starting point for other distros.
sudo aptitude install autoconf automake bison build-essential cmake flex gawk gperf intltool libbz2-dev libcap-dev libglib2.0-dev libxml-simple-perl libxml2-dev lzma m4 rpm subversion texinfo x11-xkb-utils xmlto zlib1g-dev ncurses-dev expect libtool libmpfr-dev libgmp3-dev libgphoto2-2-dev
Other usefull links for developers
- How to repack initramfs
- How to make custom splash image
- FBmenu bootmenu
- Unpacking original archos firmware
Feel free to contribute more or make changes...
Attachments
-
minicom_shell.png
(105.6 KB) - added by divx118
2 years ago.
-
minicom_shell.2.png
(121.5 KB) - added by divx118
2 years ago.


