Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Jul 2018 21:01:11 +0200
From:      Manuel =?iso-8859-15?Q?St=FChn?= <freebsd@justmail.de>
To:        freebsd-embedded@freebsd.org
Subject:   NanoBSD on Beaglebone Black
Message-ID:  <20180725190111.GA9220@freebsd-t450.fritz.box>

next in thread | raw e-mail | index | archive | help
Hi,
I'm trying to get NanoBSD running on Beaglebone Black and had some 
setbacks:

1. using the standard slice layout does not find/load a kernel:

[..]
DRAM: 512MB
Card did not respond to voltage select!
Card did not respond to voltage select!
Card did not respond to voltage select!
Number of U-Boot devices: 2
U-Boot env: loaderdev not set, will probe all devices.
Found U-Boot device: disk
  Probing all disk devices...
  Checking unit=0 slice=<auto> partition=<auto>...
  Checking unit=1 slice=<auto> partition=<auto>...
  Checking unit=2 slice=<auto> partition=<auto>...
  Checking unit=3 slice=<auto> partition=<auto>...
  Checking unit=4 slice=<auto> partition=<auto>...
  Checking unit=5 slice=<auto> partition=<auto>...
Found U-Boot device: net
Booting from net0:
link up on port 0, speed 100, full duplex

After switching in nanobsd/embedded/common the slice numbers of 
NANO_SLICE_CFG(2->3) and NANO_SLICE_ROOT(3->2), it boots without 
problems

2. devmatch cant read linker hints file:

dmesg:
[..]
Starting devd.
devmatch: Can't read linker hints file.
devmatch: Can't read linker hints file.
devmatch: Can't read linker hints file.
devmatch: Can't read linker hints file.
devmatch: Can't read linker hints file.
devmatch: Can't read linker hints file.
[..]

Google told me to "kldxref -R /boot", and after adding a function into 
my nanobsd config file for the bbb which chroots into the nanobsd-world 
and calls this "kldxref -R /boot" it boots without these messages. How 
should this be done correctly?

3. ABI mismatch of chrooted nanobsd and booted nanobsd:

I would like to install some packages into the nanobsd image, so i 
extended my config file by a some code:

prepare_chroot() {
  mkdir -p ${NANO_WORLDDIR}/usr/local/bin
  cp /usr/local/bin/qemu-arm-static  ${NANO_WORLDDIR}/usr/local/bin

  mount -t devfs devfs ${NANO_WORLDDIR}/dev
}

cleanup_chroot() {

  umount ${NANO_WORLDDIR}/dev
  rm -f ${NANO_WORLDDIR}/usr/local/bin/qemu-arm-static
}

install_packages () (
  mkdir -p ${NANO_WORLDDIR}/usr/local/etc/pkg/repos
  sed 's/\${ABI}/FreeBSD:12:armv7/g' ${NANO_WORLDDIR}/etc/pkg/FreeBSD.conf \
  > ${NANO_WORLDDIR}/usr/local/etc/pkg/repos/FreeBSD.conf

  echo "nameserver 8.8.8.8" > ${NANO_WORLDDIR}/etc/resolv.conf

  prepare_chroot
  chroot ${NANO_WORLDDIR} pkg install -y vim-console mosquitto 
  cleanup_chroot

  rm -f ${NANO_WORLDDIR}/etc/resolv.conf
)

chroot'ing into the nanobsd world and querying hw.machine_arch gets me 
armv6.  Booting the image and querying the variable on real hardware 
returns armv7.  This prevents me from install packages without altering 
the FreeBSD.conf. Who replies queries of sysctl-variable 
"hw.machine_arch" in chroot?

Thanks
--
Manuel



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