diff --git a/build-busybox.sh b/build-busybox.sh index e370e9c..41e7481 100755 --- a/build-busybox.sh +++ b/build-busybox.sh @@ -10,11 +10,13 @@ if [ ! -e ./busybox-1.20.0 ] ; then tar xf busybox-1.20.0.tar.bz2 cp config-busybox-1.20.0 busybox-1.20.0/.config cd busybox-1.20.0 + echo "Patching busybox..." patch include/libbb.h < ../busybox/libbb.h.patch + patch Makefile.flags < ../busybox/Makefile.flags.patch cd .. fi -make -C busybox-1.20.0 -j8 +BUSYBOX_NO_CRYPT_CHECK=1 make -C busybox-1.20.0 -j8 lzma -zc9 busybox-1.20.0/busybox > floppy/boot/busyboz echo "Busybox is now installed to the floppy folder." diff --git a/build-linux.sh b/build-linux.sh index d29ccac..59fd883 100755 --- a/build-linux.sh +++ b/build-linux.sh @@ -15,6 +15,8 @@ if [ ! -e ./linux-5.17.2 ] ; then echo "Patching Linux..." patch usr/gen_initramfs.sh < ../linux/patches/gen_initramfs.sh.patch # TODO: Other patches necessary? They do save some space... + + ARCH=x86 CROSS_COMPILE=i486-buildroot-linux-uclibc- make olddefconfig else cd ./linux-5.17.2 fi @@ -31,7 +33,7 @@ echo "Calling sudo to create initramfs's /dev/console..." sudo mknod initrd/dev/console c 5 1 echo "Building Linux..." -make -j8 +ARCH=x86 CROSS_COMPILE=i486-buildroot-linux-uclibc- make -j8 echo "Calling sudo to copy bzImage to the floppy folder..." sudo cp arch/x86/boot/bzImage ../floppy/boot/bzImage diff --git a/busybox/Makefile.flags.patch b/busybox/Makefile.flags.patch new file mode 100644 index 0000000..7988561 --- /dev/null +++ b/busybox/Makefile.flags.patch @@ -0,0 +1,18 @@ +--- Makefile.flags 2022-11-01 18:18:43.006550705 -0400 ++++ Makefile.flags.new 2022-11-01 18:20:21.794697686 -0400 +@@ -108,12 +108,15 @@ + # gcc-4.2.1 fails if we try to feed C source on stdin: + # echo 'int main(void){return 0;}' | $(CC) $(CFLAGS) -lcrypt -o /dev/null -xc - + # fall back to using a temp file: ++ifeq ($(BUSYBOX_NO_CRYPT_CHECK),1) ++else + CRYPT_AVAILABLE := $(shell echo 'int main(void){return 0;}' >crypttest.c; $(CC) $(CFLAGS) -lcrypt -o /dev/null crypttest.c >/dev/null 2>&1 && echo "y"; rm crypttest.c) + ifeq ($(CRYPT_AVAILABLE),y) + LDLIBS += m crypt + else + LDLIBS += m + endif ++endif + + ifeq ($(CONFIG_PAM),y) + # libpam uses libpthread, so for static builds busybox must be linked to