I have been trying to create a custom Arch ISO by following the archiso article at The ArchWiki, unfortunately whenever I run ./build.sh -v from my ~/archlive directory I get one of two types of error. Here is one such type of error:
[mkarchiso] INFO: Installing packages to 'work/i686/airootfs/'...
==> Creating install root at work/i686/airootfs
mount: udev is already mounted or /root/archlive/work/i686/airootfs/dev busy
udev is already mounted on /root/archlive/work/i686/airootfs/dev
udev is already mounted on /root/archlive/work/i686/airootfs/dev
==> ERROR: failed to setup chroot work/i686/airootfs
To solve this problem I run umount /root/archlive/work/i686/airootfs/dev but this does not always work (in the case of it 'not working' it returns the exact same error when I re-run ./build.sh -v). Alternatively sometimes running ./build.sh -v returns thousands of lines of the form:
cp: cannot create hard link 'work/airootfs/sbin' to 'work/i686/airootfs/sbin': Invalid cross-device link
(where the i686 and sbin of this output varies amongst the thousands of line of output). I initially thought that these errors might be because of my custom modifications to ~/archlive (if you want some specifics here is my GitHub repo containing ~/archlive and ~/customrepo (where I have my custom local pacman repo)), but I then created a fresh ~/archlive2 directory of the releng archiso profile via running:
cp -r /usr/share/archiso/configs/releng/* ~/archlive2
and I got the same errors from running ./build.sh -v in this new directory.
If relevant here is my /etc/fstab file:
#
# /etc/fstab: static file system information
#
# <file system> <dir> <type> <options> <dump> <pass>
# UUID=7d1abebf-09fa-4734-9843-c8d901f1c8ad
/dev/sdb1 / ext4 rw,relatime,data=ordered 0 1
(I am guessing it might be based on this answer)