Small changes

This commit is contained in:
Marc
2021-12-03 09:36:49 +01:00
parent 0c039501db
commit ba94e1aba0
19 changed files with 259 additions and 27 deletions
+48 -4
View File
@@ -13,10 +13,52 @@ 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 device-mapper || exit 1
#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 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
@@ -33,12 +75,16 @@ 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/bin/ || exit 1
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
@@ -53,5 +99,3 @@ echo "rebuilding C++ hooks"
echo "done"
sudo cp rootfs\ overrides/* rootfs/ -r || exit 1
sudo rm rootfs/var/cache -r
+5
View File
@@ -1,2 +1,7 @@
#!/bin/bash
if [ "$EUID" = 0 ]
then echo "Please don't run this as root"
exit
fi
gcc chibraxLoader.c -O3 -o init
+7 -6
View File
@@ -49,13 +49,10 @@ mount --rbind /sys $CHIBRAX_MOUNT_POINT/sys
mount --make-rslave $CHIBRAX_MOUNT_POINT/sys
mount --rbind /tmp $CHIBRAX_MOUNT_POINT/tmp
chroot $CHIBRAX_MOUNT_POINT grub-install --target=i386-pc ${LOOP_ROOT} --modules=part_msdos
chroot $CHIBRAX_MOUNT_POINT grub-mkconfig -o /boot/grub/grub.cfg
chroot $CHIBRAX_MOUNT_POINT /sbin/ldconfig -p
chroot $CHIBRAX_MOUNT_POINT /usr/sbin/grub-install --target=i386-pc ${LOOP_ROOT} --modules=part_msdos
chroot $CHIBRAX_MOUNT_POINT /usr/sbin/grub-mkconfig -o /boot/grub/grub.cfg
umount $CHIBRAX_MOUNT_POINT/dev
umount $CHIBRAX_MOUNT_POINT/proc
umount $CHIBRAX_MOUNT_POINT/sys
umount $CHIBRAX_MOUNT_POINT/tmp
PARTUUID=$(lsblk $LOOP --fs | awk '{print $4}' | grep -v LABEL)
@@ -64,6 +61,10 @@ echo " set root='hd0,msdos1'" >> $CHIBR
echo " linux /boot/vmlinuz rootfstype=ext4 root=/dev/sda1 rw quiet" >> $CHIBRAX_MOUNT_POINT/boot/grub/grub.cfg
echo "}" >> $CHIBRAX_MOUNT_POINT/boot/grub/grub.cfg
umount $CHIBRAX_MOUNT_POINT/dev -l
umount $CHIBRAX_MOUNT_POINT/proc -l
umount $CHIBRAX_MOUNT_POINT/sys -l
umount $CHIBRAX_MOUNT_POINT/tmp -l
umount $CHIBRAX_MOUNT_POINT
losetup -d $LOOP_ROOT
losetup -d $LOOP
+3 -9
View File
@@ -1,12 +1,6 @@
if [ -f /bin/pacman ] # btw
then
sudo pacman -S python gcc make bc unzip wget sudo binutils nasm autoconf diffutils binutils bison gettext flex
else if [ -f /bin/apt ] #deb / ubuntu
then
sudo apt-get install python3 g++ make bc unzip wget sudo
else if [ -f /bin/dnf ] #fedora
then
sudo dnf install python3 gcc-c++ make bc unzip wget sudo
fi
fi
sudo pacman -S python gcc make bc unzip wget sudo binutils nasm autoconf diffutils binutils bison gettext flex gperf
else
echo "not suported yet, use arch"
fi
+1 -1
View File
@@ -22,7 +22,7 @@ cd src
sed -i "s/git\:\/\/git\.sv\.gnu\.org\/gnulib/https\:\/\/git.savannah.gnu.org\/git\/gnulib.git/g" ./bootstrap
./bootstrap
./configure --disable-werror
./configure --disable-werror --prefix=/usr
make -j$(nproc)
DESTDIR=$(pwd)/../../rootfs
+1 -1
View File
@@ -20,7 +20,7 @@ then
fi
cd src
# make clean qui supprime le .config
make mrproper
#make mrproper
cp ../.config .config
make -j$(nproc) bzImage
cp arch/x86_64/boot/bzImage vmlinuz
+1
View File
@@ -0,0 +1 @@
src
Executable
+20
View File
@@ -0,0 +1,20 @@
if [ "$EUID" = 0 ]
then echo "Please don't run this as root"
exit
fi
git clone https://sourceware.org/git/glibc.git src
cd src
git checkout release/2.34/master
git pull
cd -
mkdir src/build -p
cd src/build
pwd
../configure --sysconfdir=/etc -prefix=/usr --with-headers=/usr/include --with-bugurl=https://bugs.archlinux.org/ --enable-add-ons --enable-bind-now --enable-cet --enable-kernel=4.4 --enable-lock-elision --enable-multi-arch --enable-stack-protector=strong --enable-stackguard-randomization --enable-static-pie --enable-systemtap --disable-profile --disable-werror || exit 1
make -j$(nproc) || exit 1
DESTDIR=$(pwd)/../../../rootfs
sudo make install DESTDIR=$(realpath $DESTDIR)
cd -
+1
View File
@@ -0,0 +1 @@
src
+19
View File
@@ -0,0 +1,19 @@
VER=11.2.0
if [ ! -d src ]
then
mkdir src
cd src
curl https://ftp.gnu.org/gnu/gcc/gcc-$VER/gcc-$VER.tar.xz --output gcc.tar.xz -L
tar xvf gcc.tar.xz
mv gcc-$VER/* .
rm gcc.tar.xz gcc-$VER -rf
cd -
fi
cd src
./configure --prefix=/usr
make -j$(nproc)
DESTDIR=$(pwd)/../../rootfs
sudo make install DESTDIR=$(realpath $DESTDIR)
cd -
+10 -4
View File
@@ -1,9 +1,15 @@
if [ "$EUID" = 0 ]
then echo "Please don't run this as root"
exit
fi
git clone https://github.com/kobolabs/liblzma src
cd src
git pull
./configure
./configure --prefix /usr
make -j$(nproc)
cd -
sudo cp src/src/liblzma/.libs/liblzma.so ../rootfs/usr/lib
sudo cp src/src/liblzma/.libs/liblzma.so.5 ../rootfs/usr/lib
DESTDIR=$(pwd)/../../rootfs
sudo make install DESTDIR=$(realpath $DESTDIR)
cd -
+1
View File
@@ -0,0 +1 @@
src
+22
View File
@@ -0,0 +1,22 @@
VER=3.2.11-pre2
if [ ! -f src ]
then
mkdir src
cd src
curl https://github.com/eudev-project/eudev/releases/download/v$VER/eudev-$VER.tar.gz -L --output eudev.tar.gz
tar xvf eudev.tar.gz
mv eudev-$VER/* .
rm eudev.tar.gz
cd -
fi
cd src
./configure --prefix=/usr --sysconfdir=/etc --enable-add-ons --enable-bind-now --enable-cet --enable-kernel=4.4 --enable-lock-elision --enable-stack-protector=strong --enable-stackguard-randomization --enable-static-pie --enable-systemtap --disable-profile --disable-werror
make -j$(nproc)
DESTDIR=$(pwd)/../../rootfs
sudo make install DESTDIR=$(realpath $DESTDIR)
cd -
+1
View File
@@ -0,0 +1 @@
src
Executable
+12
View File
@@ -0,0 +1,12 @@
VER=4.1
git clone https://sourceware.org/git/lvm2.git src
cd src
git pull
./autogen.sh
./configure
make -j$(nproc)
DESTDIR=$(pwd)/../../rootfs
sudo make install DESTDIR=$(realpath $DESTDIR)
cd -
+1 -1
View File
@@ -18,7 +18,7 @@ cd -
fi
cd src/node-$VERSION
./configure || exit 1
./configure --prefix=/usr || exit 1
make -j$(nproc) || exit 1
cd -
+98
View File
@@ -0,0 +1,98 @@
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
load_env
fi
if [ "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
else
set default="${saved_entry}"
fi
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi
export menuentry_id_option
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
if [ x$feature_default_font_path = xy ] ; then
font=unicode
else
insmod part_gpt
insmod ext2
search --no-floppy --fs-uuid --set=root c461e81d-f7a8-4d29-a874-f441afe07e45
font="/usr/share/grub/unicode.pf2"
fi
if loadfont $font ; then
set gfxmode=auto
load_video
insmod gfxterm
set locale_dir=$prefix/locale
set lang=fr_FR
insmod gettext
fi
terminal_input console
terminal_output gfxterm
insmod part_gpt
insmod ext2
search --no-floppy --fs-uuid --set=root c461e81d-f7a8-4d29-a874-f441afe07e45
insmod gfxmenu
loadfont ($root)/usr/share/grub/themes/sleek/DejaVuSans-48.pf2
loadfont ($root)/usr/share/grub/themes/sleek/DejaVuSans-Regular-14.pf2
loadfont ($root)/usr/share/grub/themes/sleek/DejaVuSans-Regular-16.pf2
loadfont ($root)/usr/share/grub/themes/sleek/terminus-14.pf2
loadfont ($root)/usr/share/grub/themes/sleek/terminus-16.pf2
insmod png
set theme=($root)/usr/share/grub/themes/sleek/theme.txt
export theme
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=1
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
set timeout=1
fi
+7
View File
@@ -0,0 +1,7 @@
# Dynamic linker/loader configuration.
# See ld.so(8) and ldconfig(8) for details.
/lib
/usr/local/lib
/usr/local/lib64
/usr/lib32
@@ -1,5 +1,5 @@
let environment = {
path: ["/usr/bin", "/usr/lib/sheebr", "/usr/local/bin"],
path: ["/usr/bin", "/usr/lib/sheebr", "/usr/local/bin", "/usr/local/sbin/"],
ls_color: JSON.stringify({
di: [01, 34],
ln: [01, 36],