#!/bin/bash if [ "$EUID" = 0 ] then echo "Please don't run this as root" exit fi unset LD_LIBRARY_PATH export LD_LIBRARY_PATH=$(pwd)/libfs/usr/lib export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/libfs/usr/lib32 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/libfs/usr/lib64 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/libfs/usr/local/lib64 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/libfs/usr/local/lib #host system for backup export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib64 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib32 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib #it doesn't work yet so we unset the vars unset LD_LIBRARY_PATH echo $LD_LIBRARY_PATH function makeroot { mkdir -p ${1}/boot || exit 1 mkdir -p ${1}/chibrax || exit 1 mkdir -p ${1}/usr/local/bin || exit 1 mkdir -p ${1}/usr/local/sbin || exit 1 mkdir -p ${1}/usr/local/lib || exit 1 mkdir -p ${1}/usr/local/lib64 || exit 1 mkdir -p ${1}/usr/local/etc || exit 1 mkdir -p ${1}/usr/bin || exit 1 mkdir -p ${1}/usr/sbin || exit 1 mkdir -p ${1}/usr/lib || exit 1 mkdir -p ${1}/usr/lib32 || exit 1 mkdir -p ${1}/dev || exit 1 mkdir -p ${1}/sys || exit 1 mkdir -p ${1}/tmp || exit 1 mkdir -p ${1}/home || exit 1 mkdir -p ${1}/root || exit 1 mkdir -p ${1}/proc || exit 1 mkdir -p ${1}/run || exit 1 echo "creating ${1} links" cd ${1} 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 ${1}/usr ln -s lib lib64 || exit 1 cd - } # 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 -rf libfs/ 2> /dev/null sudo rm root.iso 2> /dev/null sudo rm chibrax.tar.gz 2> /dev/null makeroot libfs || exit 1 makeroot rootfs || exit 1 cd rootfs/usr ln -s lib lib64 cd - echo "done" echo "construction de la libc" chmod +x ./libc/build.sh cd libc && ./build.sh > /dev/null || exit 1 && cd - echo "done" echo "Téléchargement de Bun" cd bun && ./build.sh && cd - cp bun/bun-linux-x64/bun rootfs/usr/bin/bun echo "done" bun/bun-linux-x64/bun install echo "construction du loader" chmod +x ./osLoader/build.sh cd osLoader && ./build.sh && cd - cp osLoader/init rootfs/usr/sbin/ || 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" cp libfs/usr/lib/libc.so.6 rootfs/usr/lib/ cp libfs/usr/lib/libdl.so.2 rootfs/usr/lib/ cp libfs/usr/lib/libm.so.6 rootfs/usr/lib/ cp libfs/usr/lib/libpthread.so.0 rootfs/usr/lib/ cp libfs/usr/lib64/ld-linux-x86-64.so.2 rootfs/usr/lib64/ sudo cp rootfs\ overrides/* rootfs/ -r || exit 1 unset LD_LIBRARY_PATH sudo chown root rootfs -R #`libtool --finish /usr/lib