diff --git a/imageTailor.spec b/imageTailor.spec index 1a14fe8..5f2ce2a 100644 --- a/imageTailor.spec +++ b/imageTailor.spec @@ -3,15 +3,19 @@ Summary: Cut out the ISO License: Mulan PSL v2 Group: System/Management Version: 2.0.1 -Release: 1 +Release: 2 BuildRoot: %{_tmppath}/%{name}-%{version} Source: https://gitee.com/openeuler/imageTailor/repository/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz + +Patch1: openEuler-fixed-make-qcow2-in-docker.patch + Requires: dnf-utils tar python3 drpm genisoimage python3-kiwi kiwi-tools kiwi-systemdeps %description Dopralinux custom tool %prep %setup -c +%autopatch -p1 %install iso_arch=$(uname -m) @@ -67,6 +71,11 @@ rm -rf %{_tmppath}/%{name}-%{version} rm -rf $RPM_BUILD_DIR/%{name}-%{version} %changelog +* Fri Jun 2 2023 chenhuihan - 2.0.1-2 +- ID:NA +- SUG:NA +- DESC: fixed make qcow2 in docker + * Tue May 23 2023 chenhuihan - 2.0.1-1 - ID:NA - SUG:NA diff --git a/openEuler-fixed-make-qcow2-in-docker.patch b/openEuler-fixed-make-qcow2-in-docker.patch new file mode 100644 index 0000000..5ff7d87 --- /dev/null +++ b/openEuler-fixed-make-qcow2-in-docker.patch @@ -0,0 +1,176 @@ +From 47df8ef9593ecaf23b84b15e4032557b8aff3005 Mon Sep 17 00:00:00 2001 +From: chenhuihan +Date: Fri, 2 Jun 2023 10:08:18 +0800 +Subject: [PATCH] update + +--- + .../conf/aarch64/custom/cfg_qcow2/bin/create-image | 9 +++++++++ + .../custom/cfg_qcow2/hooks/finalise.d/50-bootloader | 4 ++++ + .../conf/x86_64/custom/cfg_qcow2/bin/create-image | 9 +++++++++ + .../custom/cfg_qcow2/hooks/finalise.d/50-bootloader | 4 ++++ + ...4\275\277\347\224\250\346\214\207\345\215\227.md" | 6 +++--- + imageTailor/mkdliso | 12 +++++++++--- + 6 files changed, 38 insertions(+), 6 deletions(-) + +diff --git a/imageTailor/conf/aarch64/custom/cfg_qcow2/bin/create-image b/imageTailor/conf/aarch64/custom/cfg_qcow2/bin/create-image +index 49d9d6a..f9b6770 100644 +--- a/imageTailor/conf/aarch64/custom/cfg_qcow2/bin/create-image ++++ b/imageTailor/conf/aarch64/custom/cfg_qcow2/bin/create-image +@@ -168,6 +168,9 @@ elif [ $ARCH == "aarch64" ]; then + fi + + export DEVICE=`losetup -f` ++num=$(echo $DEVICE | awk -F 'loop' '{print $2}') ++rm -rf "/dev/loop${num}" ++mknod $DEVICE b 7 $num + /usr/sbin/losetup ${DEVICE} ${NAME} + + offset=`fdisk -l ${NAME} | grep "${NAME}1" | awk '{print $2}'` +@@ -178,6 +181,9 @@ offset=`echo "${offset}*512" | bc` + if [ $ARCH == "aarch64" ]; then + + export BOOT=`losetup -f` ++ num=$(echo $BOOT | awk -F 'loop' '{print $2}') ++ rm -rf "/dev/loop${num}" ++ mknod $BOOT b 7 $num + /usr/sbin/losetup -o ${offset} --sizelimit ${sizelimit} ${BOOT} ${NAME} + /usr/sbin/mkfs.vfat $BOOT + +@@ -189,6 +195,9 @@ if [ $ARCH == "aarch64" ]; then + fi + + export ROOT=`losetup -f` ++num=$(echo $ROOT | awk -F 'loop' '{print $2}') ++rm -rf "/dev/loop${num}" ++mknod $ROOT b 7 $num + export ROOT_FS_UUID=$(uuidgen -r) + /usr/sbin/losetup -o ${offset} --sizelimit ${sizelimit} ${ROOT} ${NAME} + /usr/sbin/mkfs.ext4 -L "rootfs" ${ROOT} +diff --git a/imageTailor/conf/aarch64/custom/cfg_qcow2/hooks/finalise.d/50-bootloader b/imageTailor/conf/aarch64/custom/cfg_qcow2/hooks/finalise.d/50-bootloader +index 2da4c0f..4883fa0 100644 +--- a/imageTailor/conf/aarch64/custom/cfg_qcow2/hooks/finalise.d/50-bootloader ++++ b/imageTailor/conf/aarch64/custom/cfg_qcow2/hooks/finalise.d/50-bootloader +@@ -48,6 +48,8 @@ function install_grub2 () + echo "EOF" >> /etc/grub.d/00_header + + grub2-mkconfig -o $GRUB_CFG ++ sed_str="root=UUID=${ROOT_FS_UUID}" ++ sed -i "s#root=/opt/imageTailor/.*.img#${sed_str}#g" $GRUB_CFG + } + + function install_grub2_efi () +@@ -72,6 +74,8 @@ function install_grub2_efi () + echo "EOF" >> /etc/grub.d/00_header + GRUB_CFG=/boot/efi/EFI/openEuler/grub.cfg + grub2-mkconfig -o $GRUB_CFG ++ sed_str="root=UUID=${ROOT_FS_UUID}" ++ sed -i "s#root=/opt/imageTailor/.*.img#${sed_str}#g" $GRUB_CFG + } + + if [ -f /boot/grub2/device.map ]; then +diff --git a/imageTailor/conf/x86_64/custom/cfg_qcow2/bin/create-image b/imageTailor/conf/x86_64/custom/cfg_qcow2/bin/create-image +index 49d9d6a..f9b6770 100644 +--- a/imageTailor/conf/x86_64/custom/cfg_qcow2/bin/create-image ++++ b/imageTailor/conf/x86_64/custom/cfg_qcow2/bin/create-image +@@ -168,6 +168,9 @@ elif [ $ARCH == "aarch64" ]; then + fi + + export DEVICE=`losetup -f` ++num=$(echo $DEVICE | awk -F 'loop' '{print $2}') ++rm -rf "/dev/loop${num}" ++mknod $DEVICE b 7 $num + /usr/sbin/losetup ${DEVICE} ${NAME} + + offset=`fdisk -l ${NAME} | grep "${NAME}1" | awk '{print $2}'` +@@ -178,6 +181,9 @@ offset=`echo "${offset}*512" | bc` + if [ $ARCH == "aarch64" ]; then + + export BOOT=`losetup -f` ++ num=$(echo $BOOT | awk -F 'loop' '{print $2}') ++ rm -rf "/dev/loop${num}" ++ mknod $BOOT b 7 $num + /usr/sbin/losetup -o ${offset} --sizelimit ${sizelimit} ${BOOT} ${NAME} + /usr/sbin/mkfs.vfat $BOOT + +@@ -189,6 +195,9 @@ if [ $ARCH == "aarch64" ]; then + fi + + export ROOT=`losetup -f` ++num=$(echo $ROOT | awk -F 'loop' '{print $2}') ++rm -rf "/dev/loop${num}" ++mknod $ROOT b 7 $num + export ROOT_FS_UUID=$(uuidgen -r) + /usr/sbin/losetup -o ${offset} --sizelimit ${sizelimit} ${ROOT} ${NAME} + /usr/sbin/mkfs.ext4 -L "rootfs" ${ROOT} +diff --git a/imageTailor/conf/x86_64/custom/cfg_qcow2/hooks/finalise.d/50-bootloader b/imageTailor/conf/x86_64/custom/cfg_qcow2/hooks/finalise.d/50-bootloader +index 2da4c0f..4883fa0 100644 +--- a/imageTailor/conf/x86_64/custom/cfg_qcow2/hooks/finalise.d/50-bootloader ++++ b/imageTailor/conf/x86_64/custom/cfg_qcow2/hooks/finalise.d/50-bootloader +@@ -48,6 +48,8 @@ function install_grub2 () + echo "EOF" >> /etc/grub.d/00_header + + grub2-mkconfig -o $GRUB_CFG ++ sed_str="root=UUID=${ROOT_FS_UUID}" ++ sed -i "s#root=/opt/imageTailor/.*.img#${sed_str}#g" $GRUB_CFG + } + + function install_grub2_efi () +@@ -72,6 +74,8 @@ function install_grub2_efi () + echo "EOF" >> /etc/grub.d/00_header + GRUB_CFG=/boot/efi/EFI/openEuler/grub.cfg + grub2-mkconfig -o $GRUB_CFG ++ sed_str="root=UUID=${ROOT_FS_UUID}" ++ sed -i "s#root=/opt/imageTailor/.*.img#${sed_str}#g" $GRUB_CFG + } + + if [ -f /boot/grub2/device.map ]; then +diff --git "a/imageTailor/docs/imageTailor \344\275\277\347\224\250\346\214\207\345\215\227.md" "b/imageTailor/docs/imageTailor \344\275\277\347\224\250\346\214\207\345\215\227.md" +index 72a989e..2103d2e 100644 +--- "a/imageTailor/docs/imageTailor \344\275\277\347\224\250\346\214\207\345\215\227.md" ++++ "b/imageTailor/docs/imageTailor \344\275\277\347\224\250\346\214\207\345\215\227.md" +@@ -871,7 +871,7 @@ GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0 crashkernel=512M oops=panic soft + openEuler产品:openEuler-aarch64.iso 和 openEuler-aarch64.iso.sha256 + EMB_rootfs产品:openEuler-image-qemu-*.rootfs.cpio.gz 和 openEuler-image-qemu-*.rootfs.cpio.gz.sha256 + docker产品:docker.*.tar.xz 和 docker.*.tar.xz.sha256sum 和 docker_source.rpmlist 和 docker_binary.rpmlist +- qcow2产品: qcow2.img 和 qcow2.img.sha256sum ++ qcow2产品: openEuler_{arch}.qcow2 和 openEuler_{arch}.qcow2.sha256sum + + 2. 验证 ISO 镜像文件的完整性。此处假设日期为 2022-03-21-14-48 。 + +@@ -1059,6 +1059,6 @@ Pacific/ zone.tab + ...... + create qcow2 success + $ ls result/2023-05-23-15-29/ +- qcow2.img +- qcow2.img.sha256sum ++ openEuler_aarch64.qcow2 ++ openEuler_aarch64.qcow2.sha256sum + ``` +diff --git a/imageTailor/mkdliso b/imageTailor/mkdliso +index ae9a9f4..5c24e34 100644 +--- a/imageTailor/mkdliso ++++ b/imageTailor/mkdliso +@@ -2426,11 +2426,17 @@ function make_qcow2_image() { + log_error "Failed on build qcow2 image" &> /dev/null + return 1 + fi ++ qemu-img convert -f raw -O qcow2 "${PRODUCT_NAME}.img" "openEuler_${ISO_ARCH}.qcow2" ++ if [ $? -ne 0 ];then ++ log_error "Failed on convert img to qcow2" &> /dev/null ++ return 1 ++ fi ++ rm -rf "${PRODUCT_NAME}.img" ++ sha256sum "openEuler_${ISO_ARCH}.qcow2" > "openEuler_${ISO_ARCH}.qcow2.sha256sum" ++ copy_file_to_result "openEuler_${ISO_ARCH}.qcow2" "openEuler_${ISO_ARCH}.qcow2.sha256sum" + +- sha256sum "${PRODUCT_NAME}.img" > "${PRODUCT_NAME}.img.sha256sum" +- copy_file_to_result "${PRODUCT_NAME}.img" "${PRODUCT_NAME}.img.sha256sum" + echo "create ${PRODUCT_NAME} success" +- rm -rf "${PRODUCT_NAME}.img" "${PRODUCT_NAME}.img.sha256sum" ++ rm -rf "openEuler_${ISO_ARCH}.qcow2" "openEuler_${ISO_ARCH}.qcow2.sha256sum" + return 0 + } + +-- +2.33.0 +