From a366bd6251041147597955fd163a1ff4ee2ec0cf Mon Sep 17 00:00:00 2001 From: yafen Date: Tue, 24 Nov 2020 23:37:04 +0800 Subject: [PATCH 1/5] cat /proc/mounts&workdir bug fix --- build-image.sh | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/build-image.sh b/build-image.sh index 225143d..a2dc4c0 100644 --- a/build-image.sh +++ b/build-image.sh @@ -110,8 +110,6 @@ INSTALL_PACKAGES(){ done } -trap 'UMOUNT_ALL' EXIT - prepare(){ if [ ! -d ${tmp_dir} ]; then mkdir -p ${tmp_dir} @@ -267,6 +265,7 @@ make_rootfs(){ make_img(){ LOG "make ${img_file} begin..." + device="" LOSETUP_D_IMG size=`du -sh --block-size=1MiB ${rootfs_dir} | cut -f 1 | xargs` size=$(($size+1100)) @@ -361,7 +360,17 @@ fi OS_NAME=openEuler -workdir=$(cd "$(dirname $workdir)"; pwd)/$(basename $workdir) +if [ "x${workdir}" == "x./" ]; then + workdir=${cur_dir} +fi +if [ "x${workdir}" == "x/" ]; then + workdir="" +elif [ "x$(dirname $workdir)" == "x/" ]; then + workdir=/$(basename $workdir) +else + workdir=$(cd "$(dirname $workdir)"; pwd)/$(basename $workdir) +fi + rootfs_dir=${workdir}/raspi_output/rootfs root_mnt=${workdir}/raspi_output/root boot_mnt=${workdir}/raspi_output/boot @@ -373,6 +382,7 @@ CONFIG_RPM_LIST=${euler_dir}/rpmlist builddate=$(date +%Y%m%d) +trap 'UMOUNT_ALL' EXIT UMOUNT_ALL prepare IFS=$'\n' -- Gitee From 9e10b23d3404733196fc850c0355497013af639d Mon Sep 17 00:00:00 2001 From: yafen Date: Wed, 25 Nov 2020 11:28:38 +0800 Subject: [PATCH 2/5] download openEuler-release.rpm fail --- build-image.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/build-image.sh b/build-image.sh index a2dc4c0..c68ae8d 100644 --- a/build-image.sh +++ b/build-image.sh @@ -170,6 +170,7 @@ prepare(){ mkdir -p ${log_dir} fi LOG "prepare begin..." + dnf clean all # dnf makecache # dnf install -y dnf-plugins-core tar parted dosfstools -- Gitee From 00b70da3e47acc69cbb9d690f01892e58154df71 Mon Sep 17 00:00:00 2001 From: yafen Date: Wed, 25 Nov 2020 17:42:37 +0800 Subject: [PATCH 3/5] dnf makecache after dnf clean all --- build-image.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-image.sh b/build-image.sh index c68ae8d..a66fbb4 100644 --- a/build-image.sh +++ b/build-image.sh @@ -171,7 +171,7 @@ prepare(){ fi LOG "prepare begin..." dnf clean all - # dnf makecache + dnf makecache # dnf install -y dnf-plugins-core tar parted dosfstools if [ -d ${rootfs_dir} ]; then -- Gitee From e201d3832f5ea2a4f2a9086eb7e0fbd717536eb3 Mon Sep 17 00:00:00 2001 From: yafen Date: Wed, 25 Nov 2020 18:54:24 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E8=A1=A5=E5=85=85=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=E8=BF=90=E8=A1=8C=E7=8E=AF=E5=A2=83=E9=9C=80=E8=A6=81=E5=AE=89?= =?UTF-8?q?=E8=A3=85=E7=9A=84=E8=BD=AF=E4=BB=B6=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build-image.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-image.sh b/build-image.sh index a66fbb4..7c85dbf 100644 --- a/build-image.sh +++ b/build-image.sh @@ -172,7 +172,7 @@ prepare(){ LOG "prepare begin..." dnf clean all dnf makecache - # dnf install -y dnf-plugins-core tar parted dosfstools + # dnf install -y dnf-plugins-core tar parted dosfstools grep bash xz kpartx if [ -d ${rootfs_dir} ]; then rm -rf ${rootfs_dir} -- Gitee From 8976181b249f49216db32c47cc5924270aafc033 Mon Sep 17 00:00:00 2001 From: yafen Date: Thu, 26 Nov 2020 15:17:05 +0800 Subject: [PATCH 5/5] normalize workdir --- build-image.sh | 29 +++++++++-------------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/build-image.sh b/build-image.sh index 7c85dbf..66cbe4a 100644 --- a/build-image.sh +++ b/build-image.sh @@ -197,7 +197,6 @@ prepare(){ done set +e os_release_name=${OS_NAME}-release - # yumdownloader --downloaddir=${tmp_dir} ${os_release_name} -c ${repo_file} dnf ${repo_info} --disablerepo="*" --downloaddir=${tmp_dir}/ download ${os_release_name} if [ $? != 0 ]; then ERROR "Fail to download ${os_release_name}!" @@ -218,7 +217,6 @@ make_rootfs(){ UMOUNT_ALL rm -rf ${rootfs_dir} fi - mkdir -p ${rootfs_dir} mkdir -p ${rootfs_dir}/var/lib/rpm rpm --root ${rootfs_dir} --initdb rpm -ivh --nodeps --root ${rootfs_dir}/ ${os_release_name} @@ -229,10 +227,7 @@ make_rootfs(){ mkdir -p ${rootfs_dir}/etc/yum.repos.d fi cp ${repo_file} ${rootfs_dir}/etc/yum.repos.d/tmp.repo - # dnf --installroot=${rootfs_dir}/ install dnf --nogpgcheck -y # --repofrompath=tmp,${rootfs_dir}/etc/yum.repos.d/tmp.repo --disablerepo="*" dnf --installroot=${rootfs_dir}/ makecache - # dnf --installroot=${rootfs_dir}/ install -y alsa-utils wpa_supplicant vim net-tools iproute iputils NetworkManager openssh-server passwd hostname ntp bluez pulseaudio-module-bluetooth - # dnf --installroot=${rootfs_dir}/ install -y raspberrypi-kernel raspberrypi-firmware openEuler-repos set +e INSTALL_PACKAGES $CONFIG_RPM_LIST cat ${rootfs_dir}/etc/systemd/timesyncd.conf | grep "^NTP*" @@ -280,8 +275,6 @@ make_img(){ LOG "after losetup: ${device}" trap 'LOSETUP_D_IMG' EXIT LOG "image ${img_file} created and mounted as ${device}" - # loopX=`kpartx -va ${device} | sed -E 's/.*(loop[0-9])p.*/\1/g' | head -1` - # LOG "after kpartx: ${loopX}" kpartx -va ${device} loopX=${device##*\/} partprobe ${device} @@ -361,23 +354,19 @@ fi OS_NAME=openEuler -if [ "x${workdir}" == "x./" ]; then - workdir=${cur_dir} -fi +workdir=$(cd $workdir; pwd) if [ "x${workdir}" == "x/" ]; then - workdir="" -elif [ "x$(dirname $workdir)" == "x/" ]; then - workdir=/$(basename $workdir) + workdir=/raspi_output else - workdir=$(cd "$(dirname $workdir)"; pwd)/$(basename $workdir) + workdir=${workdir}/raspi_output fi -rootfs_dir=${workdir}/raspi_output/rootfs -root_mnt=${workdir}/raspi_output/root -boot_mnt=${workdir}/raspi_output/boot -tmp_dir=${workdir}/raspi_output/tmp -log_dir=${workdir}/raspi_output/log -img_dir=${workdir}/raspi_output/img +tmp_dir=${workdir}/tmp +log_dir=${workdir}/log +img_dir=${workdir}/img +rootfs_dir=${workdir}/rootfs +root_mnt=${workdir}/root +boot_mnt=${workdir}/boot euler_dir=${cur_dir}/config CONFIG_RPM_LIST=${euler_dir}/rpmlist -- Gitee