#!./bash-static 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 npm i 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 "construction de gcc" chmod +x ./libgcc/build.sh cd libgcc && ./build.sh > /dev/null || exit 1 && cd - echo "done" echo "construction de eudev" chmod +x ./libudev/build.sh cd libudev && ./build.sh > /dev/null || exit 1 && cd - echo "done" echo "construction de lvm2(libdemapper)" chmod +x ./lvm2/build.sh cd lvm2 && ./build.sh > /dev/null || exit 1 && cd - echo "done" echo "construction de liblzma" chmod +x ./liblzma/build.sh cd liblzma && ./build.sh > /dev/null || exit 1 && cd - echo "done" echo "construction de grub" chmod +x ./grub/build.sh cd grub && ./build.sh > /dev/null || 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 ./osLoader/build.sh cd osLoader && ./build.sh && cd - sudo 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 > /dev/null && 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 > /dev/null || exit 1 echo "done" cp libfs/usr/lib64/libstdc++.so.6.0.29 rootfs/usr/lib/ cd rootfs/usr/lib/ && ln -s libstdc++.so.6.0.29 libstdc++.so.6 && ln -s libstdc++.so.6.0.29 libstdc++.so && cd - cp libfs/usr/lib/libm.so.6 rootfs/usr/lib/ cp libfs/usr/lib/ld-linux-x86-64.so.2 rootfs/usr/lib cp libfs/usr/lib/libgcc_s.so* rootfs/usr/lib cp libfs/usr/lib/libc.so.6 rootfs/usr/lib cp libfs/usr/lib/liblzma.so.5.0.4 rootfs/usr/lib cd rootfs/usr/lib/ && ln -s liblzma.so.5.0.4 liblzma.so.5 && ln -s liblzma.so.5.0.4 liblzma.so && cd - cp libfs/usr/lib/libdevmapper.so.1.02 rootfs/usr/lib cd rootfs/usr/lib/ && ln -s libdevmapper.so.1.02 libdevmapper.so && cd - cp libfs/sbin/ldconfig rootfs/sbin sudo cp rootfs\ overrides/* rootfs/ -r || exit 1 unset LD_LIBRARY_PATH #`libtool --finish /usr/lib