Le mirroring des dépôts vers Github est maintenant natif dans Gitlab (et donc Framagit). Merci de passer à la fonction native pour que nous puissions couper notre solution maison. Détails sur https://docs.gitlab.com/ee/workflow/repository_mirroring.html#pushing-to-a-remote-repository (pensez à supprimer le webhook de notre solution maison).

Commit f2ba7ded by Xanathos

Ajout Syslinux + création ISO

- Ajout syslinux - Création ISO - Confguration temporaire du noyau en tinyconfig le temps de créer un fichier config adapté
parent d91e7c85
......@@ -10,9 +10,10 @@ DESTDIR=${HOME}/koryoc/rootfs
ISODIR=${HOME}/koryoc/iso
# Déclaration des logiciels utilisés
KERNEL="4.14.34"
KERNEL="4.14.38"
BUSYBOX="1.28.3"
MUSL="1.1.19"
SYSLINUX="6.03"
# Nettoyage puis création des principaux répertoires de construction
prepare_source()
......@@ -39,11 +40,11 @@ build_kernel()
tar -xf linux-${KERNEL}.tar.xz
cd linux-${KERNEL}
make mrproper
cp ${BASEDIR}/packages/kernel/config_x64 .config
make oldconfig
#cp ${BASEDIR}/packages/kernel/config_x64 .config
make tinyconfig
make bzImage -j 2
make modules -j 2
make INSTALL_MOD_PATH=${DESTDIR} modules_install
#make modules -j 2
#make INSTALL_MOD_PATH=${DESTDIR} modules_install
cp arch/x86/boot/bzImage ${ISODIR}/bzImage
}
......@@ -80,11 +81,37 @@ build_musl()
make DESTDIR=${DESTDIR} install
}
# Syslinux va permettre de rendre notre ISO bootable
build_syslinux()
{
cd ${SOURCEDIR}
wget https://mirrors.edge.kernel.org/pub/linux/utils/boot/syslinux/syslinux-${SYSLINUX}.tar.xz
tar -xf syslinux-${SYSLINUX}.tar.xz
cd syslinux-${SYSLINUX}
cp bios/core/isolinux.bin ${ISO}/
cp bios/com32/elflink/ldlinux/ldlinux.c32 ${ISO}/
cp bios/com32/libutil/libutil.c32 ${ISO}/
cp bios/com32/menu/menu.c32 ${ISO}/
cd ${ISO}
cat > isolinux.cfg << "EOF"
UI menu.c32
PROMPT 0
MENU TITLE Boot Menu:
TIMEOUT 60
DEFAULT default
LABEL default
MENU LABEL Koryoc
LINUX bzImage
INITRD rootfs.gz
APPEND vga=791 quiet
EOF
}
# Remplissage du répertoire etc avec les fichiers fondamentaux
build_etc()
{
cd ${DESTDIR}
cp -R ${BASEDIR}/packages/koryoc_base/ .
cp -R ${BASEDIR}/packages/koryoc_base/* .
chmod +x etc/rc.boot
chmod +x etc/rc.shutdown
}
......@@ -96,13 +123,21 @@ create_initramfs()
find . -print | cpio -o -H newc | gzip -9 > $ISODIR/rootfs.gz
}
# Création de l'ISO
create_iso()
{
cd ${ISO}
genisoimage -R -o koryoc.iso -b isolinux.bin -c boot.cat -input-charset UTF 8-no-emul-boot -boot-load-size 4 -boot-info-table ${ISO}
}
# Exécution de toutes les fonctions précédemment écrites
prepare_source
construction_arborescence
build_kernel
build_busybox
build_musl
build_syslinux
build_etc
create_initramfs
create_iso
exit 0
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment