diff --git a/globals.inc b/globals.inc index a2058934d8d75ce299385c0a85dcace80391a1e8..289f0372e76ea63856e063f406447ad8ec350df7 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 f6ab396f8de4f68c48ebfec6ea814595b7241452..568c15d688368e772ba149d4714de30d825b0756 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