• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

Xperia Boot Menu v1.0

Search This thread

munjeni

Senior Member
Jun 2, 2011
9,455
22,048
Xperia Boot Menu v1.0

Disclaimer:
- Me (munjeni) is not responsible for anything related to the our project, you using our project on your own risk! If you no want to risk than don't play with Boot Menu! You can play with Boot Menu but on your own risk!



Feature:
- multiboot based on kexec
- posibility for defining: menu title, path to the kernel, path to the ramdisk, kernel cmdline
- posibility for defining max 10 menus
- autoreboot to the first kernel if menu is not moved (stop timer on menu move)
- graphic timer :)

Instructions:
- create folder "bootmenu", add settings.ini to these folder, modify settings.ini for your needs
- flash bootmenu using fastboot command (fastboot flash boot recovery.img)
- since internal sdcard is only supported by now, you can define only kernel and ramdisk from internal sdcard path! Make sure you define right path and make sure create folders in bootmenu on your internal sdcard
- make sure settings.ini is in internal sdcard in folder bootmenu!!!
- kexec can boot only kexec patched kernels, so your kernel need to have kexec patch!!! Complete kexec patch you can find on my git!


Simple settings.ini (example):
[rom-1]
menutitle=recovery touch white
kernel=/sdcard/bootmenu/examplerom/zImage
ramdisk=/sdcard/bootmenu/examplerom/initrd.gz
cmdline=cachepolicy=writealloc noinitrd init=init board_id=1 logo.nologo root=/dev/ram0 rw rootwait console=null androidboot.console=null androidboot.hardware=st-ericsson [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] mpcore_wdt.mpcore_margin=359 end lpj=24019
# [rom-2]
# menutitle=recovery touch black
# kernel=/sdcard/bootmenu/zImage
# ramdisk=/sdcard/bootmenu/initrd.gz
# cmdline=cachepolicy=writealloc noinitrd init=init board_id=1 logo.nologo root=/dev/ram0 rw rootwait console=null androidboot.console=null androidboot.hardware=st-ericsson [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] mpcore_wdt.mpcore_margin=359 end lpj=24019
# [rom-3]
# menutitle=recovery touch black
# kernel=/sdcard/bootmenu/zImage
# ramdisk=/sdcard/bootmenu/initrd.gz
# cmdline=cachepolicy=writealloc noinitrd init=init board_id=1 logo.nologo root=/dev/ram0 rw rootwait console=null androidboot.console=null androidboot.hardware=st-ericsson [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] mpcore_wdt.mpcore_margin=359 end lpj=24019
# [rom-4]
# menutitle=recovery touch black
# kernel=/sdcard/bootmenu/zImage
# ramdisk=/sdcard/bootmenu/initrd.gz
# cmdline=cachepolicy=writealloc noinitrd init=init board_id=1 logo.nologo root=/dev/ram0 rw rootwait console=null androidboot.console=null androidboot.hardware=st-ericsson [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] mpcore_wdt.mpcore_margin=359 end lpj=24019
# [rom-5]
# menutitle=recovery touch black
# kernel=/sdcard/bootmenu/zImage
# ramdisk=/sdcard/bootmenu/initrd.gz
# cmdline=cachepolicy=writealloc noinitrd init=init board_id=1 logo.nologo root=/dev/ram0 rw rootwait console=null androidboot.console=null androidboot.hardware=st-ericsson [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] mpcore_wdt.mpcore_margin=359 end lpj=24019
# [rom-6]
# menutitle=recovery touch black
# kernel=/sdcard/bootmenu/zImage
# ramdisk=/sdcard/bootmenu/initrd.gz
# cmdline=cachepolicy=writealloc noinitrd init=init board_id=1 logo.nologo root=/dev/ram0 rw rootwait console=null androidboot.console=null androidboot.hardware=st-ericsson [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] mpcore_wdt.mpcore_margin=359 end lpj=24019
# [rom-7]
# menutitle=recovery touch black
# kernel=/sdcard/bootmenu/zImage
# ramdisk=/sdcard/bootmenu/initrd.gz
# cmdline=cachepolicy=writealloc noinitrd init=init board_id=1 logo.nologo root=/dev/ram0 rw rootwait console=null androidboot.console=null androidboot.hardware=st-ericsson [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] mpcore_wdt.mpcore_margin=359 end lpj=24019
# [rom-8]
# menutitle=recovery touch black
# kernel=/sdcard/bootmenu/zImage
# ramdisk=/sdcard/bootmenu/initrd.gz
# cmdline=cachepolicy=writealloc noinitrd init=init board_id=1 logo.nologo root=/dev/ram0 rw rootwait console=null androidboot.console=null androidboot.hardware=st-ericsson [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] mpcore_wdt.mpcore_margin=359 end lpj=24019
# [rom-9]
# menutitle=recovery touch black
# kernel=/sdcard/bootmenu/zImage
# ramdisk=/sdcard/bootmenu/initrd.gz
# cmdline=cachepolicy=writealloc noinitrd init=init board_id=1 logo.nologo root=/dev/ram0 rw rootwait console=null androidboot.console=null androidboot.hardware=st-ericsson [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] mpcore_wdt.mpcore_margin=359 end lpj=24019
# [rom-10]
# menutitle=recovery touch black
# kernel=/sdcard/bootmenu/zImage
# ramdisk=/sdcard/bootmenu/initrd.gz
# cmdline=cachepolicy=writealloc noinitrd init=init board_id=1 logo.nologo root=/dev/ram0 rw rootwait console=null androidboot.console=null androidboot.hardware=st-ericsson [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] mpcore_wdt.mpcore_margin=359 end lpj=24019



Download:
- http://d-h.st/UXm


Kernel source code:
- https://github.com/munjeni/android_kernel_xperiago/tree/jb-dev
 
Last edited:

munjeni

Senior Member
Jun 2, 2011
9,455
22,048
Not sure if kexec working on Xperia U, I will post kernel, kernel modules, boot menu and my new CWM Touch Recovery v6.0.3.6 ramdisk for test.

Need your help, need output of the command:

adb shell cat /proc/iomem

Xperia U have 1gb ram???

Xperia Go by now have:
00000000-05ffffff : System RAM
0005e000-008fa4c7 : Kernel text
008fc000-00f2e797 : Kernel data
06000000-06efffff : db8500-trace-area
08000000-09ffffff : System RAM
0e800000-1fdfffff : System RAM
1fe00000-1fefffff : kexec_hardboot
1ffe0000-1fffffff : ram_console
40010000-400107ff : lcpa
40010000-400107ff : dma40 I/O lcpa
So I am not sure about X-U
 
Last edited:

Gava97

Senior Member
Jul 5, 2013
350
1,555
San Fior
Not sure if kexec working on Xperia U, I will post kernel, kernel modules, boot menu and recovery ramdisk for test.

Need your help, need output of the command:

adb shell cat /proc/iomem

Xperia U have 1gb ram???

Xperia Go by now have:

So I am not sure about X-U

Xperia u have 512mb ram

Sent from my Xperia U using xda app-developers app
 
  • Like
Reactions: munjeni

munjeni

Senior Member
Jun 2, 2011
9,455
22,048
Boot menu download link ready, please let me know if booting!

First of all create bootmenu folder inside your internal sdcard, create settings.ini file in bootmenu folder:
Code:
[rom-1]
menutitle=recovery touch white
kernel=/sdcard/bootmenu/examplerom/zImage
ramdisk=/sdcard/bootmenu/examplerom/initrd.gz
cmdline=cachepolicy=writealloc noinitrd init=init board_id=1 logo.nologo root=/dev/ram0 rw rootwait console=null androidboot.console=null androidboot.hardware=st-ericsson [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] mpcore_wdt.mpcore_margin=359 end lpj=24019

Since cmdline settings is from Xperia Go please edit these line and add cmdline for Xperia U !!!

Than create "examplerom" folder in your bootmenu folder, put initrd.gz and zImage from attachment to the example rom folder, reboot to the fastboot and flash bootmenu:
fastboot flash boot recovery.img

Reboot and let me know if working!
 

Attachments

  • cwm.rar
    4.8 MB · Views: 310
Last edited:

munjeni

Senior Member
Jun 2, 2011
9,455
22,048
Here's the output..

And no XU has only 512 mb of ram :(

Thanks, so kexec will working I am sure :) Enjoy guys!

For example if you want to boot your android rom, simple extract ramdisk from boot image, create new folder in bootmenu folder for example my_stock_rom, add [rom-2 settings lines for your new rom, modify path to "my_stock_rom", use zImage from cwm.rar, use modules from cwm.rar and put into your android /system/lib/modules folder... new menu will apear in boot menu... etc :) Note: autoreboot is automatically set to the [rom-1] (first menu) so if you want to automatically boot "my_stock_rom" simple move them to the top of the settings.ini ... Enjoy!!!
 
Last edited:

AD9295

Senior Member
Apr 30, 2013
58
36
Pune
Boot menu download link ready, please let me know if booting!

First of all create bootmenu folder inside your internal sdcard, create settings.ini file in bootmenu folder:
Code:
[rom-1]
menutitle=recovery touch white
kernel=/sdcard/bootmenu/examplerom/zImage
ramdisk=/sdcard/bootmenu/examplerom/initrd.gz
cmdline=cachepolicy=writealloc noinitrd init=init board_id=1 logo.nologo root=/dev/ram0 rw rootwait console=null androidboot.console=null androidboot.hardware=st-ericsson [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] mpcore_wdt.mpcore_margin=359 end lpj=24019

Since cmdline settings is from Xperia Go please edit these line and add cmdline for Xperia U !!!

Than create "examplerom" folder in your bootmenu folder, put initrd.gz and zImage from attachment to the example rom folder, reboot to the fastboot and flash bootmenu:


Reboot and let me know if working! If not working please give me output of the command "adb shell cat /proc/iomem"

I would like to help but I dont know hot add and modify settings.ini..

Edit: I learnt how to do that.. will post results when I get back from college.. Sorry but i have to attend today..
 
Last edited:

munjeni

Senior Member
Jun 2, 2011
9,455
22,048
Another example:

Since I not sucesfully booted android from sdcard, we need to prepare ramdisk of the future sdcard rom boot, modify them to use partitions from sdcard instead of using partitions from emmc!!! Need help for them!!!

So example is:
kexec cwm which have modified partitions table (sdcard partitions) -> load them into bootmenu -> boot them -> since these cwm will load sdcard partitions we can install an rom.zip regulary to these partitions using these cwm (cwm will install android to these sdcard partition:)) -> rom.zip updater-script need allso modification because we need to edit for example all lines which contain for example /dev/block/mmcblk0p** and change for example to the /dev/block/loop**

Ramdisk cwm or rom need allso reparation -> /dev/block/mmcblk0p** need changes to the /dev/block/loop** since for sdcard boot we need to mount system,data,cache partitions to the /dev/loop devices.

ETC...BLABLA Thats all we need for multiboot!!! :D
 
Last edited:

munjeni

Senior Member
Jun 2, 2011
9,455
22,048
I would like to help but I dont know hot add and modify settings.ini..

Edit: I learnt how to do that.. will post results when I get back from college.. Sorry but i have to attend today..

No problem mate, I am sure most experienced users will help and get them working, and post the results :) Good thing is we have boot menu and kexec working, so all other things will come soon, I am sure :)

Waiting your creations and modifications. Want to see message "sucesfully booted rom from sdcard" :laugh: First of all waiting confirmation about working Boot Menu v1.0 in Xperia U !
 
Last edited:

XperianPro

Senior Member
Nov 19, 2010
2,256
868
Mars
No problem mate, I am sure most experienced users will help and get them working, and post the results :) Good thing is we have boot menu and kexec working, so all other things will come soon, I am sure :)

Waiting your creations and modifications. Want to see message "sucesfully booted rom from sdcard" :laugh: First of all waiting confirmation about working Boot Menu v1.0 in Xperia U !

How can I modify sdcard since its emmc,I dont understand.

How to create partitions on it for system,data,cache or this supports kernels only?
 
Last edited:

chessmanyaki

Senior Member
Dec 12, 2012
124
51
Not sure if kexec working on Xperia U, I will post kernel, kernel modules, boot menu and my new CWM Touch Recovery v6.0.3.6 ramdisk for test.

Need your help, need output of the command:

adb shell cat /proc/iomem

Xperia U have 1gb ram???

Xperia Go by now have:

So I am not sure about X-U

i know this is too noob but does xperia go have 1 gb ram?isnt it 512m?
 

Sympnotic

Senior Member
Aug 23, 2010
564
280
Guys, found a bug in Boot Menu! For example shifting trought menu failed to select right thing, for examle it select an submenu but boot another rom :D ...I will fix them in next version! You ca duplicate menus and experiment by now

I've got to say I'm really impressed anytimes you release/post something, many thanks for your progress ;)

I guess that, at first look, it is not working for locked bootloader, but it seems your recovery handles the boot menu and kexec thing : would it be possible to port your recovery to our locked bootloader "a la" atis' patch ? I guess we won't be able to straight boot your recovery because of its' kernel, but would it be portable to ICS kernel&codes to, lets say => load your recovery by loading ramdisk like atis', then kexec to an unsigned kernel ?


edit: partially answered myself: we need to enable kexec support therefore I guess "official kernels" don't =/
 
Last edited:

Andrewasth

Senior Member
Jan 27, 2013
1,459
1,294
Athens
I've got to say I'm really impressed anytimes you release/post something, many thanks for your progress ;)

I guess that, at first look, it is not working for locked bootloader, but it seems your recovery handles the boot menu and kexec thing : would it be possible to port your recovery to our locked bootloader "a la" atis' patch ? I guess we won't be able to straight boot your recovery because of its' kernel, but would it be portable to ICS kernel&codes to, lets say => load your recovery by loading ramdisk like atis', then kexec to an unsigned kernel ?


edit: partially answered myself: we need to enable kexec support therefore I guess "official kernels" don't =/

Stock kernel doesn't support it. He has said it earlier himself
 
  • Like
Reactions: ChinmayKunkikar

Sympnotic

Senior Member
Aug 23, 2010
564
280
Yup, I read too fast, was excited about this post and I've used to read "kexec could be our way out of locked bootloader" (@Xperianpro, some of his posts)

Anyone knows if an official kernel had kexec support in the past ? Even if it's GB *not really hoping*
 

Top Liked Posts