diff --git a/make_mksquashfs.sh b/make_mksquashfs.sh index 660896b..e9746a4 100644 --- a/make_mksquashfs.sh +++ b/make_mksquashfs.sh @@ -9,9 +9,11 @@ work_dir=work out_dir=out install_dir=arch +arch=$(uname -m) + mkdir -p ${work_dir} mkdir -p ${work_dir}/airootfs -pacstrap -i ${work_dir}/airootfs base base-devel syslinux efibootmgr efitools grub +pacstrap -c -d -G -M ${work_dir}/airootfs base base-devel syslinux efibootmgr efitools grub curl -o ${work_dir}/airootfs/usr/lib/initcpio/install/archiso https://raw.githubusercontent.com/simono41/archiso/master/archiso/initcpio/install/archiso curl -o ${work_dir}/airootfs/usr/lib/initcpio/hooks/archiso https://raw.githubusercontent.com/simono41/archiso/master/archiso/initcpio/hooks/archiso @@ -29,37 +31,37 @@ arch-chroot ${work_dir}/airootfs mkinitcpio -p linux mkdir ${work_dir}/iso mkdir ${work_dir}/iso/isolinux -mkdir ${work_dir}/iso/arch -mkdir ${work_dir}/iso/arch/boot -mkdir ${work_dir}/iso/arch/x86_64 -mkdir ${work_dir}/iso/arch/boot/x86_64 -mkdir ${work_dir}/iso/arch/boot/syslinux +mkdir ${work_dir}/iso/${install_dir} +mkdir ${work_dir}/iso/${install_dir}/boot +mkdir ${work_dir}/iso/${install_dir}/${arch} +mkdir ${work_dir}/iso/${install_dir}/boot/${arch} +mkdir ${work_dir}/iso/${install_dir}/boot/syslinux -cp -R ${work_dir}airootfs/usr/lib/syslinux/bios/* ${work_dir}iso/arch/boot/syslinux/ -cp ${work_dir}/airootfs/boot/initramfs-linux.img ${work_dir}/iso/arch/boot/x86_64/archiso.img -cp ${work_dir}/airootfs/boot/vmlinuz-linux ${work_dir}/iso/arch/boot/x86_64/ +cp -R ${work_dir}airootfs/usr/lib/syslinux/bios/* ${work_dir}iso/${install_dir}/boot/syslinux/ +cp ${work_dir}/airootfs/boot/initramfs-linux.img ${work_dir}/iso/arch/boot/${arch}/archiso.img +cp ${work_dir}/airootfs/boot/vmlinuz-linux ${work_dir}/iso/arch/boot/${arch}/ cp ${work_dir}/airootfs/usr/lib/syslinux/bios/isolinux.bin ${work_dir}/iso/isolinux/ cp ${work_dir}/airootfs/usr/lib/syslinux/bios/isohdpfx.bin ${work_dir}/iso/isolinux/ cp ${work_dir}/airootfs/usr/lib/syslinux/bios/ldlinux.c32 ${work_dir}/iso/isolinux/ arch-chroot ${work_dir}/airootfs LANG=C pacman -Sl | awk '/\[installed\]$/ {print $1 "/" $2 "-" $3}' > /pkglist.txt -cp ${work_dir}/airootfs/pkglist.txt ${work_dir}/iso/arch/x86_64/ +cp ${work_dir}/airootfs/pkglist.txt ${work_dir}/iso/${install_dir}/${arch}/ arch-chroot ${work_dir}/airootfs pacman -Scc -mksquashfs ${work_dir}/airootfs ${work_dir}/iso/arch/x86_64/airootfs.sfs -noappend -comp xz -md5sum ${work_dir}/iso/arch/x86_64/airootfs.sfs > ${work_dir}/iso/arch/x86_64/airootfs.md5 +mksquashfs ${work_dir}/airootfs ${work_dir}/iso/${install_dir}/${arch}/airootfs.sfs -noappend -comp xz +md5sum ${work_dir}/iso/${install_dir}/${arch}/airootfs.sfs > ${work_dir}/iso/${install_dir}/x86_64/airootfs.md5 -echo "DEFAULT menu.c32" > ${work_dir}/iso/arch/boot/syslinux/syslinux.cfg -echo "PROMPT 0" >> ${work_dir}/iso/arch/boot/syslinux/syslinux.cfg -echo "MENU TITLE ${iso_name}" >> ${work_dir}/iso/arch/boot/syslinux/syslinux.cfg -echo "TIMEOUT 300" >> ${work_dir}/iso/arch/boot/syslinux/syslinux.cfg -echo "" >> ${work_dir}/iso/arch/boot/syslinux/syslinux.cfg -echo "LABEL arch" >> ${work_dir}/iso/arch/boot/syslinux/syslinux.cfg -echo "MENU LABEL ${iso_name}" >> ${work_dir}/iso/arch/boot/syslinux/syslinux.cfg -echo "LINUX ../x86_64/vmlinuz-linux" >> ${work_dir}/iso/arch/boot/syslinux/syslinux.cfg -echo "INITRD ../x86_64/archiso.img" >> ${work_dir}/iso/arch/boot/syslinux/syslinux.cfg -echo "APPEND archisolabel=${iso_name}" >> ${work_dir}/iso/arch/boot/syslinux/syslinux.cfg -echo "" >> ${work_dir}/iso/arch/boot/syslinux/syslinux.cfg -echo "ONTIMEOUT arch" >> ${work_dir}/iso/arch/boot/syslinux/syslinux.cfg +echo "DEFAULT menu.c32" > ${work_dir}/iso/${install_dir}/boot/syslinux/syslinux.cfg +echo "PROMPT 0" >> ${work_dir}/iso/${install_dir}/boot/syslinux/syslinux.cfg +echo "MENU TITLE ${iso_name}" >> ${work_dir}/iso/${install_dir}/boot/syslinux/syslinux.cfg +echo "TIMEOUT 300" >> ${work_dir}/iso/${install_dir}/boot/syslinux/syslinux.cfg +echo "" >> ${work_dir}/iso/${install_dir}/boot/syslinux/syslinux.cfg +echo "LABEL arch" >> ${work_dir}/iso/${install_dir}/boot/syslinux/syslinux.cfg +echo "MENU LABEL ${iso_name}" >> ${work_dir}/iso/${install_dir}/boot/syslinux/syslinux.cfg +echo "LINUX ../x86_64/vmlinuz-linux" >> ${work_dir}/iso/${install_dir}/boot/syslinux/syslinux.cfg +echo "INITRD ../x86_64/archiso.img" >> ${work_dir}/iso/${install_dir}/boot/syslinux/syslinux.cfg +echo "APPEND archisolabel=${iso_name}" >> ${work_dir}/iso/${install_dir}/boot/syslinux/syslinux.cfg +echo "" >> ${work_dir}/iso/${install_dir}/boot/syslinux/syslinux.cfg +echo "ONTIMEOUT arch" >> ${work_dir}/iso/${install_dir}/boot/syslinux/syslinux.cfg echo "DEFAULT loadconfig" > ${work_dir}/iso/isolinux/isolinux.cfg echo "" >> ${work_dir}/iso/isolinux/isolinux.cfg @@ -78,9 +80,10 @@ mkdir -p ${work_dir}/efiboot mount ${work_dir}/iso/EFI/archiso/efiboot.img ${work_dir}/efiboot mkdir -p ${work_dir}/efiboot/EFI/archiso -cp ${work_dir}/iso/${install_dir}/boot/x86_64/vmlinuz ${work_dir}/efiboot/EFI/archiso/vmlinuz.efi -cp ${work_dir}/iso/${install_dir}/boot/x86_64/archiso.img ${work_dir}/efiboot/EFI/archiso/archiso.img +cp ${work_dir}/iso/${install_dir}/boot/${arch}/vmlinuz ${work_dir}/efiboot/EFI/archiso/vmlinuz.efi +cp ${work_dir}/iso/${install_dir}/boot/${arch}/archiso.img ${work_dir}/efiboot/EFI/archiso/archiso.img +cp ${work_dir}/airootfs/boot/intel-ucode.img ${work_dir}/iso/${install_dir}/boot/intel_ucode.img cp ${work_dir}/iso/${install_dir}/boot/intel_ucode.img ${work_dir}/efiboot/EFI/archiso/intel_ucode.img mkdir -p ${work_dir}/efiboot/EFI/boot @@ -106,10 +109,10 @@ cp ${work_dir}/iso/EFI/shellx64_v1.efi ${work_dir}/efiboot/EFI/ umount -d ${work_dir}/efiboot mkdir -p ${work_dir}/iso/EFI/boot -cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/PreLoader.efi ${work_dir}/iso/EFI/boot/bootx64.efi -cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/HashTool.efi ${work_dir}/iso/EFI/boot/ +cp ${work_dir}/airootfs/usr/share/efitools/efi/PreLoader.efi ${work_dir}/iso/EFI/boot/bootx64.efi +cp ${work_dir}/airootfs/usr/share/efitools/efi/HashTool.efi ${work_dir}/iso/EFI/boot/ -cp ${work_dir}/x86_64/airootfs/usr/lib/systemd/boot/efi/systemd-bootx64.efi ${work_dir}/iso/EFI/boot/loader.efi +cp ${work_dir}/airootfs/usr/lib/systemd/boot/efi/systemd-bootx64.efi ${work_dir}/iso/EFI/boot/loader.efi mkdir -p ${work_dir}/iso/loader mkdir -p ${work_dir}/iso/loader/entries @@ -141,5 +144,5 @@ xorriso -as mkisofs \ -eltorito\-catalog isolinux/boot.cat \ -no-emul-boot -boot-load-size 4 -boot-info-table \ -isohybrid-mbr $(pwd)/${work_dir}/iso/isolinux/isohdpfx.bin \ --output ${out_dir}/arch-${iso_label}-$(date "+%y.%m.%d")-x86_64.iso ${work_dir}/iso/ +-output ${out_dir}/arch-${iso_label}-$(date "+%y.%m.%d")-${arch}.iso ${work_dir}/iso/ fi