Booting an alternate kernel

Roman Bogorodskiy novel at FreeBSD.org
Mon Jan 8 18:18:00 UTC 2018


Hi,

Recently I upgraded FreeBSD -CURRENT as of mid-2016 to a fresh one (Jan
6-7 -CURRENT). Of course I didn't read UPDATING and missed 20171125
entry so it failed to find root. However, when I manually set root to
'ufs:/dev/ada0s3', it failed to boot because init segfaulted (I did
installkernel but not installworld).

I decided to boot kernel.old. There's a note here:

https://www.freebsd.org/platforms/ppc.html#issues

that tells how to boot a custom kernel, e.g. doing

0 > boot hd:loader hd:0

It doesn't work for me.

I figured out that I can proceed to normal boot from the OpenFirmware
shell using

0 > boot hd:\ppc\boot1.elf

But I don't quite understand how to specify invalid partition?

I tried things like "boot hd:\ppc\boot1.elf hd:4" but it appears to
treat "hd:4" as a loader.

As far as I understand, boot1.elf source code is:

https://github.com/freebsd/freebsd/blob/master/stand/powerpc/boot1.chrp/boot1.c

From what I can see:

https://github.com/freebsd/freebsd/blob/master/stand/powerpc/boot1.chrp/boot1.c#L414

it only allows to define 'path' which is PATH_LOADER "/boot/loader" by
default; and bootpath is set from /chosen bootpath property.

Would appreciate if somebody could help with the follow:

 * How do I force invalid 'bootpath' so it drops into loader without
   loading kernel (or other ways to load kernel.old)?
 * Hints how to debug init segfault issue

Thanks,

Roman Bogorodskiy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 455 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-ppc/attachments/20180108/63273c09/attachment.sig>


More information about the freebsd-ppc mailing list