#!/bin/bash if [ "$EUID" = 0 ] then echo "Please don't run this as root" exit fi # 2> /dev/null veut dire que l'on veut pas voire les erreurs sudo umount rootfs/proc -R 2> /dev/null sudo rm -rf rootfs/ 2> /dev/null sudo rm root.iso 2> /dev/null sudo rm chibrax.tar.gz 2> /dev/null mkdir -p rootfs/ mkdir -p rootfs/boot mkdir -p rootfs/chibrax mkdir -p rootfs/usr/local/bin mkdir -p rootfs/usr/local/sbin mkdir -p rootfs/usr/local/lib mkdir -p rootfs/usr/local/lib64 mkdir -p rootfs/usr/local/etc mkdir -p rootfs/usr/bin mkdir -p rootfs/usr/sbin mkdir -p rootfs/usr/lib mkdir -p rootfs/usr/lib32 mkdir -p rootfs/dev mkdir -p rootfs/sys mkdir -p rootfs/tmp mkdir -p rootfs/home mkdir -p rootfs/root #TODO: faire des lien vers usr/bin et usr/sbin mkdir -p rootfs/proc mkdir -p rootfs/run npm i cd rootfs ln -s usr/bin bin || exit 1 ln -s usr/sbin sbin || exit 1 ln -s usr/lib lib || exit 1 ln -s usr/lib lib64 || exit 1 cd - cd rootfs/usr ln -s lib lib64 cd - echo "construction de la libc" chmod +x ./libc/build.sh cd libc && ./build.sh || exit 1 && cd - echo "done" echo "construction de gcc" chmod +x ./libgcc/build.sh cd libgcc && ./build.sh || exit 1 && cd - echo "done" echo "construction de eudev" chmod +x ./libudev/build.sh cd libudev && ./build.sh || exit 1 && cd - echo "done" echo "construction de lvm2(libdemapper)" chmod +x ./lvm2/build.sh cd lvm2 && ./build.sh || exit 1 && cd - echo "done" echo "construction de liblzma" chmod +x ./liblzma/build.sh cd liblzma && ./build.sh || exit 1 && cd - echo "done" echo "construction de grub" chmod +x ./grub/build.sh cd grub && ./build.sh || exit 1 && cd - echo "done" echo "construction de Nodejs" chmod +x ./nodejs/build.sh cd nodejs && ./build.sh || exit 1 && cd - echo "done" echo "construction du loader" chmod +x ./chibraxLoader/build.sh cd chibraxLoader && ./build.sh && cd - sudo cp chibraxLoader/init rootfs/usr/bin/ || exit 1 echo "done" echo "construction du bypass de sh" chmod +x ./fakesh/build.sh cd fakesh && ./build.sh && cd - echo "done" echo "construction du kernel" cd kernel && ./from_current.sh && cd - echo "done" echo "Cloning the firmware" # on masque les erreurs si le depot est deja clone git clone https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git 2> /dev/null cd linux-firmware && git pull && cd - sudo mkdir -p rootfs/usr/lib/firmware || exit 1 sudo cp linux-firmware/* rootfs/usr/lib/firmware/ -r || exit 1 echo "done" echo "rebuilding C++ hooks" ./clibs.sh || exit 1 echo "done" sudo cp rootfs\ overrides/* rootfs/ -r || exit 1