Talk:Archiso

From ArchWiki
Jump to: navigation, search

Sourceforce error for edk2 files

build.sh contains the following two lines:

curl -o ${work_dir}/iso/EFI/shellx64_v2.efi https://svn.code.sf.net/p/edk2/code/trunk/edk2/ShellBinPkg/UefiShell/X64/Shell.efi
curl -o ${work_dir}/iso/EFI/shellx64_v1.efi https://svn.code.sf.net/p/edk2/code/trunk/edk2/EdkShellBinPkg/FullShell/X64/Shell_Full.efi

These lines failed with the error: curl: (7) Failed to connect to svn.code.sf.net port 443: Connection refused
As a workaround, I used those same files from the GitHub page of the TianoCore Project:

curl -o ${work_dir}/iso/EFI/shellx64_v2.efi https://github.com/tianocore/edk2/blob/master/EdkShellBinPkg/MinimumShell/X64/Shell.efi?raw=true
curl -o ${work_dir}/iso/EFI/shellx64_v1.efi https://github.com/tianocore/edk2/blob/master/EdkShellBinPkg/FullShell/Arm/Shell_Full.efi?raw=true

Not sure if this is a temporary problem or those URLs need to be replaced permanently. --TcShadowWalker (talk) 19:48, 16 July 2015 (UTC)

Archiso doesn't work on non stock kernel

I've been having on and off issues when building ISOs with archiso and the other day when I was working on one I did a pacman -Syu before working but didn't reboot. I was running on the stock kernel at that point because the linux-ck kernel had not updated yet. My ISO built fine. Later that day I rebooted and was now running on the updated linux-ck kernel and suddenly the build process would simply die without any errors, even with the -v option. Right after installing all the custom packages, a dd output appears and then a mkfs.vfat version message appears and that's where it dies. Rebooting back to the stock arch kernel fixed the issue. I'm guessing it has something to do with hardcoded names or something like that in the build scripts.

Is this normal behaviour? I don't mind using the stock kernel on the ISOs I build but I figured I'd at least be able to build them on a different one.

On that note, is it possible to use a kernel other than the stock one within the ISOs we build? Biltong (talk) Sun May 6 2012, 21:47 SAST

Sidenote:

Re-initializing pacman can be important, though I'm not sure. Pacman-key#Initializing_the_keyring

Consider trying out -Archboot- GUI for installation: FAQ#Q.29_Arch_needs_an_installer._Maybe_a_GUI_installer

—This unsigned comment is by Ubunchu (talk) 01:40, 28 March 2013‎. Please sign your posts with ~~~~!

Estimating size? Starting over?

How do you best estimate the size?

How do you start over? Suppose just take `etc/`, delete the `releng/` directory recopy, put stuff back. Jasper1984 (talk) 13:46, 1 July 2013 (UTC)

Best way to start over is delete releng/{work,out} it keeps cached packages, and there is no need to do every step from the beginning. —This unsigned comment is by Jqvillanova (talk) 14:08, 5 October 2013‎. Please sign your posts with ~~~~!

Encryption

  • with «cryptsetup», encrypt the file «airootfs.sfs» built with «mkarchiso» :
# cd /path/to/buildir/
# cd ./work/iso/arch/x86_64/
# cryptsetup --type plain open ./airootfs.sfs encrypt
# dd bs=4M < ./airootfs.sfs > /dev/mapper/encrypt
# sync
# dmsetup remove encrypt
# md5sum airootfs.sfs > airootfs.md5
# cd -

(note that you can't decrypt the encrypted file «airootfs.sfs» in the same way)

  • add the hook «encrypt» in «mkinitcpio.conf» :
# grep HOOKS ./work/airootfs/etc/mkinitcpio.conf
HOOKS="... encrypt"


  • insert these lines in «archiso» hook :
--- a/work/airootfs/usr/lib/initcpio/hooks/archiso
+++ b/work/airootfs/usr/lib/initcpio/hooks/archiso
@@ -65,6 +65,14 @@
     fi
     sfs_dev=$(losetup --find --show --read-only "${img}")
     echo ${sfs_dev} >> /run/archiso/used_block_devices
+    if [[ "${cryptsetup}" == "y" ]]; then
+        msg ":: Mapping encrypted squashfs..."
+        local map="${sfs_dev##*/}.map"
+        cryptsetup --type plain open "${sfs_dev}" "${map}"
+        sfs_dev="/dev/mapper/${map}"
+    fi
     _mnt_dev "${sfs_dev}" "${mnt}" "-r"
 }


  • add «cryptsetup» to your boot kernel parameters :
# grep APPEND ./work/iso/syslinux/syslinux.cfg
APPEND ... cryptsetup


  • rebuild iso with «mkarchiso» and test :
# mkarchiso iso encrypted.iso
# qemu ... ./out/encrypted.iso


Lacsap (talk) 21:51, 20 Feb 2016 (UTC)

Rebuilding the iso after removing the lock files is not enough

The wiki states that to rebuild the iso, you have to remove lock files in the work directory

However, this is not enough, because the script stops after reaching "adduser" command with "user exists" error Hadiyazdi (talk) 13:50, 11 March 2015 (UTC)

Copying file tha neither go in /skel/ or /etc/

It is unclear whether it is possible and how to prepare folder in some other directory of the hierarchy. E.g. if one wanted to prepare a custom xinitrc file, should one run

  1. mkdir /etc/X11/xinit/xinitrc
  2. cp /path/to/customxinitrc/xinitrc /etc/X11/xinit/xinitrc

or whether one should put instead a dedicated line in one of the building script.

I am not yet qualified enough to do this, but it is not a request for personal help, but rather a issue concerning a relevant (imo) point in the page.

Navi se (talk) 12:37, 6 January 2016 (UTC)