How to boot multiple kernels

This forum is for discussion about general software issues.

How to boot multiple kernels

Postby keithspg » Sun Apr 22, 2018 2:56 pm

I have built different kernels and was able to install them and boot them on my RPi (B2/3 and Zero(B+)). What I want to do is have multiple kernels and be able to select which one I want to boot. Since RPi does not use grub, the way that is outlined for Arch will not work. Also, the instructions I have found are for 3.x kernels and do not use initramfs and also do not work. Can anyone guide me as to how to have multiple kernels (modules and dsds) and be able to boot each one? If there is a succinct wiki or howto, a pointer would be allreciated as I ahve googled quite a bit and cannot find anything. So far, the only way I have been able to do it is to keep the package and use "pacman -U xxx.xz --force" to install and boot one versus the other. If this is the only way, that is fine, but I'd like to know if there is a 'better way' (tm).

keithspg
keithspg
 
Posts: 221
Joined: Mon Feb 23, 2015 4:14 pm

Re: How to boot multiple kernels

Postby summers » Mon Apr 23, 2018 10:43 am

Assuming you are using uboot, when in uboot you load the kernel, change the path to what you want to load. E.g:

$this->bbcode_second_pass_code('', 'if load ${devtype} ${devnum}:${bootpart} ${kernel_addr_r} /Image; then')

So change /Image into /ImageA, /ImageB, etc.

Now how you change this, well easiest way to interact with uboot is via a uart; but thats probably not what you want. So instead modify /boot/boot.txt, recompile to boot.src, and then reboot.

If you are using bootcode.bin then its a RPi specific question to which I don't know the answer, as I don't know the functionality of bootcode.bin ...
summers
 
Posts: 984
Joined: Sat Sep 06, 2014 12:56 pm


Return to General

Who is online

Users browsing this forum: No registered users and 6 guests