All checks were successful
Aimee OS/aimee-os/pipeline/head This commit looks good
Most of the logic in the `init-storage` script is the same as it was in Aimee OS v1 (Gentoo). The major difference is now we are initializing the data volume in the initramfs instead of in the real OS. This allows us to make all of `/etc` writable via OverlayFS, instead of having only certain sub-directories writable via bind-mounts. Buildroot doesn't really have any tools for building an initramfs, unfortunately. It does have a bit of infrastructure for running `dracut`, but I'd really rather avoid having that much complexity in the initramfs; all we need is to run the `init-storage` script and then switch root. Instead, the `mkinitramfs.sh` script, called in the post-build stage, creates the CPIO archive from files in the target directory. The only particularly interesting bit is how it resolves shared library dependencies, to make sure the appropriate resources are available for the requisite commands. I briefly considered building a statically-linked BusyBox just for the initramfs. Since it doesn't provide several important tools like `btrfs`/`mkfs.btrfs`, I had to implement the dynamic link resolution function anyway. It made sense, then, to copy Dash and the necessary Coreutils binaries themselves.
41 lines
1.1 KiB
Plaintext
41 lines
1.1 KiB
Plaintext
config AIMEEOS
|
|
bool "Aimee OS"
|
|
depends on BR2_INIT_SYSTEMD
|
|
select BR2_TARGET_ROOTFS_SQUASHFS
|
|
select BR2_TARGET_ROOTFS_SQUASHFS4_GZIP
|
|
select BR2_LINUX_KERNEL_INSTALL_TARGET
|
|
select BR2_PACKAGE_SYSTEMD_EFI
|
|
select BR2_PACKAGE_SYSTEMD_COREDUMP
|
|
select BR2_PACKAGE_SYSTEMD_SYSUSERS
|
|
select BR2_PACKAGE_COREUTILS
|
|
select BR2_PACKAGE_TAR
|
|
select BR2_PACKAGE_ZSTD
|
|
select BR2_PACKAGE_HOST_DOSFSTOOLS
|
|
select BR2_PACKAGE_HOST_GENIMAGE
|
|
select BR2_PACKAGE_HOST_MTOOLS
|
|
select BR2_TARGET_GRUB2
|
|
select BR2_PACKAGE_HOST_ZSTD
|
|
select BR2_PACKAGE_AIMEE_OS_UTILS
|
|
help
|
|
Enable all Aimee OS features.
|
|
|
|
comment "Aimee OS needs systemd"
|
|
depends on !BR2_INIT_SYSTEMD
|
|
|
|
config AIMEEOS_RPI
|
|
bool "Aimee OS Raspberry Pi support"
|
|
depends on AIMEEOS
|
|
select BR2_TARGET_UBOOT
|
|
select BR2_TARGET_UBOOT_NEEDS_OPENSSL
|
|
select BR2_TARGET_UBOOT_NEEDS_GNUTLS
|
|
select BR2_TARGET_GRUB2_ARM_EFI
|
|
help
|
|
Support running Aimee OS on Rasperry Pi devices
|
|
|
|
config AIMEEOS_DEFAULT_ROOTFLAGS
|
|
string "Default kernel command line argumens"
|
|
help
|
|
Additional command line arguments to pass to the kernel by default.
|
|
|
|
source "$BR2_EXTERNAL_AIMEEOS_PATH/package/aimee-os-utils/Config.in"
|