bb4ceab452
perf: cache apk packages between ISO builds
...
Keep apks_* workdir sections so packages aren't re-downloaded on each build.
Only non-apks sections (kernel, apkovl, final image) are cleaned to pick up changes.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-05 16:20:07 +03:00
ec1a96976b
chore: ignore .DS_Store, remove from tracking, fix genapkovl path in build, udhcpc background mode
...
- add .DS_Store to .gitignore and remove tracked files
- copy genapkovl-bee_debug.sh to /var/tmp before mkimage (was causing "no such file" error)
- switch udhcpc to background mode (-b -t 0) so network comes up when cable connected after boot
- add -B to DROPBEAR_OPTS to allow password fallback (bee/eeb)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-05 16:18:26 +03:00
279ef318e1
fix: genapkovl copy to /var/tmp, udhcpc background mode
2026-03-05 16:17:52 +03:00
40815161fe
fix: clean workdir before build so apkovl changes are always applied
2026-03-05 15:05:42 +03:00
8c0e66c3ef
fix: copy genapkovl-bee_debug.sh to ~/.mkimage in build-debug.sh
2026-03-05 15:01:20 +03:00
8502100074
fix: dropbear/network boot ordering — dropbear starts without network
...
- dropbear: custom init removes 'need net', only needs localmount + bee-sshsetup
- bee-network: removed 'before dropbear' dependency
- bee-network.sh: removed set -e so single iface failure does not abort script
2026-03-05 14:59:23 +03:00
ab22e3ad74
add: NVMe wear telemetry via nvme smart-log (1.8b)
2026-03-05 14:55:53 +03:00
e79f972fb5
add: PSU collector (1.7) via ipmitool fru, skips gracefully without IPMI
2026-03-05 14:54:12 +03:00
55f6098a17
add: memory, storage, pcie collectors (1.4-1.6) — tested on real hardware
2026-03-05 14:50:34 +03:00
569bbf8909
fix: add interfaces file so networking starts, enable dropbear default
2026-03-05 14:47:21 +03:00
aa051266bb
fix: replace build_bee_debug with proper apkovl mechanism for Alpine LiveCD
...
- genapkovl-bee_debug.sh: creates apkovl tarball with overlay files,
/etc/apk/world package list, runlevel symlinks, dropbear config
- mkimg.bee_debug.sh: set hostname/apkovl, remove invalid build_bee_debug
2026-03-05 14:21:45 +03:00
5ecbf185ea
fix: add initfs_cmdline/features and grub_mod for USB boot
2026-03-05 13:29:49 +03:00
06da04236b
add: download ISO to iso/out/ after build
2026-03-05 12:17:23 +03:00
e2a3775342
fix: remove udhcpc (busybox), rename qrencode to libqrencode-tools
2026-03-05 11:59:00 +03:00
569fd72c62
fix: set TMPDIR=/var/tmp to avoid tmpfs overflow during mkinitfs
2026-03-05 11:49:21 +03:00
554e1eee21
fix: use /var/tmp for mkimage workdir (tmpfs too small)
2026-03-05 11:44:09 +03:00
9508743dcd
fix: add arch=x86_64 to profile, improve abuild key generation in setup
2026-03-05 11:37:46 +03:00
21c4a42333
fix: install profile to ~/.mkimage, pass overlay via BEE_OVERLAY_DIR env
2026-03-05 11:32:26 +03:00
0c16d9fb76
fix: cd /tmp before mkimage.sh to avoid git repo context conflict
2026-03-05 11:31:20 +03:00
45f3182470
add run-builder.sh, .env, .gitignore; fix community repo in setup-builder.sh
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-05 11:27:26 +03:00
65d92d59c2
feat(iso): 2.1-2.3 — debug ISO builder with SSH access
...
Builder setup:
- iso/builder/VERSIONS: pinned Alpine 3.21, Go 1.23.6, NVIDIA 550.54.15
- iso/builder/setup-builder.sh: installs build deps + Go on Alpine VM, verifies packages
- iso/builder/build-debug.sh: compiles audit binary, injects SSH keys, builds ISO
- iso/builder/mkimg.bee_debug.sh: Alpine mkimage profile (all audit packages + dropbear)
SSH access (same Ed25519 key as release signing):
- auto-collects ~/.keys/*.key.pub into authorized_keys at build time
- fallback: user bee / password eeb when no keys available
- bee-sshsetup init.d service: creates bee user, sets password, logs status
Debug overlay:
- bee-network: DHCP on all physical interfaces before SSH/audit
- bee-audit-debug: runs audit on boot, leaves SSH up after
- bee-sshsetup: key/password SSH setup
- motd: shows log paths, re-run command, SSH access info
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-05 10:43:53 +03:00
00bb2fdace
feat(audit): 1.3 — CPU collector (dmidecode type 4, microcode)
...
- cpu.go: collectCPUs(), parseCPUs(), parseCPUSection()
- splitDMISections(): splits multi-section dmidecode output generically
- parseFieldLines(): reusable key→value parser for DMI sections
- parseCPUStatus(): Populated/Unpopulated → OK/WARNING/EMPTY/UNKNOWN
- parseSocketIndex(): CPU0/Processor 1/Socket 2 → integer
- cleanManufacturer(): strips (R), Corporation, Inc. suffixes
- parseMHz(), parseInt(): field value parsers
- Serial fallback: <board_serial>-CPU-<socket> when DMI serial absent
- readMicrocode(): /sys/devices/system/cpu/cpu0/microcode/version
- cpu_test.go: dual-socket, unpopulated skipped, status, socket, manufacturer, MHz
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-05 10:37:19 +03:00
f1e392a7fe
feat(audit): 1.2 — board collector (dmidecode types 0, 1, 2)
...
- board.go: collectBoard(), parseBoard(), parseBIOSFirmware(), parseDMIFields(), cleanDMIValue()
- Reads System Information (type 1): serial, manufacturer, product_name, uuid
- Reads Base Board Information (type 2): part_number
- Reads BIOS Information (type 0): firmware version record
- cleanDMIValue strips vendor placeholders (O.E.M., Not Specified, Unknown, etc.)
- board_test.go: 6 table/case tests with dmidecode fixtures in testdata/
- collector.go: wired board + BIOS firmware into snapshot
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-05 10:35:14 +03:00
a4f70b17f0
feat(audit): 1.1 — project scaffold, schema types, collector stub, updater trust
...
- go.mod: module bee/audit
- schema/hardware.go: HardwareIngestRequest types (compatible with core)
- collector/collector.go: Run() stub, logs start/finish, returns empty snapshot
- updater/trust.go: Ed25519 multi-key verification via ldflags injection
- updater/trust_test.go: valid sig, tampered, multi-key any-match, dev build
- cmd/audit/main.go: --output stdout|file:<path>|usb, --version flag
- Version = "dev" by default, injected via ldflags at release
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-05 10:32:12 +03:00