aboutsummaryrefslogtreecommitdiffstats
path: root/docs/dm-verity-beaglebone.txt
blob: 5f0caa4eccff38dae545f4f44e8a9578dea1e8c7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
dm-verity and beaglebone-black
------------------------------
Set/uncomment the MACHINE line for "beaglebone-yocto" if you haven't yet.

In addition to the basic dm-verity settings, you'll also want in local.conf:

IMAGE_BOOT_FILES:remove = "zImage"
IMAGE_BOOT_FILES:append = " zImage-initramfs-${MACHINE}.bin;zImage"
WKS_FILES = "${MACHINE}-verity.wks.in"

Read-only issues: The beaglebone BSP by default declares the following:

   SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyO0 115200;ttyAMA0"
   SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"

...which are variables used by sysV init, in order to determine the
appropriate /etc/inittab entries.  The problem that arises is that by
default, an on-target runtime check of /proc/consoles is used to finalize
the /etc/inittab -- and of course that fails a build with read-only-rootfs
[see the pkg_postinst_ontarget rule in the sysvinit rule for details.]

If you don't need a serial console, the quick fix is to add in local.conf

SERIAL_CONSOLES = ""

If you do need/want a serial console, then probably a local bbappend to
manually set the /etc/inittab as desired is easiest.

After running "wic create -e core-image-minimal beaglebone-yocto-verity"
you should have a "direct" image ready to write to a u-SD card.  Remember
that the "direct" image contains the bootloader and partition table
already, so you'll be writing it to a device such as /dev/sdb and not
just a partition  -- like /dev/sdb1

Also recall that booting from u-SD requires pressing and holding the S2
(SYSBOOT) button during power-on in order to divert the boot from the normal
soldered on storage and to the removable u-SD card.