$TARGETis target device, duet, kevin or other$ROOTFSrepresents target linux rootfs, Cadmium is made to be independent of rootfs$CADMIUMROOTis root directory of Cadmium containing board/, kernel/, fs/, tmp/ etc. directories
/dev/mmcblk?: On Duet, Linux kernel randomly switches eMMC device between mmcblk0 and mmcblk1, therefore a wildcard has to be used- eMMC installation script has been split in 3 parts:
install-to-emmc-begin, which sets up partitioning, firmware and kernelinstall-to-emmc-middle, which installs rootfs. this should be as small as possibleinstall-to-emmc-end, which sets up rootfs in order to make it easier to use(user accounts and cadmium-specific configs)kernel/buildhas duet-specific kernel source :(
board/$TARGET/is for stuff specific to one device, usually: config files, dts configuration, kernel patches and firmwarefs/is for building rootfs that can be used on target devicefs/$ROOTFSis for parts that are rootfs-specifickernel/contains only kernel-specific files, including scripts to test whether built kernel works or notbootfw/has scripts to set up kernel and partition layout
- MMSYS sits between everything related to multimedia
BASEBOARDis "reference" board for family of chromebooks or common ancestorBOARDis the target board, for example:kevin,kraneTYPEis type of device,laptop,tablet,convertible-laptopis laptop with 360° hinge,convertible-tabletis tablet with keyboard attachment orhandheld
ARCHuses kernel's naming,arm,arm64etc.ARCH_UNAMEis what appears in uname -m,armv7l,aarch64etc.ARCH_DEBis whatever debian calls the architecture of device,armhf,arm64- YES ALL THIS ARCH STUFF IS A GIANT MESS
CROSS_COMPILEis self-explanatorySOC- self explanatoryBOOTFWis boot firmware of device, chromebooks usedepthcharge