2016-05-27 11:56:23 +01:00
|
|
|
#!/bin/bash -e
|
|
|
|
|
2021-09-20 15:16:15 +01:00
|
|
|
NOOBS_DIR="${STAGE_WORK_DIR}/${IMG_NAME}${IMG_SUFFIX}"
|
2018-03-02 20:08:24 +00:00
|
|
|
mkdir -p "${STAGE_WORK_DIR}"
|
2021-02-10 11:37:15 +01:00
|
|
|
|
2022-03-01 17:23:42 +01:00
|
|
|
IMG_FILE="${WORK_DIR}/export-image/${IMG_FILENAME}${IMG_SUFFIX}.img"
|
2021-02-10 11:37:15 +01:00
|
|
|
|
|
|
|
unmount_image "${IMG_FILE}"
|
2016-05-27 11:56:23 +01:00
|
|
|
|
2018-12-17 01:02:18 +01:00
|
|
|
rm -rf "${NOOBS_DIR}"
|
2016-05-27 11:56:23 +01:00
|
|
|
|
2022-11-11 19:56:04 +11:00
|
|
|
echo "Creating loop device..."
|
2020-09-23 11:54:37 -07:00
|
|
|
cnt=0
|
2023-08-17 10:24:47 -05:00
|
|
|
until ensure_next_loopdev && LOOP_DEV="$(losetup --show --find --partscan "$IMG_FILE")"; do
|
2020-09-23 11:54:37 -07:00
|
|
|
if [ $cnt -lt 5 ]; then
|
|
|
|
cnt=$((cnt + 1))
|
2022-11-11 19:56:04 +11:00
|
|
|
echo "Error in losetup. Retrying..."
|
2020-09-23 11:54:37 -07:00
|
|
|
sleep 5
|
|
|
|
else
|
2022-11-11 19:56:04 +11:00
|
|
|
echo "ERROR: losetup failed; exiting"
|
2020-09-23 11:54:37 -07:00
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
2024-01-04 13:05:51 +02:00
|
|
|
ensure_loopdev_partitions "$LOOP_DEV"
|
2022-11-11 19:56:04 +11:00
|
|
|
BOOT_DEV="${LOOP_DEV}p1"
|
|
|
|
ROOT_DEV="${LOOP_DEV}p2"
|
2016-05-27 11:56:23 +01:00
|
|
|
|
2018-03-02 20:08:24 +00:00
|
|
|
mkdir -p "${STAGE_WORK_DIR}/rootfs"
|
|
|
|
mkdir -p "${NOOBS_DIR}"
|
2016-05-27 11:56:23 +01:00
|
|
|
|
2018-03-02 20:08:24 +00:00
|
|
|
mount "$ROOT_DEV" "${STAGE_WORK_DIR}/rootfs"
|
|
|
|
mount "$BOOT_DEV" "${STAGE_WORK_DIR}/rootfs/boot"
|
2016-05-27 11:56:23 +01:00
|
|
|
|
2017-07-12 12:33:57 +01:00
|
|
|
ln -sv "/lib/systemd/system/apply_noobs_os_config.service" "$ROOTFS_DIR/etc/systemd/system/multi-user.target.wants/apply_noobs_os_config.service"
|
|
|
|
|
2020-12-02 16:56:25 +00:00
|
|
|
KERNEL_VER="$(zgrep -oPm 1 "Linux version \K(.*)$" "${STAGE_WORK_DIR}/rootfs/usr/share/doc/raspberrypi-kernel/changelog.Debian.gz" | cut -f-2 -d.)"
|
|
|
|
echo "$KERNEL_VER" > "${STAGE_WORK_DIR}/kernel_version"
|
|
|
|
|
2019-03-11 11:49:04 +00:00
|
|
|
bsdtar --numeric-owner --format gnutar -C "${STAGE_WORK_DIR}/rootfs/boot" -cpf - . | xz -T0 > "${NOOBS_DIR}/boot.tar.xz"
|
2018-03-02 20:08:24 +00:00
|
|
|
umount "${STAGE_WORK_DIR}/rootfs/boot"
|
2019-03-11 11:49:04 +00:00
|
|
|
bsdtar --numeric-owner --format gnutar -C "${STAGE_WORK_DIR}/rootfs" --one-file-system -cpf - . | xz -T0 > "${NOOBS_DIR}/root.tar.xz"
|
2016-05-27 11:56:23 +01:00
|
|
|
|
2021-02-10 11:37:15 +01:00
|
|
|
if [ "${USE_QCOW2}" = "1" ]; then
|
|
|
|
rm "$ROOTFS_DIR/etc/systemd/system/multi-user.target.wants/apply_noobs_os_config.service"
|
|
|
|
fi
|
|
|
|
|
2018-03-02 20:08:24 +00:00
|
|
|
unmount_image "${IMG_FILE}"
|