Skip to content

Commit

Permalink
update rootfs build methods for fedora and opensuse
Browse files Browse the repository at this point in the history
  • Loading branch information
sylirre committed Dec 19, 2023
1 parent 7e95435 commit 1633db5
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 31 deletions.
35 changes: 18 additions & 17 deletions distro-build/fedora.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,31 +9,32 @@ bootstrap_distribution() {
--output "${WORKDIR}/fedora-${dist_version}-${arch}.tar.xz" \
"https://mirror.de.leaseweb.net/fedora/linux/releases/${dist_version:0:2}/Container/${arch}/images/Fedora-Container-Base-${dist_version}.${arch}.tar.xz"

mkdir "${WORKDIR}/fedora-$(translate_arch "$arch")"
sudo rm -rf "${WORKDIR}/fedora-tmp" "${WORKDIR}/fedora-$(translate_arch "$arch")"
mkdir "${WORKDIR}/fedora-tmp"
sudo mkdir -m 755 "${WORKDIR}/fedora-$(translate_arch "$arch")"
sudo tar -Jx --strip-components=1 \
-f "${WORKDIR}/fedora-${dist_version}-${arch}.tar.xz" \
-C "${WORKDIR}/fedora-tmp"
sudo tar -xp --acls --xattrs --xattrs-include='*' \
-f "${WORKDIR}/fedora-tmp"/layer.tar \
-C "${WORKDIR}/fedora-$(translate_arch "$arch")"
sudo mkdir -m 755 "${WORKDIR}/fedora-$(translate_arch "$arch")/fedora-$(translate_arch "$arch")"
sudo tar -xpf "${WORKDIR}/fedora-$(translate_arch "$arch")"/layer.tar \
-C "${WORKDIR}/fedora-$(translate_arch "$arch")/fedora-$(translate_arch "$arch")"
sudo rm -rf "${WORKDIR}/fedora-tmp"

cat <<- EOF | sudo unshare -mpf bash -e -
rm -f "${WORKDIR}/fedora-$(translate_arch "$arch")/fedora-$(translate_arch "$arch")/etc/resolv.conf"
echo "nameserver 1.1.1.1" > "${WORKDIR}/fedora-$(translate_arch "$arch")/fedora-$(translate_arch "$arch")/etc/resolv.conf"
echo "excludepkgs=*selinux*" >> "${WORKDIR}/fedora-$(translate_arch "$arch")/fedora-$(translate_arch "$arch")/etc/dnf/dnf.conf"
mount --bind /dev "${WORKDIR}/fedora-$(translate_arch "$arch")/fedora-$(translate_arch "$arch")/dev"
mount --bind /proc "${WORKDIR}/fedora-$(translate_arch "$arch")/fedora-$(translate_arch "$arch")/proc"
mount --bind /sys "${WORKDIR}/fedora-$(translate_arch "$arch")/fedora-$(translate_arch "$arch")/sys"
chroot "${WORKDIR}/fedora-$(translate_arch "$arch")/fedora-$(translate_arch "$arch")" yum upgrade -y
chroot "${WORKDIR}/fedora-$(translate_arch "$arch")/fedora-$(translate_arch "$arch")" yum install -y passwd util-linux
chroot "${WORKDIR}/fedora-$(translate_arch "$arch")/fedora-$(translate_arch "$arch")" yum clean all
chmod 4755 "${WORKDIR}/fedora-$(translate_arch "$arch")/fedora-$(translate_arch "$arch")"/usr/bin/sudo
rm -f "${WORKDIR}/fedora-$(translate_arch "$arch")/etc/resolv.conf"
echo "nameserver 1.1.1.1" > "${WORKDIR}/fedora-$(translate_arch "$arch")/etc/resolv.conf"
echo "excludepkgs=*selinux*" >> "${WORKDIR}/fedora-$(translate_arch "$arch")/etc/dnf/dnf.conf"
mount --bind /dev "${WORKDIR}/fedora-$(translate_arch "$arch")/dev"
mount --bind /proc "${WORKDIR}/fedora-$(translate_arch "$arch")/proc"
mount --bind /sys "${WORKDIR}/fedora-$(translate_arch "$arch")/sys"
chroot "${WORKDIR}/fedora-$(translate_arch "$arch")" yum upgrade -y
chroot "${WORKDIR}/fedora-$(translate_arch "$arch")" yum install -y passwd util-linux
chroot "${WORKDIR}/fedora-$(translate_arch "$arch")" yum clean all
chmod 4755 "${WORKDIR}/fedora-$(translate_arch "$arch")"/usr/bin/sudo
EOF

sudo tar -Jcf "${ROOTFS_DIR}/fedora-$(translate_arch "$arch")-pd-${CURRENT_VERSION}.tar.xz" \
-C "${WORKDIR}/fedora-$(translate_arch "$arch")" \
archive_rootfs "${ROOTFS_DIR}/fedora-$(translate_arch "$arch")-pd-${CURRENT_VERSION}.tar.xz" \
"fedora-$(translate_arch "$arch")"
sudo chown $(id -un):$(id -gn) "${ROOTFS_DIR}/fedora-$(translate_arch "$arch")-pd-${CURRENT_VERSION}.tar.xz"
done
unset arch
}
Expand Down
28 changes: 14 additions & 14 deletions distro-build/opensuse.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,28 +26,28 @@ bootstrap_distribution() {
docker save --output "${WORKDIR}/opensuse-image-dump-${arch}.tar" \
"opensuse/tumbleweed@${digest}"

mkdir "${WORKDIR}/opensuse-$(translate_arch "$arch")"
sudo rm -rf "${WORKDIR}/opensuse-tmp" "${WORKDIR}/opensuse-$(translate_arch "$arch")"
mkdir "${WORKDIR}/opensuse-tmp"
sudo mkdir -m 755 "${WORKDIR}/opensuse-$(translate_arch "$arch")"
sudo tar -x --strip-components=1 \
-f "${WORKDIR}/opensuse-image-dump-${arch}.tar" \
-C "${WORKDIR}/opensuse-tmp"
sudo tar -xpf "${WORKDIR}/opensuse-tmp"/layer.tar \
-C "${WORKDIR}/opensuse-$(translate_arch "$arch")"
sudo mkdir -m 755 "${WORKDIR}/opensuse-$(translate_arch "$arch")/opensuse-$(translate_arch "$arch")"
sudo tar -xpf "${WORKDIR}/opensuse-$(translate_arch "$arch")"/layer.tar \
-C "${WORKDIR}/opensuse-$(translate_arch "$arch")/opensuse-$(translate_arch "$arch")"
sudo rm -rf "${WORKDIR}/opensuse-tmp"

cat <<- EOF | sudo unshare -mpf bash -e -
rm -f "${WORKDIR}/opensuse-$(translate_arch "$arch")/opensuse-$(translate_arch "$arch")/etc/resolv.conf"
echo "nameserver 1.1.1.1" > "${WORKDIR}/opensuse-$(translate_arch "$arch")/opensuse-$(translate_arch "$arch")/etc/resolv.conf"
mount --bind /dev "${WORKDIR}/opensuse-$(translate_arch "$arch")/opensuse-$(translate_arch "$arch")/dev"
mount --bind /proc "${WORKDIR}/opensuse-$(translate_arch "$arch")/opensuse-$(translate_arch "$arch")/proc"
mount --bind /sys "${WORKDIR}/opensuse-$(translate_arch "$arch")/opensuse-$(translate_arch "$arch")/sys"
chroot "${WORKDIR}/opensuse-$(translate_arch "$arch")/opensuse-$(translate_arch "$arch")" zypper dup || true
chroot "${WORKDIR}/opensuse-$(translate_arch "$arch")/opensuse-$(translate_arch "$arch")" zypper install --no-confirm util-linux || true
rm -f "${WORKDIR}/opensuse-$(translate_arch "$arch")/etc/resolv.conf"
echo "nameserver 1.1.1.1" > "${WORKDIR}/opensuse-$(translate_arch "$arch")/etc/resolv.conf"
mount --bind /dev "${WORKDIR}/opensuse-$(translate_arch "$arch")/dev"
mount --bind /proc "${WORKDIR}/opensuse-$(translate_arch "$arch")/proc"
mount --bind /sys "${WORKDIR}/opensuse-$(translate_arch "$arch")/sys"
chroot "${WORKDIR}/opensuse-$(translate_arch "$arch")" zypper dup || true
chroot "${WORKDIR}/opensuse-$(translate_arch "$arch")" zypper install --no-confirm util-linux || true
EOF

sudo tar -Jcf "${ROOTFS_DIR}/opensuse-$(translate_arch "$arch")-pd-${CURRENT_VERSION}.tar.xz" \
-C "${WORKDIR}/opensuse-$(translate_arch "$arch")" \
archive_rootfs "${ROOTFS_DIR}/opensuse-$(translate_arch "$arch")-pd-${CURRENT_VERSION}.tar.xz" \
"opensuse-$(translate_arch "$arch")"
sudo chown $(id -un):$(id -gn) "${ROOTFS_DIR}/opensuse-$(translate_arch "$arch")-pd-${CURRENT_VERSION}.tar.xz"
done
unset opensuse_manifest
}
Expand Down

0 comments on commit 1633db5

Please sign in to comment.