Files
Linux.js---javascript-OS/build.sh
T
2021-12-03 10:11:34 +01:00

107 lines
2.5 KiB
Bash
Executable File

#!/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
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 -
#installation de grub
# coreutils = cat
#sudo pacstrap rootfs || exit 1
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 kernel"
cd kernel && ./from_current.sh && cd -
sudo cp kernel/src/vmlinuz rootfs/boot || exit 1
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