You are not logged in.
The wiki entry about Remastering the Install ISO does not mention how to generate a custom initrd with mkinitcpio for the live cd.
Update: Thanks to djgera's answer i have been able to make it work:
Environment:
mkdir -p ~/arch/{iso,custom}
sudo mount -t iso9660 -o loop ~/archlinux-2013.07.01-dual.iso ~/arch/iso
cp -av ~/arch/iso/* ~/arch/custom && sync && sudo umount ~/arch/iso
unsquashfs -d ~/arch/custom/arch/x86_64/squashfs-root ~/arch/custom/arch/x86_64/root-image.fs.sfs
Mount:
mkdir ~/arch/custom/arch/x86_64/squashfs-root/mnt
sudo mount ~/arch/custom/arch/x86_64/squashfs-root/root-image.fs ~/arch/custom/arch/x86_64/squashfs-root/mnt
sudo mount -vB /dev ~/arch/custom/arch/x86_64/squashfs-root/mnt/dev
sudo mount -vB /sys ~/arch/custom/arch/x86_64/squashfs-root/mnt/sys
sudo mount -vt proc none ~/arch/custom/arch/x86_64/squashfs-root/mnt/proc
Copied kernel to environment:
cp ~/arch/custom/arch/boot/x86_64/vmlinuz ~/arch/custom/arch/x86_64/squashfs-root/mnt/boot/vmlinuz-linux
Chroot:
sudo chroot ~/arch/custom/arch/x86_64/squashfs-root/mnt /bin/bash
# make changes to the live system
export LC_ALL='en_US.UTF-8'
locale-gen
mkinitcpio -c /etc/mkinitcpio-archiso.conf -k /boot/vmlinuz-linux -g /boot/archiso.img
rm /boot/vmlinuz-linux
exit
Moved new initrd out of environment:
mv ~/arch/custom/arch/x86_64/squashfs-root/mnt/boot/archiso.img ~/arch/custom/arch/boot/x86_64/archiso.img
Unmount:
sudo umount ~/arch/custom/arch/x86_64/squashfs-root/mnt/{dev,sys,proc}
sudo umount ~/arch/custom/arch/x86_64/squashfs-root/mnt
Create squashfs:
rm ~/arch/custom/arch/x86_64/root-image.fs.sfs
mksquashfs ~/arch/custom/arch/x86_64/squashfs-root ~/arch/custom/arch/x86_64/root-image.fs.sfs
rm -rf ~/arch/custom/arch/x86_64/squashfs-root
Create iso:
genisoimage -l -r -J -V "ARCH_201307" -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -c isolinux/boot.cat -o ~/arch/archlinux-2013.07.01-dual_custom.iso ~/arch/custom
Last edited by g3n3r1c (2013-07-28 16:26:16)
Offline
Hello
Run inside chroot:
mkinitcpio -c /etc/mkinitcpio-archiso.conf -k /boot/vmlinuz-linux -g /boot/archiso.img
But doing these steps are too much complex, do not remaster (also such wiki is outdated). Just create a new customized one using archiso::releng profile.
pacman -S archiso
cd /tmp # or any other working directory with at least 3G free
cp -r /usr/share/archiso/configs/releng .
cd releng
# cutomize what you want here (look on root-image/ directory and build.sh to see how things works)
# sed 's/i686//' build.sh Do this if you not want also i686 on final iso.
./build.sh
I suggest to build a new one without any cuztomizations to see how things works, next start to cuztomize it.
Offline
Thank you djgera!
mkinitcpio -c /etc/mkinitcpio-archiso.conf -k /boot/vmlinuz-linux -g /boot/archiso.img
was exactly what was needed!
About the archiso packet: I think I'll keep up my way of doing this because it can be done without the script with any linux distro.
Offline