INCS = -Iinclude
DEFS = -D_XOPEN_SOURCE=700 -D_POSIX_C_SOURCE=200809L
CPPFLAGS = $(INCS) $(DEFS)
-CFLAGS = -O2 --std=gnu99
-LDFLAGS = $(LIBS)
+CFLAGS = --static -O2 --std=gnu99
+LDFLAGS = --static $(LIBS)
ARFLAGS = rcs
# commands
include source/shadow/Rules.mk
include source/smdev/Rules.mk
include source/sdhcp/Rules.mk
-include source/iproute2/Rules.mk
+#include source/iproute2/Rules.mk
include source/kernel/Rules.mk
include etc/Rules.mk
@$(RM) $(BUILDDIR)/dummy $(ECLEAN)
@$(RM) -r $(BUILDDIR)/include
@$(RM) albase.iso stage1.tar.xz iso9660/isolinux/vmlinuz iso9660/isolinux/initrd.img
+ @$(RM) $(BUILDDIR)/boot/* $(BUILDDIR)/bin/* $(BUILDDIR)/init
+
+dist-clean:
+ @$(RM) -r $(BUILDDIR) musl-cross-make/stage1 musl-cross-make/stage2 config.mk
# load dependency files if they exist
-include $(DEPS)
## Building
- # Optional: build the musl-based cross compiler and use that for the build
./bootstrap.sh
- make stage1
+ make all
+ ./buildiso.sh
\ No newline at end of file
export PATH="$PWD/stage1/bin:$PATH"
make all install
make clean
+ #rm musl-cross-make/stage2
+ #rm musl-cross-make/stage2/x86_64-linux-musl/lib/*.so.*
fi
-if [ ! -f config.mk ]; then
- echo 'export PATH := $(PWD)/musl-corss-make/stage2/bin:$(PATH)' >> config.mk
- echo 'CC = x86_64-linux-musl-gcc' >> config.mk
- echo 'LD = $(CC)' >> config.mk
- echo 'AR = x86_64-linux-musl-ar' >> config.mk
-fi
+#if [ ! -f config.mk ]; then
+# echo 'export PATH := $(PWD)/musl-cross-make/stage2/bin:$(PATH)' >> config.mk
+# echo 'CC = x86_64-linux-musl-gcc' >> config.mk
+# echo 'LD = $(CC)' >> config.mk
+# echo 'AR = x86_64-linux-musl-ar' >> config.mk
+#fi
export ROOT=$PWD/build/
export ISO_FS=$PWD/iso9660/
export ISO_IMAGE=$PWD/albase.iso
+export INITRD=$ISO_FS/isolinux/initrd.img
+
+# Move the init daemon to root so kernel can find it
+mv "$ROOT/bin/init" "$ROOT"
+
+echo "Generating $INITRD..."
+(
+ cd $ROOT && find . -print0 |
+ cpio --null -ov --format=newc |
+ gzip -9 > $INITRD
+)
# Copy the kernel to the ISO folder
-cp $ROOT/boot/vmlinuz $ISO_FS/isolinux/vmlinuz
-# Copy the base files into an initrd.img
-find $ROOT | grep -v '^build/obj' | cpio --owner root:root --quiet -o -H newc | gzip -9 > $ISO_FS/isolinux/initrd.img
-# Delete the old image if it exists
-rm -f $ISO_IMAGE
+cp -v $ROOT/boot/vmlinuz $ISO_FS/isolinux/vmlinuz
# Build the new image
mkisofs -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -l -input-charset default -V albase -A "albase" -o $ISO_IMAGE $ISO_FS
+
--- /dev/null
+export PATH := $(PWD)/musl-cross-make/stage2/bin:$(PATH)
+CC = x86_64-linux-musl-gcc
+LD = $(CC)
+AR = x86_64-linux-musl-ar
mkdir /dev/shm
dmesg -n 1
clear
-getty /dev/tty1 &
-getty /dev/tty2 &
-getty /dev/tty3 &
-#exec /bin/sh
+#getty /dev/tty1 &
+#getty /dev/tty2 &
+#getty /dev/tty3 &
+exec /bin/sh
-default stali
-label stali
- kernel vmlinuz
- append initrd=initrd.img quiet
+default albase
+label albase
+ kernel vmlinuz
+ initrd initrd.img
+ append ro console=ttyS0 console=tty0 ignore_loglevel