From 6607a40d87bce091d51ee856f3743964d56f3193 Mon Sep 17 00:00:00 2001 From: xf0r3m Date: Sat, 2 Dec 2023 12:32:23 +0100 Subject: [PATCH] =?utf8?q?BT=20#142=20ToDo:=20Da=C4=87=20mo=C5=BCliwo?= =?utf8?q?=C5=9B=C4=87=20podania=20wersji=20bazowej=20Debiana=20podczas=20?= =?utf8?q?wywo=C5=82ywania=20'immudex=5Fbuild'=20+=20Przekaza=C4=87=20do?= =?utf8?q?=20pliku=20wersji,=20wersj=C4=99=20bazow=C4=85=20Debiana?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- immudex-build | 60 +++++++++++++++++++++++++++--------------------- versions/base.sh | 2 +- 2 files changed, 35 insertions(+), 27 deletions(-) diff --git a/immudex-build b/immudex-build index 6612d02..ebb237c 100755 --- a/immudex-build +++ b/immudex-build @@ -12,7 +12,7 @@ function help() { echo "immudex-build - script for building immudex LiveCD."; echo "@ 2023 morketsmerke.org"; echo "Usage:"; - echo " ./immudex-build --"; + echo " ./immudex-build -- --"; } function create_enviroment() { @@ -33,69 +33,77 @@ else exit 1; fi +#Determinig vanilla debian version +case $2; in + '--testing') debver="testing";; + '--stable') debver="stable";; + '--oldstable') debver="oldstable";; + *) help; exit 1;; +esac + if [ ! -f /sbin/debootstrap ]; then create_enviroment fi #Creating root directory sturcture for immudex build: -if [ ! -d ${HOME}/build/immudex-testing/${arch} ]; then +if [ ! -d ${HOME}/build/immudex-${debver}/${arch} ]; then echo -n "Creating root directory structure for immudex build..."; - mkdir -pv ${HOME}/build/immudex-testing/${arch} >> immudex_build.log 2>&1; + mkdir -pv ${HOME}/build/immudex-${debver}/${arch} >> immudex_build.log 2>&1; if [ $? -eq 0 ]; then echo -e "[ ${GREEN}OK${ENDCOLOR} ]"; fi fi -#Fetching testing vanilla Debian base system files: -echo -n "Fetching testing vanilla Debian base system files..."; -sudo /sbin/debootstrap --arch=$(echo $1 | sed 's/-//g') oldstable ${HOME}/build/immudex-testing/${arch}/chroot http://deb.debian.org/debian >> immudex_build.log 2>&1; +#Fetching vanilla Debian base system files: +echo -n "Fetching ${debver} vanilla Debian base system files..."; +sudo /sbin/debootstrap --arch=$(echo $1 | sed 's/-//g') $debver ${HOME}/build/immudex-${debver}/${arch}/chroot http://deb.debian.org/debian >> immudex_build.log 2>&1; if [ $? -eq 0 ]; then echo -e "[ ${GREEN}OK${ENDCOLOR} ]"; fi #Copying chroot script to chroot directory: echo -n "Copying chroot script to chroot directory..."; -sudo cp -vv ${HOME}/immudex-testing/versions/base.sh ${HOME}/build/immudex-testing/${arch}/chroot >> immudex_build.log 2>&1; +sudo cp -vv ${HOME}/immudex-testing/versions/base.sh ${HOME}/build/immudex-${debver}/${arch}/chroot >> immudex_build.log 2>&1; if [ $? -eq 0 ]; then echo -e "[ ${GREEN}OK${ENDCOLOR} ]"; fi #Executing chroot script, at least i trying: -sudo chroot ${HOME}/build/immudex-testing/${arch}/chroot /bin/bash /base.sh $arch; +sudo chroot ${HOME}/build/immudex-${debver}/${arch}/chroot /bin/bash /base.sh $debver; #Removing chroot script. echo -n "Remove chroot script..."; -sudo rm -vf ${HOME}/build/immudex-testing/${arch}/chroot/base.sh >> immudex_build.log 2>&1; +sudo rm -vf ${HOME}/build/immudex-${debver}/${arch}/chroot/base.sh >> immudex_build.log 2>&1; if [ $? -eq 0 ]; then echo -e "[ ${GREEN}OK${ENDCOLOR} ]"; fi #Creating LiveCD directory structure: echo -n "Creating LiveCD directory structure..."; -mkdir -pv ${HOME}/build/immudex-testing/${arch}/{staging/{EFI/boot,boot/grub/x86_64-efi,isolinux,live},tmp} >> immudex_build.log 2>&1; +mkdir -pv ${HOME}/build/immudex-${debver}/${arch}/{staging/{EFI/boot,boot/grub/x86_64-efi,isolinux,live},tmp} >> immudex_build.log 2>&1; if [ $? -eq 0 ]; then echo -e "[ ${GREEN}OK${ENDCOLOR} ]"; fi #Creating squasfs archive: echo -n "Creating squashfs archive..."; -sudo mksquashfs ${HOME}/build/immudex-testing/${arch}/chroot ${HOME}/build/immudex-testing/${arch}/staging/live/filesystem.squashfs -e boot >> immudex_build.log 2>&1; +sudo mksquashfs ${HOME}/build/immudex-${debver}/${arch}/chroot ${HOME}/build/immudex-${debver}/${arch}/staging/live/filesystem.squashfs -e boot >> immudex_build.log 2>&1; if [ $? -eq 0 ]; then echo -e "[ ${GREEN}OK${ENDCOLOR} ]"; fi #Copying kernel and initrd (core files) from chroot: echo -n "Copying kernel and initrd (core files) from chroot..."; -cp -v $(ls -v ${HOME}/build/immudex-testing/${arch}/chroot/boot/vmlinuz-* | tail -1) ${HOME}/build/immudex-testing/${arch}/staging/live/vmlinuz >> immudex_build.log 2>&1; -cp -v $(ls -v ${HOME}/build/immudex-testing/${arch}/chroot/boot/initrd.img-* | tail -1) ${HOME}/build/immudex-testing/${arch}/staging/live/initrd >> immudex_build.log 2>&1; +cp -v $(ls -v ${HOME}/build/immudex-${debver}/${arch}/chroot/boot/vmlinuz-* | tail -1) ${HOME}/build/immudex-${debver}/${arch}/staging/live/vmlinuz >> immudex_build.log 2>&1; +cp -v $(ls -v ${HOME}/build/immudex-${debver}/${arch}/chroot/boot/initrd.img-* | tail -1) ${HOME}/build/immudex-${debver}/${arch}/staging/live/initrd >> immudex_build.log 2>&1; if [ $? -eq 0 ]; then echo -e "[ ${GREEN}OK${ENDCOLOR} ]"; fi #Setting version for this image: echo "-==Setting version for immudex image: $(date)==-" >> immudex_build.log; echo -n "Setting version for this immudex image..."; -git log --pretty=oneline | head -1 | awk '{printf $1}' | tee ${HOME}/build/immudex-testing/${arch}/staging/live/version >> immudex_build.log 2>&1; -versionShort=$(cut -c 1-7 ${HOME}/build/immudex-testing/${arch}/staging/live/version); +git log --pretty=oneline | head -1 | awk '{printf $1}' | tee ${HOME}/build/immudex-${debver}/${arch}/staging/live/version >> immudex_build.log 2>&1; +versionShort=$(cut -c 1-7 ${HOME}/build/immudex-${debver}/${arch}/staging/live/version); if [ $? -eq 0 ]; then echo -e "[ ${GREEN}OK${ENDCOLOR} ]"; fi #Getting and copying bootloader files echo -n "Copying bootloader files..."; arch2=$(echo $1 | sed 's/-//g'); -cp -v ${HOME}/immudex-testing/isolinux/${arch2}/* ${HOME}/build/immudex-testing/${arch}/staging/isolinux >> immudex_build.log 2>&1; -cp -v ${HOME}/immudex-testing/grub/${arch2}/* ${HOME}/build/immudex-testing/${arch}/staging/boot/grub >> immudex_build.log 2>&1; +cp -v ${HOME}/immudex-testing/isolinux/${arch2}/* ${HOME}/build/immudex-${debver}/${arch}/staging/isolinux >> immudex_build.log 2>&1; +cp -v ${HOME}/immudex-testing/grub/${arch2}/* ${HOME}/build/immudex-${debver}/${arch}/staging/boot/grub >> immudex_build.log 2>&1; if [ $? -eq 0 ]; then echo -e "[ ${GREEN}OK${ENDCOLOR} ]"; fi #Create grubstandalone config: echo "-==Create grub-standalone config: $(date)==-" >> immudex_build.log; echo -n "Create grub-standalone config..."; -cat >> ${HOME}/build/immudex-testing/${arch}/tmp/grub-standalone.cfg <> ${HOME}/build/immudex-${debver}/${arch}/tmp/grub-standalone.cfg <> immudex_build.log; echo -n "Create empty file for GRUB..."; -touch ${HOME}/build/immudex-testing/${arch}/staging/DEBIAN; +touch ${HOME}/build/immudex-${debver}/${arch}/staging/DEBIAN; if [ $? -eq 0 ]; then echo -e "[ ${GREEN}OK${ENDCOLOR} ]"; fi #Copying isolinux files: echo -n "Copiying isolinux files..."; -cp -v /usr/lib/ISOLINUX/isolinux.bin ${HOME}/build/immudex-testing/${arch}/staging/isolinux >> immudex_build.log 2>&1; -cp -v /usr/lib/syslinux/modules/bios/* ${HOME}/build/immudex-testing/${arch}/staging/isolinux >> immudex_build.log 2>&1; +cp -v /usr/lib/ISOLINUX/isolinux.bin ${HOME}/build/immudex-${debver}/${arch}/staging/isolinux >> immudex_build.log 2>&1; +cp -v /usr/lib/syslinux/modules/bios/* ${HOME}/build/immudex-${debver}/${arch}/staging/isolinux >> immudex_build.log 2>&1; if [ $? -eq 0 ]; then echo -e "[ ${GREEN}OK${ENDCOLOR} ]"; fi #Copying grub files: echo -n "Copying isolinux files..."; -cp -rv /usr/lib/grub/x86_64-efi/* ${HOME}/build/immudex-testing/${arch}/staging/boot/grub/x86_64-efi >> immudex_build.log 2>&1; +cp -rv /usr/lib/grub/x86_64-efi/* ${HOME}/build/immudex-${debver}/${arch}/staging/boot/grub/x86_64-efi >> immudex_build.log 2>&1; if [ $? -eq 0 ]; then echo -e "[ ${GREEN}OK${ENDCOLOR} ]"; fi #Creating grub-efi bootloader file: echo "-==Creating grub-efi bootloader file: $(date)==-" >> immudex_build.log; echo -n "Creating grub-efi bootloader file..."; -grub-mkstandalone --format=x86_64-efi --output=${HOME}/build/immudex-testing/${arch}/staging/EFI/boot/bootx64.efi --locales="" --fonts="" "boot/grub/grub.cfg=${HOME}/build/immudex-testing/${arch}/tmp/grub-standalone.cfg"; +grub-mkstandalone --format=x86_64-efi --output=${HOME}/build/immudex-${debver}/${arch}/staging/EFI/boot/bootx64.efi --locales="" --fonts="" "boot/grub/grub.cfg=${HOME}/build/immudex-${debver}/${arch}/tmp/grub-standalone.cfg"; if [ $? -eq 0 ]; then echo -e "[ ${GREEN}OK${ENDCOLOR} ]"; fi #Creating additional EFI partition: oldcwd=$(pwd); -cd ${HOME}/build/immudex-testing/${arch}/staging/boot/grub; +cd ${HOME}/build/immudex-${debver}/${arch}/staging/boot/grub; echo -n "Creating addtitional EFI partition..."; dd if=/dev/zero bs=1M of=efiboot.img count=20 >> ${oldcwd}/immudex_build.log 2>&1; sudo mkfs.vfat efiboot.img >> immudex_build.log 2>&1; echo "-==Creating MS-DOS directory: $(date)==-" >> ${oldcwd}/immudex_build.log; sudo mmd -i efiboot.img efi efi/boot >> ${oldcwd}/immudex_build.log 2>&1; -sudo mcopy -vi efiboot.img ${HOME}/build/immudex-testing/${arch}/staging/EFI/boot/bootx64.efi ::efi/boot >> ${oldcwd}/immudex_build.log 2>&1; +sudo mcopy -vi efiboot.img ${HOME}/build/immudex-${debver}/${arch}/staging/EFI/boot/bootx64.efi ::efi/boot >> ${oldcwd}/immudex_build.log 2>&1; if [ $? -eq 0 ]; then echo -e "[ ${GREEN}OK${ENDCOLOR} ]"; fi #Create iso image: cd $oldcwd; echo -n "Creating iso image..."; -xorriso as mkisofs -iso-level 3 -o "immudex-testing${arch}_${versionShort}.iso" -full-iso9660-filenames -volid "immudex-testing${arch}_${versionShort}" -isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin -eltorito-boot isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table --eltorito-catalog isolinux/isolinux.cat -eltorito-alt-boot -e /boot/grub/efiboot.img -no-emul-boot -isohybrid-gpt-basdat -append_partition 2 0xef ${HOME}/build/immudex-testing/${arch}/staging/boot/grub/efiboot.img ${HOME}/build/immudex-testing/${arch}/staging >> immudex_build.log 2>&1; +xorriso as mkisofs -iso-level 3 -o "immudex-${debver}${arch}_${versionShort}.iso" -full-iso9660-filenames -volid "immudex-${debver}${arch}_${versionShort}" -isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin -eltorito-boot isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table --eltorito-catalog isolinux/isolinux.cat -eltorito-alt-boot -e /boot/grub/efiboot.img -no-emul-boot -isohybrid-gpt-basdat -append_partition 2 0xef ${HOME}/build/immudex-${debver}/${arch}/staging/boot/grub/efiboot.img ${HOME}/build/immudex-${debver}/${arch}/staging >> immudex_build.log 2>&1; if [ $? -eq 0 ]; then echo -e "[ ${GREEN}OK${ENDCOLOR} ]"; fi diff --git a/versions/base.sh b/versions/base.sh index 4d0ad00..415a8f3 100644 --- a/versions/base.sh +++ b/versions/base.sh @@ -2,7 +2,7 @@ set -e -DEBVER='oldstable' +DEBVER="$1"; ARCH=$(dpkg --print-architecture); LWVER='120.0-2'; LWTEST=1; -- 2.39.5