From 5444fdd4d3ae3c3314fa71cafa6db619a792d366 Mon Sep 17 00:00:00 2001 From: whoisxxx Date: Wed, 22 Jul 2020 18:36:00 +0800 Subject: [PATCH] Modify script of mkrootfs Mv minimal installation list to global.inc & fix some bug Signed-off-by: whoisxxx --- globals.inc | 5 +++++ mkfs-oe.sh | 40 ++++++++++++++++++++++------------------ 2 files changed, 27 insertions(+), 18 deletions(-) diff --git a/globals.inc b/globals.inc index a205893..289f037 100755 --- a/globals.inc +++ b/globals.inc @@ -23,3 +23,8 @@ DEBUG=true #WEB_RPM_REPO_SRV=http://192.168.0.100:8000/risc-v/RPMS/ WEB_RPM_REPO_SRV=https//isrc.iscas.ac.cn/mirror/fedora/alt/risc-v/RPMS/ #WEB_RPM_REPO_SYNC=http://192.168.0.104/oelriscv + +# Preinstalled packages +CORE_RPMS="systemd vim coreutils net-tools systemd-udev libssh openssh passwd NetworkManager dnf wget procps-ng dnf-plugins-core" +BUILD_TOOLS="rpm-build autoconf make gdb dnf-utils git texinfo gcc gcc-c++" +OBS_RPMS="osc build sudo iputils ntpdate vim cpio curl perl-Compress-Zlib perl-TimeDate perl-Data-Dumper perl-XML-Parser screen psmisc bash binutils bsdtar lzma util-linux openslp lvm2 perl-Digest-MD5 git screen tmux wget expect" diff --git a/mkfs-oe.sh b/mkfs-oe.sh index f6ab396..568c15d 100755 --- a/mkfs-oe.sh +++ b/mkfs-oe.sh @@ -8,18 +8,18 @@ # in RISC-V system, or x86/aarch64 system that support # cross-arch dnf installation. -. globals.inc +# . globals.inc -CORE_RPMS="systemd vim coreutils net-tools systemd-udev libssh openssh passwd git NetworkManager dnf wget procps-ng dnf-plugins-core rpm-build" +INSTALL_RPMS="$CORE_RPMS $BUILD_TOOLS" set -e set -x mkdir -p /var/tmp/ -rm -f /var/tmp/* +rm -f /var/tmp/oe-rv.raw # Create parted and formatted disk -truncate -s 10G /var/tmp/oe-rv.raw +truncate -s 2G /var/tmp/oe-rv.raw losetup -P $(losetup -f) /var/tmp/oe-rv.raw loopdev=$(losetup -a | grep oe-rv.raw | awk -F: '{print $1;}') fdisk $loopdev << EOF @@ -33,32 +33,36 @@ EOF mkfs -t ext4 ${loopdev}p1 # Create the installroot -mkdir /var/tmp/mnt +mkdir -p /var/tmp/mnt mount -o loop /${loopdev}p1 /var/tmp/mnt + mkdir /var/tmp/mnt/{dev,proc,sys} -mount -t proc /proc /var/tmp/mnt/proc -mount --rbind /sys /var/tmp/mnt/sys -mount --rbind /dev /var/tmp/mnt/dev -mount --make-rslave /var/tmp/mnt/dev -mount --make-rslave /var/tmp/mnt/sys +mkdir /var/tmp/mnt/dev/pts +mount -t proc proc /var/tmp/mnt/proc +mount -t sysfs sysfs /var/tmp/mnt/sys +mount -t devpts pts /var/tmp/mnt/dev/pts +mount -o bind /dev /var/tmp/mnt/dev rpm --root /var/tmp/mnt --initdb -sed -e "s,@RPMREPOWEBSRV@,$WEB_RPM_REPO_SRV,g" < ./assets/openEuler-rv64.repo.in > /etc/yum.repo.d/oe-riscv.repo -dnf install --installroot /var/tmp/mnt --repo oe-rv $CORE_RPMS -y -echo "Change default passwd to empty" -sed -i '1s/*//' /var/tmp/mnt/etc/shadow +dnf install --installroot /var/tmp/mnt $INSTALL_RPMS +cp /etc/yum.repos.d/oe-rv.repo /var/tmp/mnt/etc/yum.repos.d/ + +echo "Set default passwd to openEuler12#$" + +echo "root:openEuler12#$" | chpasswd -R /var/tmp/mnt/ echo openEuler-RISCV-rare > /var/tmp/mnt/etc/hostname sync sleep 5 -umount -R /var/tmp/mnt/dev -umount -R /var/tmp/mnt/sys -umount /var/tmp/mnt/proc +umount -l /var/tmp/mnt/dev +umount -l /var/tmp/mnt/dev/pts +umount /var/tmp/mnt/sys +umount /var/tmp/mnt/proc umount /var/tmp/mnt losetup -d $loopdev -qemu-img convert -f raw -O qcow2 /var/tmp/oe-rv.raw /var/tmp/oe-rv-rare.qcow2 +qemu-img convert -f raw -O qcow2 /var/tmp/oe-rv.raw /var/tmp/oe-rv.qcow2 rm -rf /var/tmp/oe-rv.raw -- GitLab