Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,11 @@ target/
k230-build*.log
*.log
Cargo.lock

# Vendor closed firmware blobs (NOT redistributable, see firmware/README.md)
boards/*/firmware/vendor/
boards/zhihe-a210/firmware/*.bin

# Build artifacts staged into bundle
boards/*/uboot_env.img
boards/*/gpt.img
17 changes: 17 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,12 +120,29 @@ eselect repository create crossdev
Each board lives in `boards/<name>/` with:
- `board.conf` -- variables read by Rust and bash scripts
- `genimage.cfg` -- disk image layout
- `sandbox-packages.txt` -- extra host packages for the sandbox (optional)
- `sandbox-packages.use` -- USE flags for those packages (optional)
- `target-packages.txt` -- extra packages cross-emerged into the image (optional)
- `pre-{step}.sh` -- runs before Rust default (optional)
- `post-{step}.sh` -- runs after Rust default (optional)
- `override-{step}.sh` -- replaces Rust default entirely (optional)

Steps: `deps`, `checkout`, `bootloader`, `kernel`, `assemble`, `pack`

Package lists in `defaults/` apply to every sandbox
(`defaults/sandbox-packages.txt`) and every image
(`defaults/target-packages.txt`). The effective target set is
`defaults/target-packages.txt` UNION `boards/<name>/target-packages.txt`
MINUS the board's `-atom` lines (e.g. `-app-misc/fastfetch` drops a
default) -- every part is a plain file. Subtracting an atom not in the
set warns and does nothing; `-atom` lines in the defaults file itself
are an error. Heavy extras (mold, go, cmake, rust, iw, wpa_supplicant)
stay out of the defaults -- boards opt in via their own list.
List lines are `atom [keywords]` -- a keyword override (e.g.
`sys-boot/syslinux **`) lands in `etc/portage/package.accept_keywords/`.
Portage config files under `defaults/portage/` are overlaid onto the
sandbox's `etc/portage/` during prepare.

### Build step execution

```
Expand Down
2 changes: 0 additions & 2 deletions boards/blackhole/target-packages.txt

This file was deleted.

9 changes: 0 additions & 9 deletions boards/k1/target-packages.txt

This file was deleted.

4 changes: 0 additions & 4 deletions boards/k230/target-packages.txt

This file was deleted.

16 changes: 2 additions & 14 deletions boards/k3/target-packages.txt
Original file line number Diff line number Diff line change
@@ -1,26 +1,14 @@
# Packages to cross-install into the target sysroot for the K3 image
# K3 extras on top of defaults/target-packages.txt

# Services
net-misc/openssh
app-admin/metalog
net-misc/ntp

# Initramfs / boot
sys-apps/busybox

# Dev tools
app-editors/vim
dev-vcs/git
# Dev tools (git is in defaults)
dev-debug/strace
dev-debug/gdb
net-misc/curl
net-misc/wget

# System tools
sys-process/htop
sys-process/lsof
sys-apps/file
app-misc/fastfetch
app-misc/screen

# Build systems
Expand Down
6 changes: 0 additions & 6 deletions boards/ky-x1/target-packages.txt

This file was deleted.

2 changes: 0 additions & 2 deletions boards/odroid-m1/target-packages.txt

This file was deleted.

2 changes: 0 additions & 2 deletions boards/odroid-m1s/target-packages.txt

This file was deleted.

2 changes: 0 additions & 2 deletions boards/odroid-m2/target-packages.txt

This file was deleted.

9 changes: 2 additions & 7 deletions boards/pentium-mmx/target-packages.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,7 @@
# Packages cross-installed into the i586 target sysroot
# pentium-mmx extras on top of defaults/target-packages.txt

# Network & remote access (services enabled in BOOT_SERVICES)
net-misc/openssh
# Network (service enabled in BOOT_SERVICES)
net-misc/dhcpcd

# Disk utilities required by the grow-rootfs first-boot service
sys-block/parted
sys-fs/e2fsprogs

# Minimal shell utilities
sys-apps/busybox
Loading
Loading