raspberrypi / scriptexecutor

Simple buildroot based system for executing a remote script for manufacture programming
Apache License 2.0
36 stars 14 forks source link

Build errors #1

Open Siecje opened 4 months ago

Siecje commented 4 months ago

After cloning and running ./build.sh I get these errors.

scriptexecutor$ ./build.sh 
make: Entering directory '/media/vdb/scriptexecutor/buildroot-2019.11.1'
make[1]: *** No rule to make target '/media/vdb/scriptexecutor/buildroot-2019.11.1/output/.br2-external.mk'.  Stop.
make: *** [Makefile:84: _all] Error 2
make: Leaving directory '/media/vdb/scriptexecutor/buildroot-2019.11.1'
make: Entering directory '/media/vdb/scriptexecutor/buildroot-2019.11.1'
Makefile:923: *** Please configure Buildroot first (e.g. "make menuconfig").  Stop.
make: *** [Makefile:84: _all] Error 2
make: Leaving directory '/media/vdb/scriptexecutor/buildroot-2019.11.1'
cp: cannot stat 'buildroot-2019.11.1/output/images/rootfs.cpio.xz': No such file or directory
cp: cannot stat 'buildroot-2019.11.1/output/images/zImage': No such file or directory
cp: cannot stat 'buildroot-2019.11.1/output/images/rpi-firmware/*.elf': No such file or directory
cp: cannot stat 'buildroot-2019.11.1/output/images/rpi-firmware/*.dat': No such file or directory
cp: cannot stat 'buildroot-2019.11.1/output/images/rpi-firmware/bootcode.bin': No such file or directory
cp: cannot stat 'buildroot-2019.11.1/output/images/*.dtb': No such file or directory
mv: cannot stat 'output/dwc2-overlay.dtb': No such file or directory
mv: cannot stat 'output/spi-gpio40-45-overlay.dtb': No such file or directory

Build complete. Files are in output folder.

I'm trying to customize the environment and add cryptsetup to be able to encrypt the filesystem.

BubuOT commented 4 months ago

This particular problem can be fixed by backporting https://gitlab.com/buildroot.org/buildroot/-/commit/9e2128bf5072e5f2fd69e2fc0239558782dfc677

But then at least on my build host I pretty much immediately run into more build failures (building host-m4), I guess it's time to upgrade the copy of buildroot for this project so it's buildable on modern systems again.

Siecje commented 4 months ago

I was able to build scriptexecute.img.

git clone https://github.com/raspberrypi/scriptexecutor
cd scriptexecutor
git clone https://github.com/buildroot/buildroot.git
cd buildroot
git checkout 2023.11.1
cd ..
mv buildroot buildroot-2023.11.1
# modify build.sh to contain "buildroot-2023.11.1"
make -C buildroot-2023.11.1 menuconfig
# It said to save to auto apply config migrations
# I saved in the curses interface
# make -C buildroot-2023.11.1 savedefconfig # failed
make -C buildroot-2023.11.1 menuconfig
# remove legacy config option
# in my case add cryptsetup (target packages -> hardware handling -> cryptsetup)
# BR2_PACKAGE_CURL was the only one
# The BR2_PACKAGE_CURL config symbol was renamed to BR2_PACKAGE_LIBCURL_CURL
# save in interface
make -C buildroot-2023.11.1 savedefconfig
./build.sh
# which failed a couple times and based on the errors I did
cp output/config.txt buildroot-2023.11.1/package/rpi-firmware/
cp output/cmdline.txt buildroot-2023.11.1/package/rpi-firmware/
./build.sh
# output/scriptexecute.img was created
Siecje commented 4 months ago

When this is updated the firmware should also be updated.

$ vcmailbox 0x0000001 4 4 0
0x0000001c 0x80000000 0x00000001 0x00000004 0x80000004 0x623c6fde 0x00000000 

The current version doesn't support the device private key OTP.

When I would run rpi-otp-private-key[1] I would get "Failed to read the current key from OTP"

I replaced start4.elf and fixup4.dat from https://github.com/raspberrypi/firmware/tree/master/boot

1: I added rpi-otp-private-key as an overlay file in the build (scriptexecutor/buildroot-2023.11.1/board/raspberrypicm4io-64/overlay/usr/bin/rpi-otp-private-key)