Files
aimee-os/Config.in
Dustin C. Hatch 44b2ce8a99
All checks were successful
Aimee OS/aimee-os/pipeline/head This commit looks good
Begin persistent storage implementation
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.
2025-08-29 20:17:52 -05:00

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"