Booting an alternate kernel

Justin Hibbits jrh29 at alumni.cwru.edu
Mon Jan 8 19:21:31 UTC 2018


Hi Roman,

Not a direct answer to your question, but more addressing what your
real problem might be.
Are you booting powerpc or powerpc64?  Powerpc (32-bit) got updated to
64-bit time_t, which requires everything new.  Easiest way to update
that is a fresh install (See UPDATING note 20170625).

- Justin

On Mon, Jan 8, 2018 at 12:17 PM, Roman Bogorodskiy <novel at freebsd.org> wrote:
> 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


More information about the freebsd-ppc mailing list