Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 17 Feb 2019 13:53:21 +0100
From:      Manuel =?iso-8859-15?Q?St=FChn?= <freebsdnewbie@freenet.de>
To:        freebsd-arm@freebsd.org
Subject:   [BBB] NanoBSD ubldr problems
Message-ID:  <20190217125321.GA30529@freebsd-t450.fritz.box>

next in thread | raw e-mail | index | archive | help
Hi,
I'm having some trouble getting plain NanoBSD running on an beaglebone 
black. Eventually I've got it working by making these two changes: 

1. switch partitions NANO_SLICE_CFG from s2 to s3 and NANO_SLICE_ROOT 
from s3 to s2 in nanobsd/embedded/common
2. mark fat-partition active during mkimg for std-embedded NANO_LAYOUT

The switch of partitions is necessary, because ubldr seems to not boot 
kernels from partitions other than ${DISK}s2 out of the box. Setting 
loaderdev does not help because ubldr has some issues; by using two 
different structs (disk_devdesc and uboot_devdesc) synonymously for 
providing slice and partition information down a call stack and not 
defining them as packed, padding prevents correct information transport.  
See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=233097

Even with these changes applied, ubldr does not boot the s3-slice which 
contains the rootfs in default nanobsd-config, but tries s2 (conf) which 
fails because conf does not contain any kernel.  I read in the source 
comments that ubldr will prioritise those partitions containing active 
flag in mbr-based disks over those without, but it is neccessary to mark 
the FAT-slice active because the BBB-ROM-loader will not boot u-boot 
because it checks for an active FAT-partition to find MLO and stuff.

Setting loaderdev to "disk 0:3.0" in uboot helps, but trying to make it 
permanent via uEnv.txt does not work. Isn't uEnv.txt evaluated?

As far as I understand, the boot does only work if the rootfs is located 
in the first slice to probe by ubldr, correct?

How does the described update procedure (image-ping-pong) for arm 
NanoBSD work then?




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20190217125321.GA30529>