1. umount previous mounts

umount /run/media/alain/BOOT/ /run/media/alain/root/

2. mount the CentOS image

xzcat -v /home/alain/img/centos/CentOS-Userland-7-armv7hl-RaspberryPI-Minimal-4-2009-sda.raw.xz > /tmp/image.img
kpartx -av /tmp/image.img

3. partition and format the external disks

wipefs -a /dev/mmcblk0
parted -s /dev/mmcblk0 mklabel "msdos" || true
echo ",1G,0c" > /tmp/prep.rsp
echo ",,82" >> /tmp/prep.rsp
sfdisk -q /dev/mmcblk0 < /tmp/prep.rsp
partprobe /dev/mmcblk0
mkfs.vfat -F 32 -n "BOOT" /dev/mmcblk0p1
mkswap -L "swap" /dev/mmcblk0p2
wipefs -a /dev/sdb
parted -s /dev/sdb mklabel "msdos" || true
parted -a "optimal" -s /dev/sdb mkpart extended "0% 100%"
parted -a "optimal" -s /dev/sdb mkpart logical "0% 16G"
parted -a "optimal" -s /dev/sdb mkpart logical "16G 100%"
partprobe /dev/sdb
sfdisk --part-type /dev/sdb "1" "05"
echo y | mkfs.ext4 -m 0.1 -L "root" -O "-metadata_csum" /dev/sdb5
echo y | mkfs.ext4 -m 0.1 -L "data1" -O "-metadata_csum" /dev/sdb6

4. mount and rsync the external disks

mkdir -p /mnt/loop1 /mnt/loop3 /mnt/part1 /mnt/part5
mount /dev/mapper/loop0p1 /mnt/loop1/
mount /dev/mapper/loop0p3 /mnt/loop3/
mount /dev/mmcblk0p1 /mnt/part1/
mount /dev/sdb5 /mnt/part5/
rsync -ai /mnt/loop1/ /mnt/part1/
rsync -ai /mnt/loop3/ /mnt/part5/

5. fix some stuff

echo "dtoverlay=act-led,gpio=7" > /mnt/part1/config.txt
cube /mnt/part1/cmdline.txt "mmcblk0p3" with "sda5"
cube /mnt/part5/etc/selinux/config "SELINUX=enforcing" with "SELINUX=disabled"
echo "#" > /mnt/part5/etc/fstab
echo "/dev/sda5 / ext4 defaults,noatime 0 0" >> /mnt/part5/etc/fstab
echo "/dev/mmcblk0p1 /boot vfat defaults,noatime 0 0" >> /mnt/part5/etc/fstab
echo "/dev/mmcblk0p2 swap swap defaults,noatime 0 0" >> /mnt/part5/etc/fstab

6. umount all disks and loops

sync
umount /mnt/part1/ /mnt/part5/ /mnt/loop1/ /mnt/loop3/
kpartx -dv /tmp/image.img
rm -fv /tmp/image.img