Short-form notes on rebuilding the MooresCloud Holiday Lights from scratch and making the lights work.
This is part 2/3, it covers building a custom devicetree blob for the Holiday.
You will need:
- A computer running Ubuntu or ‘Bash on Ubuntu on Windows 10’ (other Linux variants will work, and probably macOS too, but I haven’t tested and documented them)
- My imx23-holiday.dts source file from https://gist.github.com/Froosh/03a13ce2550c2779f46880f7b5ebbd9d [Make sure you download the RAW file to use – I don’t want to link directly to the raw content so I don’t have to update the link if I make revisions…]
- The latest copy of Linux kernel source code from https://kernel.org (linux-4.x.x.tar.xz)
Process:
- Install the development tools you’ll need to generate the devicetree blob
sudo apt-get install build-essential gcc-arm-none-eabi
- Unpack the Linux kernel
tar xJf linux-4.x.x.tar.xz cd linux-4.x.x/
- Copy the downloaded imx23-holiday.dts file to arch/arm/boot/dts/imx23-holiday.dts
cp ../imx23-holiday.dts arch/arm/boot/dts/imx23-holiday.dts
- Compile the devicetree source (dts) to a devicetree blob (dtb)
make ARCH=arm CROSS_COMPILE=arm-none-eabi- mxs_defconfig make ARCH=arm CROSS_COMPILE=arm-none-eabi- imx23-holiday.dtb
- Copy the resulting imx23-holiday.dtb file to somewhere you can use it for step 3
cp arch/arm/boot/dts/imx23-holiday.dtb ../imx23-holiday.dtb
Easy enough, now move on to part 3 where we’ll build the fresh Arch Linux ARM onto a new memory card.
3 responses to “Rebuilding the Holiday – Pt2”
When building the .dtb I got a syntax error.
Error: arch/arm/boot/dts/imx23-holiday.dts:7.1-2 syntax error
FATAL ERROR: Unable to parse input tree
scripts/Makefile.lib:313: recipe for target ‘arch/arm/boot/dts/imx23-holiday.dtb’ failed
make[1]: *** [arch/arm/boot/dts/imx23-holiday.dtb] Error 1
arch/arm/Makefile:336: recipe for target ‘imx23-holiday.dtb’ failed
make: *** [imx23-holiday.dtb] Error 2
It turned out that I had downloaded the webpage for the .dts using the above link, rather than the raw file. I guess that’s what happens when you try to rush things… It built fine after I corrected that.
Just noting this in case anyone else hits the same issue.
Also the 2nd paragraph “This is part 2/3, it covers getting access to the memory card and serial port.” should probably be something like “This is part 2/3, it covers building a custom devicetree blob for the Holiday.”
Hehe, oops, thanks! Updated.