aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--flake.nix3
-rw-r--r--nix/busybox.nix15
-rw-r--r--nix/busybox_config35
-rw-r--r--nix/linux_config2
4 files changed, 15 insertions, 40 deletions
diff --git a/flake.nix b/flake.nix
index fa42e79..64058c0 100644
--- a/flake.nix
+++ b/flake.nix
@@ -6,6 +6,7 @@
outputs = { self, nixpkgs }: let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
+ pkgsMusl = nixpkgs.legacyPackages.${system}.pkgsMusl;
in {
devShells.${system}.default = pkgs.mkShell {
buildInputs = with pkgs; [ gcc clang gnumake xorriso cpio ];
@@ -13,7 +14,7 @@
packages.${system} = {
kernel = pkgs.callPackage ./nix/kernel.nix {};
- busybox = pkgs.callPackage ./nix/busybox.nix {};
+ busybox = pkgsMusl.callPackage ./nix/busybox.nix {};
limine = pkgs.callPackage ./nix/limine.nix {};
initramfs = pkgs.callPackage ./nix/initramfs.nix {
inherit (self.packages.${system}) kernel busybox;
diff --git a/nix/busybox.nix b/nix/busybox.nix
index dab76a8..7fbceda 100644
--- a/nix/busybox.nix
+++ b/nix/busybox.nix
@@ -1,19 +1,20 @@
-{ stdenv, fetchgit, linuxHeaders, mlib }:
+{ stdenv, fetchgit, linuxHeaders, buildPackages }:
stdenv.mkDerivation {
name = "busybox-yerba";
src = fetchgit {
url = "https://git.eaguru.guru/mirrors/busybox.git"; # change this to the official git.busybox.net/busybox when their SSL comes back
- rev = "1_36_1";
- hash = "sha256-lK8jlq1g2X9AhscZDiPf43koNbdMFYiLSAb9Y/OETnU=";
+ rev = "1_33_2";
+ hash = "sha256-0/WbonvSRa57p6sEnY82h2u10WGJRb9IwFSTIJSyzlk=";
};
- buildInputs = [ linuxHeaders mlib ];
- nativeBuildInputs = [ linuxHeaders mlib ];
+ buildInputs = [ linuxHeaders ];
+ nativeBuildInputs = [ linuxHeaders ];
preConfigure = ''
- cp ${./busybox_config} .config
+ make defconfig
+ echo "CONFIG_STATIC=y" >> .config
'';
buildPhase = ''
- make -j$NIX_BUILD_CORES all
+ make -j$NIX_BUILD_CORES CROSS_COMPILE=${stdenv.cc.targetPrefix} HOSTCC=${buildPackages.stdenv.cc}/bin/gcc
'';
installPhase = ''
make install CONFIG_PREFIX=$out/_install
diff --git a/nix/busybox_config b/nix/busybox_config
index f600ad4..d4e8e9e 100644
--- a/nix/busybox_config
+++ b/nix/busybox_config
@@ -1,8 +1,3 @@
-#
-# Automatically generated make config: don't edit
-# Busybox version: 1.36.1
-# Sun Jun 7 13:34:37 2026
-#
CONFIG_HAVE_DOT_CONFIG=y
#
@@ -94,8 +89,8 @@ CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
CONFIG_PASSWORD_MINLEN=6
CONFIG_MD5_SMALL=1
CONFIG_SHA1_SMALL=3
-CONFIG_SHA1_HWACCEL=y
-CONFIG_SHA256_HWACCEL=y
+CONFIG_SHA1_HWACCEL=n
+CONFIG_SHA256_HWACCEL=n
CONFIG_SHA3_SMALL=1
CONFIG_FEATURE_NON_POSIX_CP=y
# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set
@@ -128,7 +123,6 @@ CONFIG_LAST_SUPPORTED_WCHAR=767
# CONFIG_UNICODE_PRESERVE_BROKEN is not set
# CONFIG_LOOP_CONFIGURE is not set
# CONFIG_NO_LOOP_CONFIGURE is not set
-CONFIG_TRY_LOOP_CONFIGURE=y
#
# Applets
@@ -163,8 +157,6 @@ CONFIG_FEATURE_BZIP2_DECOMPRESS=y
CONFIG_CPIO=y
CONFIG_FEATURE_CPIO_O=y
CONFIG_FEATURE_CPIO_P=y
-CONFIG_FEATURE_CPIO_IGNORE_DEVNO=y
-CONFIG_FEATURE_CPIO_RENUMBER_INODES=y
CONFIG_DPKG=y
CONFIG_DPKG_DEB=y
CONFIG_GZIP=y
@@ -205,7 +197,6 @@ CONFIG_FEATURE_VERBOSE=y
#
# Common options for date and touch
#
-CONFIG_FEATURE_TIMEZONE=y
#
# Common options for cp and mv
@@ -226,13 +217,11 @@ CONFIG_CHOWN=y
CONFIG_FEATURE_CHOWN_LONG_OPTIONS=y
CONFIG_CHROOT=y
CONFIG_CKSUM=y
-CONFIG_CRC32=y
CONFIG_COMM=y
CONFIG_CP=y
CONFIG_FEATURE_CP_LONG_OPTIONS=y
CONFIG_FEATURE_CP_REFLINK=y
CONFIG_CUT=y
-CONFIG_FEATURE_CUT_REGEX=y
CONFIG_DATE=y
CONFIG_FEATURE_DATE_ISOFMT=y
# CONFIG_FEATURE_DATE_NANO is not set
@@ -344,7 +333,6 @@ CONFIG_FEATURE_TR_CLASSES=y
CONFIG_FEATURE_TR_EQUIV=y
CONFIG_TRUE=y
CONFIG_TRUNCATE=y
-CONFIG_TSORT=y
CONFIG_TTY=y
CONFIG_UNAME=y
CONFIG_UNAME_OSNAME="GNU/Linux"
@@ -431,7 +419,6 @@ CONFIG_VI=y
CONFIG_FEATURE_VI_MAX_LEN=4096
# CONFIG_FEATURE_VI_8BIT is not set
CONFIG_FEATURE_VI_COLON=y
-CONFIG_FEATURE_VI_COLON_EXPAND=y
CONFIG_FEATURE_VI_YANKMARK=y
CONFIG_FEATURE_VI_SEARCH=y
# CONFIG_FEATURE_VI_REGEX_SEARCH is not set
@@ -445,7 +432,6 @@ CONFIG_FEATURE_VI_ASK_TERMINAL=y
CONFIG_FEATURE_VI_UNDO=y
CONFIG_FEATURE_VI_UNDO_QUEUE=y
CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=256
-CONFIG_FEATURE_VI_VERBOSE_STATUS=y
CONFIG_FEATURE_ALLOW_EXEC=y
#
@@ -454,11 +440,7 @@ CONFIG_FEATURE_ALLOW_EXEC=y
CONFIG_FIND=y
CONFIG_FEATURE_FIND_PRINT0=y
CONFIG_FEATURE_FIND_MTIME=y
-CONFIG_FEATURE_FIND_ATIME=y
-CONFIG_FEATURE_FIND_CTIME=y
CONFIG_FEATURE_FIND_MMIN=y
-CONFIG_FEATURE_FIND_AMIN=y
-CONFIG_FEATURE_FIND_CMIN=y
CONFIG_FEATURE_FIND_PERM=y
CONFIG_FEATURE_FIND_TYPE=y
CONFIG_FEATURE_FIND_EXECUTABLE=y
@@ -466,7 +448,6 @@ CONFIG_FEATURE_FIND_XDEV=y
CONFIG_FEATURE_FIND_MAXDEPTH=y
CONFIG_FEATURE_FIND_NEWER=y
CONFIG_FEATURE_FIND_INUM=y
-CONFIG_FEATURE_FIND_SAMEFILE=y
CONFIG_FEATURE_FIND_EXEC=y
CONFIG_FEATURE_FIND_EXEC_PLUS=y
CONFIG_FEATURE_FIND_USER=y
@@ -757,7 +738,6 @@ CONFIG_FEATURE_VOLUMEID_XFS=y
# Miscellaneous Utilities
#
CONFIG_ADJTIMEX=y
-CONFIG_ASCII=y
# CONFIG_BBCONFIG is not set
# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set
CONFIG_BC=y
@@ -838,12 +818,10 @@ CONFIG_READAHEAD=y
# CONFIG_RFKILL is not set
CONFIG_RUNLEVEL=y
CONFIG_RX=y
-CONFIG_SEEDRNG=y
CONFIG_SETFATTR=y
CONFIG_SETSERIAL=y
CONFIG_STRINGS=y
CONFIG_TIME=y
-CONFIG_TREE=y
CONFIG_TS=y
CONFIG_TTYSIZE=y
CONFIG_UBIATTACH=y
@@ -855,7 +833,6 @@ CONFIG_UBIUPDATEVOL=y
CONFIG_UBIRENAME=y
CONFIG_VOLNAME=y
CONFIG_WATCHDOG=y
-# CONFIG_FEATURE_WATCHDOG_OPEN_TWICE is not set
#
# Networking Utilities
@@ -885,7 +862,6 @@ CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y
CONFIG_HOSTNAME=y
CONFIG_DNSDOMAINNAME=y
CONFIG_HTTPD=y
-CONFIG_FEATURE_HTTPD_PORT_DEFAULT=80
CONFIG_FEATURE_HTTPD_RANGES=y
CONFIG_FEATURE_HTTPD_SETUID=y
CONFIG_FEATURE_HTTPD_BASIC_AUTH=y
@@ -978,7 +954,6 @@ CONFIG_FEATURE_TELNET_AUTOLOGIN=y
CONFIG_FEATURE_TELNET_WIDTH=y
CONFIG_TELNETD=y
CONFIG_FEATURE_TELNETD_STANDALONE=y
-CONFIG_FEATURE_TELNETD_PORT_DEFAULT=23
CONFIG_FEATURE_TELNETD_INETD_WAIT=y
CONFIG_TFTP=y
CONFIG_FEATURE_TFTP_PROGRESS_BAR=y
@@ -999,7 +974,6 @@ CONFIG_VCONFIG=y
CONFIG_WGET=y
CONFIG_FEATURE_WGET_LONG_OPTIONS=y
CONFIG_FEATURE_WGET_STATUSBAR=y
-CONFIG_FEATURE_WGET_FTP=y
CONFIG_FEATURE_WGET_AUTHENTICATION=y
CONFIG_FEATURE_WGET_TIMEOUT=y
CONFIG_FEATURE_WGET_HTTPS=y
@@ -1015,9 +989,8 @@ CONFIG_DHCPRELAY=y
CONFIG_UDHCPC=y
CONFIG_FEATURE_UDHCPC_ARPING=y
CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y
-CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
-CONFIG_UDHCPC6_DEFAULT_SCRIPT="/usr/share/udhcpc/default6.script"
CONFIG_UDHCPC6=y
+CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
CONFIG_FEATURE_UDHCPC6_RFC3646=y
CONFIG_FEATURE_UDHCPC6_RFC4704=y
CONFIG_FEATURE_UDHCPC6_RFC4833=y
@@ -1151,7 +1124,6 @@ CONFIG_ASH_MAIL=y
CONFIG_ASH_ECHO=y
CONFIG_ASH_PRINTF=y
CONFIG_ASH_TEST=y
-CONFIG_ASH_SLEEP=y
CONFIG_ASH_HELP=y
CONFIG_ASH_GETOPTS=y
CONFIG_ASH_CMDCMD=y
@@ -1229,3 +1201,4 @@ CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256
CONFIG_FEATURE_IPC_SYSLOG=y
CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
CONFIG_FEATURE_KMSG_SYSLOG=y
+CONFIG_FEATURE_TOUCH_NODEREF=y
diff --git a/nix/linux_config b/nix/linux_config
index 84b4e81..5b2bf0f 100644
--- a/nix/linux_config
+++ b/nix/linux_config
@@ -4608,7 +4608,7 @@ CONFIG_MISC_FILESYSTEMS=y
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_CRAMFS is not set
-# CONFIG_SQUASHFS is not set
+CONFIG_SQUASHFS=y
# CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set