VOLUME := ${image}
PBOOT := part_boot.img
PROOT := part_root.img
- SYSROOT := sys_root_${release}/
+ SYSROOT := sys_root_${release}_${ARCH}/
CFGROOT := img_mount/
_target: _mbr _umount _config _install
_mbr: _partcopy _bootloader_pc
else ifdef subvol
- SYSROOT := sys_root_${release}/
+ SYSROOT := sys_root_${release}_${ARCH}/
CFGROOT := cfg_root/
_target: _install _config ${subvol}
else ifdef squash
SQUASH := ${squash}
- SYSROOT := sys_root_${release}/
+ SYSROOT := sys_root_${release}_${ARCH}/
CFGROOT := cfg_root/
PACKAGES += squashfs-tools nbd-client
else ifdef iso
ISO := ${iso}
ISOROOT := iso_root/
- SYSROOT := sys_root_${release}/
+ SYSROOT := sys_root_${release}_${ARCH}/
CFGROOT := cfg_root/
BOOT_MB := 2
PBOOT := ${ISOROOT}/efi.img
_iso_image: _bootloader_iso _isosquash # _efi_umount
else ifdef raspi
+ ARCH := armhf
+
VOLUME := ${raspi}
PBOOT := rpi_boot.img
PROOT := rpi_root.img
- SYSROOT := rpi_root_${release}/
+ SYSROOT := sys_root_${release}_${ARCH}/
CFGROOT := img_mount/
- ARCH := armhf
KEYRING := keys/raspbian-archive-keyring.gpg
BOOTSTRAP := http://raspbian.raspberrypi.org/raspbian
_copy: _install _img_mount
_config: _copy _img_mount
_bootloader_raspi: _img_mount
- _umount: _img_mount _config _bootloader_raspi
+ _umount: _copy _config _bootloader_raspi
else
_target:
export SOURCES SYSROOT CFGROOT VOLUME PBOOT PROOT SQUASH ARCH KEYRING BOOTSTRAP ISOROOT ISO
-sys_root_${release}/:
- btrfs subvol create "$@" || mkdir "$@"
- chmod 755 "$@"
-
-rpi_root_${release}/:
+sys_root_${release}_${ARCH}/:
btrfs subvol create "$@" || mkdir "$@"
chmod 755 "$@"
-cfg_root/: sys_root_${release}/ _install
+cfg_root/: sys_root_${release}_${ARCH}/ _install
-btrfs sub del "$@" || rm -r "$@"
btrfs sub snap "$<" "$@" || mkdir "$@"
chmod 755 "$@"
chroot "$${SYSROOT}" rm /usr/sbin/udevadm
_copy: ${SYSROOT} ${CFGROOT}
+ sync
+ find "$${SYSROOT}" -lname '' -exec ln -sf /dev/null '{}' \;
cp -au "$${SYSROOT}/." "$${CFGROOT}/"
_config: ${CFGROOT}
mountpoint "$${CFGROOT}" \
|| mount -o loop,offset="$$((${BOOT_MB} + 2))"M,sizelimit=${ROOT_MB}M \
-t ${fstype} "$${VOLUME}" "$${CFGROOT}"
+ sync
chmod 755 "$${CFGROOT}"
mkdir -p -m 755 "$${CFGROOT}/boot"
mountpoint "$${CFGROOT}/boot" \
|| mount -o loop,offset=2M,sizelimit=${BOOT_MB}M \
-t vfat "$${VOLUME}" "$${CFGROOT}/boot"
-_umount_boot: ${CFGROOT}
+_umount_boot: ${CFGROOT} _config
-umount "$${CFGROOT}/boot"
-_umount_root: _umount_boot
+_umount_root: _umount_boot _config
umount "$${CFGROOT}" && rmdir "$${CFGROOT}"
_umount: _umount_boot _umount_root
-rmdir hdd_mount
if [ -d "cfg_root/" ]; then btrfs sub del "cfg_root/" || rm -r "cfg_root/"; fi
if [ -d "iso_root/" ]; then btrfs sub del "iso_root/" || rm -r "iso_root/"; fi
- if [ -d "sys_root_${release}/" ]; then btrfs sub del "sys_root_${release}/" || rm -r "sys_root_${release}/"; fi
- if [ -d "rpi_root_${release}/" ]; then btrfs sub del "rpi_root_${release}/" || rm -r "rpi_root_${release}/"; fi
+ if [ -d "sys_root_${release}_${ARCH}/" ]; then btrfs sub del "sys_root_${release}_${ARCH}/" || rm -r "sys_root_${release}_${ARCH}/"; fi
-rm part_boot.img
-rm part_root.img
-rm rpi_boot.img