Commit Graph

116 Commits (39f5b8464de37b62361ec54774450acde0cc599a)

Author SHA1 Message Date
Dustin 3980daefd3 firmware: Fix WiFi firmware file path
The kernel expects the `.txt` file to end with the `.xz` extension.
2023-02-14 21:07:35 -06:00
Dustin fe3cc25f6b fstab: Only overlay /etc/ssh
There's really no sense in creating a writable copy of the whole `/etc`
hierarchy at `/run/etc/rw`.  Instead, let's just mount overlays at the
paths we want to make writable (which for now is only `/etc/ssh`).
2023-02-14 21:05:54 -06:00
Dustin f182a4329b Remove unused locales
This reduces the size of the (compressed) image by a few megabytes.
2023-02-14 19:51:27 -06:00
Dustin e99049e462 portage: Fix typos 2023-02-14 00:50:13 -06:00
Dustin a776a5aa96 install-update: Use Gentoo shell functions 2023-02-14 00:31:42 -06:00
Dustin e0d873bbf0 Makefile: Fix recipe dependencies 2023-02-14 00:31:26 -06:00
Dustin d4fdb36d45 Exclude more extraneous files from rootfs image 2023-02-14 00:30:32 -06:00
Dustin 0b6edeeed7 build-rootfs: Add missing busybox du symlink 2023-02-14 00:03:42 -06:00
Dustin 41891a1be6 Disable unnecessary media drivers
These were adding over 60 MB to the rootfs image, and they'll never be
used.
2023-02-14 00:02:52 -06:00
Dustin 5a1b007fd7 build-kernel: Avoid creating /lib directory
In a "merged-usr" system, `/lib` is a symlink to `/usr/lib`.  When
installing *sys-apps/systemd*, Portage checks to ensure this is the
case.  If this happens after `make modules_install` is run, `/lib` is
a directory, which causes the installation to fail.  To avoid this, we
need to explicitly install the modules into `/usr/lib` so that the
symlink can be created later.
2023-02-13 23:24:36 -06:00
Dustin 0b1aed0080 podman-build: Mount /mnt/gentoo as a volume
Using a bind-mount instead of an overlay should marginally increase
performance.
2023-02-13 23:24:36 -06:00
Dustin 1687e615b4 Add top-level Makefile
Building the OS is now as simple as running `make` on a Gentoo system.

Interestingly, when `make` is executed as a (grand)child process of
another `make` process, it always prints an `Entering directory ...`
message.  This breaks the `make kernelversion` command, by adding
extraneous text to the output.
2023-02-13 23:24:36 -06:00
Dustin f32c6d37a4 build-rootfs: Avoid spurious boot errors
The *ldconfig.service* fails because `/etc` is not writable and thus
`/etc/ld.so.cache` cannot be generated.

The files specified in the `provision.d` *tmpfiles.d(5)* configuration
are unnecessary, and many of them cannot be created at runtime because
the root filesystem is immutable.
2023-02-13 23:24:36 -06:00
Dustin fef78afa31 build-rootfs: Create /lib and /lib64 symlinks 2023-02-13 23:24:36 -06:00
Dustin b9696ab003 uboot: Apply patches outside container
When running inside a rootless Podman container on a SELinux-enabled
host, the `patch` command fails because it cannot copy SELinux labels
from the original file to the patched file.  This only happens patching
files that are located in a bind mount.
2023-02-13 23:24:36 -06:00
Dustin 025b7c6115 Initial commit 2023-02-13 23:24:36 -06:00