foundry
Foundry OS: the operating system built on the Rustbelt kernel
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | #!/usr/bin/env bash
# Regenerate ports/busybox/busybox.config: busybox's own `make defconfig`
# (almost every applet on), minus the applets listed below that cannot work
# on Rustbelt. You only need this when moving to a new busybox version or
# changing the list; the build uses the committed busybox.config as is.
#
# Usage: ports/busybox/mkconfig.sh CACHE_DIR WORK_DIR
# (WORK_DIR gets an unpacked busybox; the result is written back to
# ports/busybox/busybox.config, so check `git diff` afterwards.)
HERE=
CACHE= WORK=
&&
# Switched off, by group. Each needs something Rustbelt doesn't have and
# isn't planned to have soon, so the applet could only ever fail:
off=(
# Loadable kernel modules (Rustbelt has none).
INSMOD RMMOD LSMOD MODPROBE DEPMOD MODINFO MODPROBE_SMALL
# Traffic control: needs netlink, and 1.36.1's tc doesn't even compile
# against current Linux headers (CBQ was removed from them).
TC
# Linux network configuration over netlink or raw packet sockets
# (Rustbelt configures its network itself, see `ifconfig`).
IP IPADDR IPLINK IPROUTE IPTUNNEL IPRULE IPNEIGH BRCTL IFPLUGD NAMEIF
TUNCTL VCONFIG IFENSLAVE ETHER_WAKE ARPING ZCIP UDHCPC UDHCPD DHCPRELAY
UDHCPC6 DUMPLEASES NBDCLIENT
# Flash chips, I2C buses, PCI/USB listings, real-time clock, watchdog:
# hardware Rustbelt doesn't expose (no /dev/mtd*, /dev/i2c-*, /sys).
NANDWRITE NANDDUMP UBIATTACH UBIDETACH UBIMKVOL UBIRMVOL UBIRSVOL
UBIUPDATEVOL UBIRENAME I2CGET I2CSET I2CDUMP I2CDETECT I2CTRANSFER LSPCI LSUSB HWCLOCK
WATCHDOG DEVMEM ACPID BEEP SETSERIAL
# Linux console fonts, keymaps and framebuffer ioctls (Rustbelt's console
# and framebuffer work differently).
LOADFONT SETFONT KBD_MODE LOADKMAP DUMPKMAP SETKEYCODES FBSET FBSPLASH CONSPY
# Hot-plug (uevents), swap, loop devices, RAID, floppies, ramdisks,
# namespaces and switching the root: kernel features Rustbelt lacks.
MDEV UEVENT MKSWAP SWAPON SWAPOFF LOSETUP RAIDAUTORUN FDFORMAT FDFLUSH
FREERAMDISK EJECT BLKDISCARD FSFREEZE RDEV PIVOT_ROOT SWITCH_ROOT NSENTER
UNSHARE SETARCH LINUX32 LINUX64 ADJTIMEX
)
# Switched on (defconfig has them off):
on=(
# busybox lives off PATH (/usr/lib/busybox), so when one applet runs
# another (tar -z runs gzip, xargs and find -exec run their command,
# adduser runs addgroup) it must not look for it on PATH: with this it
# runs its own applet through /proc/self/exe instead.
FEATURE_PREFER_APPLETS
)
for; do
|| { ; ; }
done
for; do
|| { ; ; }
done
{ || ; } | # Drop the generated date line so the file only changes when options do.
|