Reorganisation de tout le systéme de build + debuggage os loader au autre scripts

This commit is contained in:
Marc
2022-02-26 19:23:34 +01:00
parent fc41d4bec0
commit 24c03e8090
25 changed files with 188 additions and 107 deletions
+83 -40
View File
@@ -1,88 +1,115 @@
#!/bin/bash
#!./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
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
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
makeroot libfs || exit 1
makeroot rootfs || exit 1
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 "done"
echo "construction de la libc"
chmod +x ./libc/build.sh
cd libc && ./build.sh || exit 1 && cd -
cd libc && ./build.sh > /dev/null || exit 1 && cd -
echo "done"
echo "construction de gcc"
chmod +x ./libgcc/build.sh
cd libgcc && ./build.sh || exit 1 && cd -
cd libgcc && ./build.sh > /dev/null || exit 1 && cd -
echo "done"
echo "construction de eudev"
chmod +x ./libudev/build.sh
cd libudev && ./build.sh || exit 1 && cd -
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 || exit 1 && cd -
cd lvm2 && ./build.sh > /dev/null || exit 1 && cd -
echo "done"
echo "construction de liblzma"
chmod +x ./liblzma/build.sh
cd liblzma && ./build.sh || exit 1 && cd -
cd liblzma && ./build.sh > /dev/null || exit 1 && cd -
echo "done"
echo "construction de grub"
chmod +x ./grub/build.sh
cd grub && ./build.sh || exit 1 && cd -
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 -
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
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"
@@ -91,7 +118,7 @@ cd fakesh && ./build.sh && cd -
echo "done"
echo "construction du kernel"
cd kernel && ./from_current.sh && cd -
cd kernel && ./from_current.sh > /dev/null && cd -
echo "done"
echo "Cloning the firmware"
@@ -103,7 +130,23 @@ sudo cp linux-firmware/* rootfs/usr/lib/firmware/ -r || exit 1
echo "done"
echo "rebuilding C++ hooks"
./clibs.sh || exit 1
./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