Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,742,816 Members 39,030 Now Online
XDA Developers Android and Mobile Development Forum

[Dev] Kboot release (Stable), boot multiple kernel/os

Tip us?
 
alephzain
Old
(Last edited by alephzain; 16th March 2012 at 10:30 PM.)
#1  
alephzain's Avatar
Senior Member - OP
Thanks Meter 1997
Posts: 117
Join Date: Sep 2010

 
DONATE TO ME
Post [Dev] Kboot release (Stable), boot multiple kernel/os

Hi,

Here a release of kboot.
Kboot permit to boot multiple os with different kernel.

It's based on a buildroot environment.
The source to make your own kboot filesystem are available here
The kernel source are available here

You can download the install archive :

ARCHIVE VERSIONS
  • 0.0. Unstable release. Freeze bug. Install release ARCHIVE (Obsolete)
  • 0.1. Fix freeze. Python bytecode generation (pyc files) is naturally not friend with squashfs. Install release ARCHIVE (Obsolete)
  • 0.2. STABLE Release. Display timeout, migration from squashfs to initramfs. Install release ARCHIVE
The archive looks like :
  • zImage and initramfs.cpio.gz to flash in SDE menu
  • a directory kboot which contain:
    • conf directory : configuration file
    • os directory : os to boot
    • images directory : background menu image

Installation
  1. Kboot directory
    Copy the kboot directory on your archos in /mnt/storage/, you should have this path /mnt/storage/kboot. The path should be exactly the same otherwise kboot will not be launched
  2. Flash zImage and initramfs.cpio.gz
    Follow this link to setup SDE on your archos http://forum.xda-developers.com/showthread.php?t=930197
  3. After Reboot
    You should have the following screen. Note: after installing Kboot the device permanently reboot in Kboot.



    The main menu will display the os put in os directory (see in Configuration OS boot menu to see how to include your os), advanced menu and halt.
Boot menu
  1. OS boot menu
    I have tried to make things simple. To add an OS, all you need is to create a directory in /mnt/storage/kboot/os/ and put in this newly created directory the files zImage and initramfs.cpio.gz.
    Important, the name should be exactly zImage and initramfs.cpio.gz, if one file is missing or misnamed the menu item don't appear
    For example, the menu above have the following content in /mnt/storage/kboot/os :
    Code:
    Select Code
    /mnt/storage/kboot/os/Android Froyo:
    drwxrwxrwx    2 2000     2000         4096 Feb 27 23:42 .
    drwxrwxrwx    5 2000     2000         4096 Feb 28 15:02 ..
    -rw-rw-rw-    1 2000     2000       726520 Feb 27 23:39 initramfs.cpio.gz
    -rw-rw-rw-    1 2000     2000      2564460 Feb 27 23:39 zImage
    
    /mnt/storage/kboot/os/Android Honeycomb:
    drwxrwxrwx    2 2000     2000         4096 Feb 27 16:46 .
    drwxrwxrwx    5 2000     2000         4096 Feb 28 15:02 ..
    -rw-rw-rw-    1 2000     2000            0 Feb 27 13:42 initramfs.cpio.gz
    -rw-rw-rw-    1 2000     2000            0 Feb 27 13:42 zImage
    
    /mnt/storage/kboot/os/UrukDroid 1.6:
    drwxrwxrwx    2 2000     2000         4096 Feb 28 15:03 .
    drwxrwxrwx    5 2000     2000         4096 Feb 28 15:02 ..
    -rw-rw-rw-    1 2000     2000      2874800 Jan  3 19:41 initramfs.cpio.gz
    -rw-rw-rw-    1 2000     2000      2302252 Jan  3 19:26 zImage
    Note : for specific kernel you can add a file named cmdline containing kernel parameters
  2. Advanced boot menu
    • Boot init : boot into android, if android kernel was uninstalled, this item didn't appear
    • Boot recovery : boot into recovery

    • Soft boot : For details about omap soft reboot see the discussion here

Configuration
There is a configuration file in kboot/conf directory named config.ini. This file is divided into 3 section
  • init
    • telnet : 1 to enable telnet, 0 to disable
    • usbip : set the ip address of usb ethernet interface
    Code:
    Select Code
    [init]
    telnet = 1
    usbip = 192.168.10.1
  • kboot
    • last_selection : enable (1) or disable (0) the boot by default of the last selectioned entry after a configured timeout
    • last_selection_timeout : timeout in second
    • softboot : enable or disable softboot menu
    • title_font_size : set the title font size
    • menu_font_size : set the menu font size
    • title_color : title color in r,g,b format
    • menu_item_color : menu unselected color in r,g,b format
    • menu_item_selected_color : menu selected color in r,g,b format
    Code:
    Select Code
    [kboot]
    # boot last selection if no key pressed after 30 seconds
    last_selection = 1
    last_selection_timeout = 30
    # enable soft boot menu (bootloader dev only)
    softboot = 1
    
    # some tuning
    title_font_size = 36
    menu_font_size = 32
    # change the color, R,G,B format
    title_color = 255,255,255
    menu_item_color = 92,97,98
    menu_item_selected_color = 0,0,255
  • softboot
    • item<n> : the boot sequence wanted
    Code:
    Select Code
    [softboot]
    # put a list of items to display in Soft boot menu
    # item<n> = sequence
    item1 = uart,usb,mmc1,mmc2
    item2 = uart,usb
    item3 = mmc1,mmc2
  • background image
    To customize the background image, just replace the file kboot/images/bkg.png with your own and adapt if necessary the size and the font color.
BUGS
Feedbacks are welcome
The Following 6 Users Say Thank You to alephzain For This Useful Post: [ Click to Expand ]
 
chrulri
Old
#2  
chrulri's Avatar
Senior Member
Thanks Meter 275
Posts: 896
Join Date: Dec 2010

 
DONATE TO ME
Cool stuff bro!
 
fzelle
Old
#3  
Senior Member
Thanks Meter 97
Posts: 810
Join Date: Mar 2006
Unfortunately it's not working on the A70S, as we only have 800x480 and therefor need a diff picture.
 
MarsCarmen
Old
(Last edited by MarsCarmen; 29th February 2012 at 05:29 AM.)
#4  
Junior Member
Thanks Meter 0
Posts: 11
Join Date: Aug 2010
Location: Shenyang
It seems to be good.I have tested it on my A101 and it can boot both openaos and urukdroid.
Thanks.
EDIT:Sorry, Urukdroid cannot boot.It stay at the boot animationan and always show that.
 
alephzain
Old
#5  
alephzain's Avatar
Senior Member - OP
Thanks Meter 1997
Posts: 117
Join Date: Sep 2010

 
DONATE TO ME
Quote:
Originally Posted by fzelle View Post
Unfortunately it's not working on the A70S, as we only have 800x480 and therefor need a diff picture.
As an early release I didn't take the time to put the different resolution. The background image have a 1500x1200 resolution, so on 101 it didn't display right too. However kboot adapt resolution for corresponding board. kboot didn't boot on 70s or display wrong the background image ?

Quote:
Originally Posted by MarsCarmen View Post
EDIT:Sorry, Urukdroid cannot boot.It stay at the boot animationan and always show that.
I have to test urukdroid on mine.
 
fzelle
Old
#6  
Senior Member
Thanks Meter 97
Posts: 810
Join Date: Mar 2006
The menu is not readable because the resolution adaption is not doing what it should do.
Attached Thumbnails
Click image for larger version

Name:	kboot.jpg
Views:	505
Size:	15.9 KB
ID:	924871  
 
alephzain
Old
#7  
alephzain's Avatar
Senior Member - OP
Thanks Meter 1997
Posts: 117
Join Date: Sep 2010

 
DONATE TO ME
Quote:
Originally Posted by fzelle View Post
The menu is not readable because the resolution adaption is not doing what it should do.
I have uploaded a new archive here.
Replace rootfs.squashfs with the new one. Fixed : resolution was wrong for 70S and 70H*.
The zImage in new archive should be flashed, it seems to fix the random freeze.
 
MarsCarmen
Old
#8  
Junior Member
Thanks Meter 0
Posts: 11
Join Date: Aug 2010
Location: Shenyang
Quote:
Originally Posted by MarsCarmen View Post
EDIT:Sorry, Urukdroid cannot boot.It stay at the boot animationan and always show that.
I have to say sorry again that Kboot can boot Urukdroid properly.It was because I copied my backup file to my archos by using MY PC.That is why I cannot boot urukdroid.Maybe I didn't find the real cause. I'm now using Kboot to boot Urukdroid and Openaos.
Really very well!!
Sorry For My Bad English
 
fzelle
Old
#9  
Senior Member
Thanks Meter 97
Posts: 810
Join Date: Mar 2006
@alephzain:
Copied the whole kboot dir and flashed the new initrams and zimage.
Looks still as before.
 
alephzain
Old
#10  
alephzain's Avatar
Senior Member - OP
Thanks Meter 1997
Posts: 117
Join Date: Sep 2010

 
DONATE TO ME
Quote:
Originally Posted by fzelle View Post
@alephzain:
Copied the whole kboot dir and flashed the new initrams and zimage.
Looks still as before.
. Kernel natively support usb gadget ethernet, when kboot is launched a telnetd is started, an interface usb0 is configured with ip address 192.168.10.1.
if you are on linux it should automatically detect this and on your pc an ifconfig let appear usb0 interface. On your pc type :
Code:
Select Code
ifconfig usb0 192.168.10.2 netmask 255.255.255.0 up
telnet -l root 192.168.10.1
.

If you can paste a ps output, to see if it detect you board correctly.

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes