Replaced busybox with toybox
This commit is contained in:
parent
e93c2168f5
commit
a6920abf74
@ -210,7 +210,7 @@ cmake -S llvm -B build-llvm \
|
||||
-DCMAKE_INSTALL_PREFIX=$BOOTSTRAP/root \
|
||||
-DCMAKE_TOOLCHAIN_FILE=$BOOTSTRAP/$TARGET.cmake \
|
||||
-DLLVM_ENABLE_LIBCXX=ON \
|
||||
-DLLVM_ENABLE_PROJECTS="clang;llvm" \
|
||||
-DLLVM_ENABLE_PROJECTS="clang;lld;llvm" \
|
||||
-DLLVM_ENABLE_ZSTD=OFF \
|
||||
-DLLVM_HOST_TRIPLE=$TARGET \
|
||||
-DLLVM_INSTALL_BINUTILS_SYMLINKS=ON \
|
||||
@ -226,7 +226,7 @@ ln -s clang++ $BOOTSTRAP/root/bin/c++
|
||||
cd ..
|
||||
|
||||
# Build remaining software with treetap
|
||||
SOURCES=(busybox make mold)
|
||||
SOURCES=(make mold toybox)
|
||||
for name in $SOURCES; do
|
||||
$TREETAP fetch $SPEC/$name/$name.spec
|
||||
$TREETAP build $SPEC/$name/$name.spec
|
||||
@ -244,7 +244,6 @@ export TT_DIR=$BOOTSTRAP/root/maple/.treetap
|
||||
SOURCES=(
|
||||
autoconf
|
||||
automake
|
||||
busybox
|
||||
byacc
|
||||
bzip2
|
||||
cmake
|
||||
@ -261,6 +260,7 @@ SOURCES=(
|
||||
musl
|
||||
perl
|
||||
pkgconf
|
||||
toybox
|
||||
xz
|
||||
zlib
|
||||
)
|
||||
|
||||
@ -24,7 +24,6 @@ make -j $(nproc) install DESTDIR=/ > /dev/null 2>&1
|
||||
echo "Done!"
|
||||
|
||||
# Now we can build stuff exclusively with treetap
|
||||
# NOTE: bzip2 needs to be built before Busybox ~ahill
|
||||
# NOTE: bzip2, xz, and zlib need to be built before libarchive or we will be
|
||||
# missing functionality! ~ahill
|
||||
# NOTE: CMake requires LibreSSL and libarchive to function properly so it is
|
||||
@ -36,7 +35,7 @@ echo "Done!"
|
||||
# NOTE: groff requires Perl to build. ~ahill
|
||||
# NOTE: nasm requires autoconf and automake to build. ~ahill
|
||||
cd /maple
|
||||
PACKAGES="bzip2 busybox byacc libelf libressl m4 make muon musl perl pkgconf xz zlib autoconf automake flex groff libarchive libtool nasm cmake mold"
|
||||
PACKAGES="byacc bzip2 libelf libressl m4 make muon musl perl pkgconf toybox xz zlib autoconf automake flex groff libarchive libtool nasm cmake mold"
|
||||
for pkg in $PACKAGES; do
|
||||
treetap fetch /maple/sources/$pkg/$pkg.spec
|
||||
treetap build /maple/sources/$pkg/$pkg.spec
|
||||
|
||||
392
sources/toybox/.config
Normal file
392
sources/toybox/.config
Normal file
@ -0,0 +1,392 @@
|
||||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# ToyBox version: KCONFIG_VERSION
|
||||
# Sun Dec 21 19:29:09 2025
|
||||
#
|
||||
# CONFIG_TOYBOX_ON_ANDROID is not set
|
||||
CONFIG_TOYBOX_FORK=y
|
||||
|
||||
#
|
||||
# Posix commands
|
||||
#
|
||||
CONFIG_BASENAME=y
|
||||
CONFIG_CAL=y
|
||||
CONFIG_CAT=y
|
||||
CONFIG_CHGRP=y
|
||||
CONFIG_CHOWN=y
|
||||
CONFIG_CHMOD=y
|
||||
CONFIG_CKSUM=y
|
||||
CONFIG_CRC32=y
|
||||
CONFIG_CMP=y
|
||||
CONFIG_COMM=y
|
||||
CONFIG_CP=y
|
||||
CONFIG_MV=y
|
||||
CONFIG_INSTALL=y
|
||||
CONFIG_CPIO=y
|
||||
CONFIG_CUT=y
|
||||
CONFIG_DATE=y
|
||||
CONFIG_DD=y
|
||||
CONFIG_DF=y
|
||||
CONFIG_DIRNAME=y
|
||||
CONFIG_DU=y
|
||||
CONFIG_ECHO=y
|
||||
CONFIG_ENV=y
|
||||
CONFIG_EXPAND=y
|
||||
CONFIG_FALSE=y
|
||||
CONFIG_FILE=y
|
||||
CONFIG_FIND=y
|
||||
CONFIG_FOLD=y
|
||||
CONFIG_GETCONF=y
|
||||
CONFIG_GREP=y
|
||||
CONFIG_EGREP=y
|
||||
CONFIG_FGREP=y
|
||||
CONFIG_HEAD=y
|
||||
CONFIG_ICONV=y
|
||||
CONFIG_ID=y
|
||||
CONFIG_GROUPS=y
|
||||
CONFIG_LOGNAME=y
|
||||
CONFIG_WHOAMI=y
|
||||
CONFIG_KILL=y
|
||||
CONFIG_KILLALL5=y
|
||||
CONFIG_LINK=y
|
||||
CONFIG_LN=y
|
||||
CONFIG_LOGGER=y
|
||||
CONFIG_LS=y
|
||||
CONFIG_MKDIR=y
|
||||
CONFIG_MKFIFO=y
|
||||
CONFIG_NICE=y
|
||||
CONFIG_NL=y
|
||||
CONFIG_NOHUP=y
|
||||
CONFIG_OD=y
|
||||
CONFIG_PASTE=y
|
||||
CONFIG_PATCH=y
|
||||
CONFIG_PRINTF=y
|
||||
CONFIG_PS=y
|
||||
CONFIG_TOP=y
|
||||
CONFIG_IOTOP=y
|
||||
CONFIG_PGREP=y
|
||||
CONFIG_PKILL=y
|
||||
CONFIG_PWD=y
|
||||
CONFIG_RENICE=y
|
||||
CONFIG_RM=y
|
||||
CONFIG_RMDIR=y
|
||||
CONFIG_SED=y
|
||||
CONFIG_SLEEP=y
|
||||
CONFIG_SORT=y
|
||||
CONFIG_SPLIT=y
|
||||
CONFIG_STRINGS=y
|
||||
CONFIG_TAIL=y
|
||||
CONFIG_TAR=y
|
||||
CONFIG_TEE=y
|
||||
CONFIG_TEST=y
|
||||
CONFIG_TEST_GLUE=y
|
||||
CONFIG_TIME=y
|
||||
CONFIG_TOUCH=y
|
||||
CONFIG_TRUE=y
|
||||
CONFIG_TSORT=y
|
||||
CONFIG_TTY=y
|
||||
CONFIG_ULIMIT=y
|
||||
CONFIG_ARCH=y
|
||||
CONFIG_UNAME=y
|
||||
CONFIG_UNIQ=y
|
||||
CONFIG_UNLINK=y
|
||||
CONFIG_UUDECODE=y
|
||||
CONFIG_UUENCODE=y
|
||||
CONFIG_WC=y
|
||||
CONFIG_WHO=y
|
||||
CONFIG_XARGS=y
|
||||
|
||||
#
|
||||
# Pending (unfinished) commands
|
||||
#
|
||||
# CONFIG_ARP is not set
|
||||
# CONFIG_ARPING is not set
|
||||
CONFIG_AWK=y
|
||||
CONFIG_BC=y
|
||||
# CONFIG_BOOTCHARTD is not set
|
||||
# CONFIG_BRCTL is not set
|
||||
CONFIG_CHSH=y
|
||||
CONFIG_CROND=y
|
||||
CONFIG_CRONTAB=y
|
||||
# CONFIG_CSPLIT is not set
|
||||
# CONFIG_DHCP is not set
|
||||
# CONFIG_DHCP6 is not set
|
||||
# CONFIG_DHCPD is not set
|
||||
# CONFIG_DEBUG_DHCP is not set
|
||||
CONFIG_DIFF=y
|
||||
# CONFIG_DUMPLEASES is not set
|
||||
CONFIG_EXPR=y
|
||||
CONFIG_FDISK=y
|
||||
CONFIG_FSCK=y
|
||||
# CONFIG_GETFATTR is not set
|
||||
CONFIG_GETTY=y
|
||||
# CONFIG_GITCOMPAT is not set
|
||||
# CONFIG_GITCLONE is not set
|
||||
# CONFIG_GITINIT is not set
|
||||
# CONFIG_GITREMOTE is not set
|
||||
# CONFIG_GITFETCH is not set
|
||||
# CONFIG_GITCHECKOUT is not set
|
||||
CONFIG_GROUPADD=y
|
||||
CONFIG_GROUPDEL=y
|
||||
CONFIG_HEXDUMP=y
|
||||
# CONFIG_INIT is not set
|
||||
CONFIG_IP=y
|
||||
CONFIG_IPCRM=y
|
||||
CONFIG_IPCS=y
|
||||
# CONFIG_KLOGD is not set
|
||||
CONFIG_LAST=y
|
||||
CONFIG_LSOF=y
|
||||
CONFIG_MAN=y
|
||||
CONFIG_MDEV=y
|
||||
CONFIG_MDEV_CONF=y
|
||||
CONFIG_MODPROBE=y
|
||||
CONFIG_MORE=y
|
||||
CONFIG_ROUTE=y
|
||||
CONFIG_SH=y
|
||||
# CONFIG_ALIAS is not set
|
||||
# CONFIG_BREAK is not set
|
||||
# CONFIG_CD is not set
|
||||
# CONFIG_CONTINUE is not set
|
||||
# CONFIG_DECLARE is not set
|
||||
# CONFIG_EXIT is not set
|
||||
# CONFIG_SET is not set
|
||||
# CONFIG_UNSET is not set
|
||||
# CONFIG_EVAL is not set
|
||||
# CONFIG_EXEC is not set
|
||||
# CONFIG_EXPORT is not set
|
||||
# CONFIG_JOBS is not set
|
||||
# CONFIG_LOCAL is not set
|
||||
# CONFIG_RETURN is not set
|
||||
# CONFIG_SHIFT is not set
|
||||
# CONFIG_SOURCE is not set
|
||||
# CONFIG_TRAP is not set
|
||||
# CONFIG_UNALIAS is not set
|
||||
# CONFIG_WAIT is not set
|
||||
# CONFIG_STRACE is not set
|
||||
# CONFIG_STTY is not set
|
||||
# CONFIG_SULOGIN is not set
|
||||
# CONFIG_SYSLOGD is not set
|
||||
# CONFIG_TCPSVD is not set
|
||||
CONFIG_TELNET=y
|
||||
# CONFIG_TELNETD is not set
|
||||
CONFIG_TFTP=y
|
||||
CONFIG_TFTPD=y
|
||||
CONFIG_TR=y
|
||||
CONFIG_TRACEROUTE=y
|
||||
CONFIG_USERADD=y
|
||||
CONFIG_USERDEL=y
|
||||
# CONFIG_VI is not set
|
||||
# CONFIG_XZCAT is not set
|
||||
|
||||
#
|
||||
# Other commands
|
||||
#
|
||||
CONFIG_ACPI=y
|
||||
CONFIG_ASCII=y
|
||||
CONFIG_UNICODE=y
|
||||
CONFIG_BASE64=y
|
||||
CONFIG_BASE32=y
|
||||
CONFIG_BLKDISCARD=y
|
||||
CONFIG_BLKID=y
|
||||
CONFIG_FSTYPE=y
|
||||
CONFIG_BLOCKDEV=y
|
||||
# CONFIG_BUNZIP2 is not set
|
||||
# CONFIG_BZCAT is not set
|
||||
# CONFIG_CHCON is not set
|
||||
CONFIG_CHROOT=y
|
||||
CONFIG_CHRT=y
|
||||
CONFIG_CLEAR=y
|
||||
CONFIG_COUNT=y
|
||||
CONFIG_DEVMEM=y
|
||||
CONFIG_DOS2UNIX=y
|
||||
CONFIG_UNIX2DOS=y
|
||||
CONFIG_EJECT=y
|
||||
CONFIG_FACTOR=y
|
||||
CONFIG_FALLOCATE=y
|
||||
CONFIG_FLOCK=y
|
||||
CONFIG_FMT=y
|
||||
CONFIG_FREE=y
|
||||
CONFIG_FREERAMDISK=y
|
||||
CONFIG_FSFREEZE=y
|
||||
CONFIG_FSYNC=y
|
||||
CONFIG_GETOPT=y
|
||||
CONFIG_GPIODETECT=y
|
||||
CONFIG_GPIOFIND=y
|
||||
CONFIG_GPIOINFO=y
|
||||
CONFIG_GPIOGET=y
|
||||
CONFIG_GPIOSET=y
|
||||
CONFIG_HD=y
|
||||
CONFIG_HELP=y
|
||||
CONFIG_HEXEDIT=y
|
||||
CONFIG_HWCLOCK=y
|
||||
CONFIG_I2CDETECT=y
|
||||
CONFIG_I2CDUMP=y
|
||||
CONFIG_I2CGET=y
|
||||
CONFIG_I2CSET=y
|
||||
CONFIG_I2CTRANSFER=y
|
||||
CONFIG_INOTIFYD=y
|
||||
CONFIG_INSMOD=y
|
||||
CONFIG_IONICE=y
|
||||
CONFIG_IORENICE=y
|
||||
CONFIG_LINUX32=y
|
||||
CONFIG_LOGIN=y
|
||||
CONFIG_LOSETUP=y
|
||||
CONFIG_LSATTR=y
|
||||
CONFIG_CHATTR=y
|
||||
CONFIG_LSMOD=y
|
||||
CONFIG_LSPCI=y
|
||||
CONFIG_LSUSB=y
|
||||
CONFIG_MAKEDEVS=y
|
||||
CONFIG_MCOOKIE=y
|
||||
CONFIG_MEMEATER=y
|
||||
CONFIG_MIX=y
|
||||
CONFIG_MKPASSWD=y
|
||||
CONFIG_MKSWAP=y
|
||||
CONFIG_MODINFO=y
|
||||
CONFIG_MOUNTPOINT=y
|
||||
CONFIG_NBD_CLIENT=y
|
||||
CONFIG_NBD_SERVER=y
|
||||
CONFIG_NOLOGIN=y
|
||||
CONFIG_UNSHARE=y
|
||||
CONFIG_NSENTER=y
|
||||
CONFIG_ONEIT=y
|
||||
CONFIG_OPENVT=y
|
||||
CONFIG_CHVT=y
|
||||
CONFIG_DEALLOCVT=y
|
||||
CONFIG_PARTPROBE=y
|
||||
CONFIG_PIVOT_ROOT=y
|
||||
CONFIG_PMAP=y
|
||||
CONFIG_PRINTENV=y
|
||||
CONFIG_PWDX=y
|
||||
CONFIG_PWGEN=y
|
||||
CONFIG_READAHEAD=y
|
||||
CONFIG_READELF=y
|
||||
CONFIG_READLINK=y
|
||||
CONFIG_REALPATH=y
|
||||
CONFIG_REBOOT=y
|
||||
CONFIG_RESET=y
|
||||
CONFIG_REV=y
|
||||
CONFIG_RMMOD=y
|
||||
CONFIG_RTCWAKE=y
|
||||
CONFIG_SETFATTR=y
|
||||
CONFIG_SETSID=y
|
||||
CONFIG_SHA3SUM=y
|
||||
CONFIG_SHRED=y
|
||||
CONFIG_SHUF=y
|
||||
CONFIG_STAT=y
|
||||
CONFIG_SWAPOFF=y
|
||||
CONFIG_SWAPON=y
|
||||
CONFIG_SWITCH_ROOT=y
|
||||
CONFIG_SYSCTL=y
|
||||
CONFIG_TAC=y
|
||||
CONFIG_NPROC=y
|
||||
CONFIG_TASKSET=y
|
||||
CONFIG_TIMEOUT=y
|
||||
CONFIG_TRUNCATE=y
|
||||
CONFIG_TS=y
|
||||
CONFIG_UCLAMPSET=y
|
||||
CONFIG_UPTIME=y
|
||||
CONFIG_USLEEP=y
|
||||
CONFIG_UUIDGEN=y
|
||||
CONFIG_VCONFIG=y
|
||||
CONFIG_VMSTAT=y
|
||||
CONFIG_W=y
|
||||
CONFIG_WATCH=y
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_WHICH=y
|
||||
CONFIG_XXD=y
|
||||
CONFIG_YES=y
|
||||
|
||||
#
|
||||
# Networking commands
|
||||
#
|
||||
CONFIG_FTPGET=y
|
||||
CONFIG_FTPPUT=y
|
||||
CONFIG_HOST=y
|
||||
CONFIG_HTTPD=y
|
||||
CONFIG_IFCONFIG=y
|
||||
CONFIG_MICROCOM=y
|
||||
CONFIG_NETCAT=y
|
||||
CONFIG_NETSTAT=y
|
||||
CONFIG_PING=y
|
||||
CONFIG_RFKILL=y
|
||||
CONFIG_SNTP=y
|
||||
CONFIG_TUNCTL=y
|
||||
CONFIG_WGET=y
|
||||
# CONFIG_WGET_LIBTLS is not set
|
||||
|
||||
#
|
||||
# Linux Standard Base commands
|
||||
#
|
||||
CONFIG_DMESG=y
|
||||
CONFIG_GZIP=y
|
||||
CONFIG_GUNZIP=y
|
||||
CONFIG_ZCAT=y
|
||||
CONFIG_HOSTNAME=y
|
||||
CONFIG_DNSDOMAINNAME=y
|
||||
CONFIG_KILLALL=y
|
||||
CONFIG_MD5SUM=y
|
||||
CONFIG_SHA1SUM=y
|
||||
CONFIG_SHA224SUM=y
|
||||
CONFIG_SHA256SUM=y
|
||||
CONFIG_SHA384SUM=y
|
||||
CONFIG_SHA512SUM=y
|
||||
CONFIG_MKNOD=y
|
||||
CONFIG_MKTEMP=y
|
||||
CONFIG_MOUNT=y
|
||||
CONFIG_PASSWD=y
|
||||
# CONFIG_PASSWD_SAD is not set
|
||||
CONFIG_PIDOF=y
|
||||
CONFIG_SEQ=y
|
||||
CONFIG_SU=y
|
||||
CONFIG_SYNC=y
|
||||
CONFIG_UMOUNT=y
|
||||
|
||||
#
|
||||
# Example commands
|
||||
#
|
||||
# CONFIG_DEMO_MANY_OPTIONS is not set
|
||||
# CONFIG_DEMO_NUMBER is not set
|
||||
# CONFIG_DEMO_SCANKEY is not set
|
||||
# CONFIG_DEMO_UTF8TOWC is not set
|
||||
# CONFIG_HELLO is not set
|
||||
# CONFIG_HOSTID is not set
|
||||
# CONFIG_LOGPATH is not set
|
||||
# CONFIG_SKELETON is not set
|
||||
# CONFIG_SKELETON_ALIAS is not set
|
||||
|
||||
#
|
||||
# Android commands
|
||||
#
|
||||
# CONFIG_GETENFORCE is not set
|
||||
# CONFIG_LOAD_POLICY is not set
|
||||
# CONFIG_LOG is not set
|
||||
# CONFIG_RESTORECON is not set
|
||||
# CONFIG_RUNCON is not set
|
||||
# CONFIG_SENDEVENT is not set
|
||||
# CONFIG_SETENFORCE is not set
|
||||
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
#
|
||||
# Toybox global settings
|
||||
#
|
||||
CONFIG_TOYBOX=y
|
||||
CONFIG_TOYBOX_SUID=y
|
||||
CONFIG_TOYBOX_LSM_NONE=y
|
||||
# CONFIG_TOYBOX_SELINUX is not set
|
||||
# CONFIG_TOYBOX_SMACK is not set
|
||||
# CONFIG_TOYBOX_LIBCRYPTO is not set
|
||||
# CONFIG_TOYBOX_LIBZ is not set
|
||||
CONFIG_TOYBOX_FLOAT=y
|
||||
CONFIG_TOYBOX_HELP=y
|
||||
CONFIG_TOYBOX_HELP_DASHDASH=y
|
||||
CONFIG_TOYBOX_ZHELP=y
|
||||
# CONFIG_TOYBOX_FREE is not set
|
||||
# CONFIG_TOYBOX_NORECURSE is not set
|
||||
# CONFIG_TOYBOX_DEBUG is not set
|
||||
CONFIG_TOYBOX_UID_SYS=100
|
||||
CONFIG_TOYBOX_UID_USR=1000
|
||||
# CONFIG_TOYBOX_FORCE_NOMMU is not set
|
||||
28
sources/toybox/toybox.spec
Normal file
28
sources/toybox/toybox.spec
Normal file
@ -0,0 +1,28 @@
|
||||
# Maintainer: Alexander Hill <ahill@breadpudding.dev>
|
||||
SRC_HASH="9d4c124d7d731a2db399f6278baa2b42c2e3511f610c6ad30cc3f1a52581334b"
|
||||
SRC_NAME="toybox"
|
||||
SRC_PATCHES="
|
||||
f4dda4662bead0679256f54b1770faa57c1bfea9462778edf537644d1e5aa3b0 .config
|
||||
"
|
||||
SRC_URL="https://landley.net/toybox/downloads/toybox-0.8.13.tar.gz"
|
||||
SRC_VERSION="0.8.13"
|
||||
|
||||
build() {
|
||||
tar xf ../$SRC_FILENAME
|
||||
cd toybox-$SRC_VERSION/
|
||||
# NOTE: make defconfig seems to do more than simply configure toybox. We'll
|
||||
# run it to set *something* up, then overwrite the configuration with
|
||||
# what I saved before. ~ahill
|
||||
make defconfig
|
||||
cp ../.config .
|
||||
make -j $TT_PROCS
|
||||
}
|
||||
|
||||
clean() {
|
||||
rm -rf toybox-$SRC_VERSION/
|
||||
}
|
||||
|
||||
package() {
|
||||
cd toybox-$SRC_VERSION/
|
||||
PREFIX=$TT_INSTALLDIR/bin ./scripts/install.sh --symlink
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user