diff --git a/.gitignore b/.gitignore index 8c8832c..b484360 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,5 @@ pkgs/*/out isoroot isoout fdiskscript +diskroot *.img diff --git a/createimg.sh b/createimg.sh index ff766d7..0ae08be 100755 --- a/createimg.sh +++ b/createimg.sh @@ -1,21 +1,28 @@ #!/bin/sh -cat > fdiskscript << EOF -o +dd if=../tiny-linux-bootloader/disk of=lazybox.img + +TOTAL=`stat -c %s lazybox.img` + +SECTOR=$(($TOTAL / 512)) + +dd if=/dev/zero count=$((3145727 - $SECTOR)) >> lazybox.img + + +echo "o n p 1 -63 +32256 -t -ef +a +1 w -EOF -cat fdiskscript | fdisk lazybox.img +" | fdisk lazybox.img -losetup -o 32256 /dev/loop0 lazybox.img -mkfs.vfat /dev/loop0 -mount /dev/loop0 ./isoroot -#rm -r isoroot/* -cp -r isoout/* isoroot -umount ./isoroot +# losetup -o 32256 /dev/loop0 lazybox.img +# mkfs.vfat /dev/loop0 +# mount /dev/loop0 ./isoroot +# #rm -r isoroot/* +# #cp -r isoout/* isoroot +# umount ./isoroot diff --git a/geninitrd.sh b/geninitrd.sh index 1c53ab3..2097008 100755 --- a/geninitrd.sh +++ b/geninitrd.sh @@ -13,34 +13,36 @@ mkdir isoroot mkdir isoout -cp_iso_packages (){ +mkdir diskroot + +cp_packages (){ #NOTE: this will assume that there always is a '*-dev'/'*-doc' package,\n this is not true. # That's why the errors are shown to some one who cares. for pkg in ${packages[@]} do - echo "Going to copy: $pkg to isoroot" - tar -xf pkgs/${pkg}/out/${pkg}.*.tar.xz -C ./isoroot - tar -xf pkgs/${pkg}/out/${pkg}-dev.*.tar.xz -C ./isoroot 2> /dev/null - tar -xf pkgs/${pkg}/out/${pkg}-doc.*.tar.xz -C ./isoroot 2> /dev/null + echo "Going to copy: $pkg to $1" + tar -xf pkgs/${pkg}/out/${pkg}.*.tar.xz -C $1 + tar -xf pkgs/${pkg}/out/${pkg}-dev.*.tar.xz -C $1 2> /dev/null + tar -xf pkgs/${pkg}/out/${pkg}-doc.*.tar.xz -C $1 2> /dev/null done } -packages=(mksh bmake gmake libressl cmake curl rsync linux flex byacc om4 zlib samurai libffi python ca-certificates zlib expat gettext-tiny git kati netbsd-curses kakoune lazybox) -cp_iso_packages +#packages=(musl mksh bmake gmake libressl cmake curl rsync linux flex byacc om4 zlib samurai libffi python ca-certificates zlib expat gettext-tiny git kati netbsd-curses kakoune lazybox) +packages=(musl linux mksh busybox toybox lazybox) +cp_packages ./isoroot +#packages=(musl mksh busybox toybox llvm bmake gmake libressl cmake curl rsync linux flex byacc om4 zlib samurai libffi python ca-certificates zlib expat gettext-tiny git kati netbsd-curses kakoune lazybox rust less heirloom-doctools file pci-ids) +#cp_packages ./diskroot cat >isoroot/init << EOF #!/bin/sh exec /sbin/init EOF -chmod +x isoroot/init - -mkdir -p isoroot/etc/init.d/ - - -cat >isoroot/etc/init.d/rcS << EOF +rm isoroot/sbin/init +cat >isoroot/sbin/init << EOF #!/bin/sh + export PATH=/usr/sbin:/usr/bin:/sbin:/bin mkdir /proc mkdir /sys @@ -49,57 +51,90 @@ mount -t proc proc /proc mount -t sysfs sysfs /sys mount -t tmpfs tmpfs /tmp -echo 0 > /proc/sys/kernel/printk - -ln -s /proc/self/fd/0 /dev/stdin -ln -s /proc/self/fd/1 /dev/stdout -ln -s /proc/self/fd/2 /dev/stderr - busybox mdev -s busybox mdev -d -mkdir -p /dev/pts -mount -t devpts devpts /dev/pts +exec /bin/sh -hostname -F /etc/hostname +mkdir /mnt -mount -a +# while not mount $(blkid -L LAZYBOX_BS_MEDIA) /mnt; do +# echo "Failed to mount boot disk" +# echo "Retrying" +# sleep 0.5 +# done -#busybox modprobe broadcom -#busybox modprobe tg3 -#ifconfig eth0 192.168.2.16 -#busybox route add default gw 192.168.2.1 -#busybox modprobe radeon - -#busybox telnetd - -#clear +exec switch_root /mnt EOF -chmod +x isoroot/etc/init.d/rcS -cp /etc/inittab isoroot/etc/ +chmod +x isoroot/init +chmod +x isoroot/sbin/init + +# mkdir -p isoroot/etc/init.d/ + + +# cat >isoroot/etc/init.d/rcS << EOF +# #!/bin/sh +# export PATH=/usr/sbin:/usr/bin:/sbin:/bin +# mkdir /proc +# mkdir /sys +# mkdir /tmp +# mount -t proc proc /proc +# mount -t sysfs sysfs /sys +# mount -t tmpfs tmpfs /tmp + +# echo 0 > /proc/sys/kernel/printk + +# ln -s /proc/self/fd/0 /dev/stdin +# ln -s /proc/self/fd/1 /dev/stdout +# ln -s /proc/self/fd/2 /dev/stderr + +# busybox mdev -s +# busybox mdev -d + +# mkdir -p /dev/pts +# mount -t devpts devpts /dev/pts + +# hostname -F /etc/hostname + +# mount -a + +# #busybox modprobe broadcom +# #busybox modprobe tg3 +# #ifconfig eth0 192.168.2.16 +# #busybox route add default gw 192.168.2.1 +# #busybox modprobe radeon + +# #busybox telnetd + +# #clear + +# EOF +# chmod +x isoroot/etc/init.d/rcS + +# cp /etc/inittab isoroot/etc/ cd isoroot find . | cpio -ov | gzip -9 >../isoout/initramfs.img cp boot/vmlinuz ../isoout/vmlinuz -cd ../isoout -mkdir -p EFI/BOOT -cp ~/Shell.efi EFI/BOOT/BOOTX64.EFI +# cd ../isoout +# mkdir -p EFI/BOOT +# cp ~/Shell.efi EFI/BOOT/BOOTX64.EFI -cat >startup.nsh << EOF -\vmlinuz initrd=\initramfs.img console=ttyS0 console=tty0 +# cat >startup.nsh << EOF +# \vmlinuz initrd=\initramfs.img console=ttyS0 console=tty0 -EOF +# EOF exit -#dd if=/dev/zero of=lazybox.img count=524288 -#fdisk lazybox.img -cd .. -losetup -o 32256 /dev/loop0 lazybox.img +dd if=/dev/zero of=lazybox.img count=524288 +fdisk lazybox.img + +#losetup -o 32256 /dev/loop0 lazybox.img mount /dev/loop0 ./isoroot rm -r isoroot/* cp -r isoout/* isoroot diff --git a/pkgs/mesa/build.sh b/pkgs/mesa/build.sh index f669085..5655835 100644 --- a/pkgs/mesa/build.sh +++ b/pkgs/mesa/build.sh @@ -1,5 +1,6 @@ pkgname=mesa pkgver=build-byacc +deps="musl:wayland:wayland-protocols:llvm:zlib:expat:libffi:libdrm" ext=dev fetch() { diff --git a/pkgs/rust/build.sh b/pkgs/rust/build.sh index 522e9c3..ed901fc 100644 --- a/pkgs/rust/build.sh +++ b/pkgs/rust/build.sh @@ -24,6 +24,7 @@ _clear_vendor_checksums() { fetch() { curl "https://static.rust-lang.org/dist/rustc-$pkgver-src.tar.gz" -o $pkgname-$pkgver.tar.xz +# curl "https://static.rust-lang.org/dist/rustc-nightly-src.tar.gz" -o $pkgname- tar -xf $pkgname-$pkgver.tar.xz mv rustc-$pkgver-src $pkgname-$pkgver @@ -42,6 +43,7 @@ fetch() { _clear_vendor_checksums openssl-src rm -rf src/llvm-project/ + cd .. ln -s /usr/bin/gmake make } @@ -78,7 +80,9 @@ build() { --set="target.x86_64-unknown-linux-musl.cc=cc" \ --set="target.x86_64-unknown-linux-musl.cxx=c++" \ --set="target.x86_64-unknown-linux-musl.ar=ar" \ - --set="target.x86_64-unknown-linux-musl.linker=cc" + --set="target.x86_64-unknown-linux-musl.linker=cc" \ + --set="build.rustc=/root/lazybox/diskroot/usr/bin/rustc" \ + --set="build.cargo=/root/lazybox/diskroot/usr/bin/cargo" sed 's/#deny-warnings = .*/deny-warnings = false/' -i config.toml sed 's|deny(warnings,|deny(|' -i src/bootstrap/lib.rs