mirror of
https://gitlab.archlinux.org/tpowa/archboot.git
synced 2024-09-20 03:50:37 +02:00
change release and server script
This commit is contained in:
parent
26ffe09885
commit
946ae44c22
1 changed files with 28 additions and 6 deletions
|
@ -7,6 +7,7 @@ _INITRAMFS="boot/initramfs_${_ARCH}.img"
|
|||
_INITRAMFS_L0="boot/initramfs_${_ARCH}-0.img"
|
||||
_INITRAMFS_L1="boot/initramfs_${_ARCH}-1.img"
|
||||
_INITRAMFS_LATEST="boot/initramfs_${_ARCH}-latest.img"
|
||||
_INITRAMFS_LOCAL="boot/initramfs_${_ARCH}-local.img"
|
||||
_INITRAMFS_LOCAL0="boot/initramfs_${_ARCH}-local-0.img"
|
||||
_INITRAMFS_LOCAL1="boot/initramfs_${_ARCH}-local-1.img"
|
||||
_KERNEL="boot/vmlinuz_${_ARCH}"
|
||||
|
@ -30,6 +31,8 @@ _usage () {
|
|||
_create_iso() {
|
||||
mkdir -p "${1}"
|
||||
cd "${1}" || exit 1
|
||||
_BIND_LOOP=""
|
||||
[[ "${_ARCH}" == "riscv64" ]] && _BIND_LOOP="--bind /dev/loop0"
|
||||
# create container
|
||||
archboot-"${_ARCH}"-create-container.sh "${_W_DIR}" -cc --install-source="${2}" || exit 1
|
||||
# generate tarball in container, umount tmp it's a tmpfs and weird things could happen then
|
||||
|
@ -40,18 +43,18 @@ _create_iso() {
|
|||
echo "Generate local ISO ..."
|
||||
_create_archboot_db "${_W_DIR}"/var/cache/pacman/pkg
|
||||
# generate local iso in container
|
||||
systemd-nspawn -q -D "${_W_DIR}" /bin/bash -c "umount /tmp;rm -rf /tmp/*; archboot-${_ARCH}-iso.sh -g -p=${_PRESET_LOCAL} \
|
||||
systemd-nspawn ${_BIND_LOOP} -q -D "${_W_DIR}" /bin/bash -c "umount /tmp;rm -rf /tmp/*; archboot-${_ARCH}-iso.sh -g -p=${_PRESET_LOCAL} \
|
||||
-i=${_ISONAME}-local-${_ARCH}" || exit 1
|
||||
rm -rf "${_W_DIR}"/var/cache/pacman/pkg/*
|
||||
echo "Generate latest ISO ..."
|
||||
# generate latest iso in container
|
||||
systemd-nspawn -q -D "${_W_DIR}" /bin/bash -c "umount /tmp;rm -rf /tmp/*;archboot-${_ARCH}-iso.sh -g -p=${_PRESET_LATEST} \
|
||||
systemd-nspawn ${_BIND_LOOP} -q -D "${_W_DIR}" /bin/bash -c "umount /tmp;rm -rf /tmp/*;archboot-${_ARCH}-iso.sh -g -p=${_PRESET_LATEST} \
|
||||
-i=${_ISONAME}-latest-${_ARCH}" || exit 1
|
||||
echo "Install lvm2 to container ${_W_DIR} ..."
|
||||
systemd-nspawn -D "${_W_DIR}" /bin/bash -c "pacman -Sy lvm2 --noconfirm" >/dev/null 2>&1
|
||||
echo "Generate normal ISO ..."
|
||||
# generate iso in container
|
||||
systemd-nspawn -q -D "${_W_DIR}" /bin/bash -c "umount /tmp;archboot-${_ARCH}-iso.sh -g \
|
||||
systemd-nspawn ${_BIND_LOOP} -q -D "${_W_DIR}" /bin/bash -c "umount /tmp;archboot-${_ARCH}-iso.sh -g \
|
||||
-i=${_ISONAME}-${_ARCH}" || exit 1
|
||||
# create Release.txt with included main archlinux packages
|
||||
echo "Generate Release.txt ..."
|
||||
|
@ -61,12 +64,13 @@ _create_iso() {
|
|||
echo "Architecture: ${_ARCH}";\
|
||||
echo "RAM requirement to boot: 1300 MB or greater";\
|
||||
echo "Archboot:$(systemd-nspawn -q -D "${_W_DIR}" pacman -Qi "${_ARCHBOOT}" | grep Version | cut -d ":" -f2 | sed -e "s/\r//g")";\
|
||||
echo "Grub:$(systemd-nspawn -q -D "${_W_DIR}" pacman -Qi grub | grep Version | cut -d ":" -f3 | sed -e "s/\r//g")";\
|
||||
[[ "${_ARCH}" == "riscv64" ]] || "Grub:$(systemd-nspawn -q -D "${_W_DIR}" pacman -Qi grub | grep Version | cut -d ":" -f3 | sed -e "s/\r//g")";\
|
||||
echo "Kernel:$(systemd-nspawn -q -D "${_W_DIR}" pacman -Qi linux | grep Version | cut -d ":" -f2 | sed -e "s/\r//g")";\
|
||||
echo "Pacman:$(systemd-nspawn -q -D "${_W_DIR}" pacman -Qi pacman | grep Version | cut -d ":" -f2 | sed -e "s/\r//g")";\
|
||||
echo "Systemd:$(systemd-nspawn -q -D "${_W_DIR}" pacman -Qi systemd | grep Version | cut -d ":" -f2 | sed -e "s/\r//g")") >>Release.txt
|
||||
# move iso out of container
|
||||
mv "${_W_DIR}"/*.iso ./
|
||||
[[ "$(echo ./*.iso)" == "./*.iso" ]] || mv "${_W_DIR}"/*.iso ./
|
||||
[[ "$(echo ./*.img)" == "./*.img" ]] || mv "${_W_DIR}"/*.iso ./
|
||||
# remove container
|
||||
echo "Remove container ${_W_DIR} ..."
|
||||
rm -r "${_W_DIR}"
|
||||
|
@ -76,7 +80,25 @@ _create_boot() {
|
|||
# create boot directory with ramdisks
|
||||
echo "Create boot directory ..."
|
||||
if [[ "${_ARCH}" == "riscv64" ]]; then
|
||||
|
||||
mkdir -p boot/
|
||||
_MP="$(mktemp -d archboot-mount.XXX)"
|
||||
for i in *.img; do
|
||||
if echo "${i}" | grep -v local | grep -vq latest; then
|
||||
mount -o loop,offset=1048576 "${i}" "${_MP}"
|
||||
cp "${_MP}/${_KERNEL}" "${_KERNEL_ARCHBOOT}"
|
||||
cp "${_MP}/${_INITRAMFS}" "${_INITRAMFS}"
|
||||
umount "${_MP}"
|
||||
elif echo "${i}" | grep -q latest; then
|
||||
mount -o loop,offset=1048576 "${i}" "${_MP}"
|
||||
cp "${_MP}/${_INITRAMFS}" "${_INITRAMFS_LATEST}"
|
||||
umount "${_MP}"
|
||||
elif echo "${i}" | grep -q local; then
|
||||
mount -o loop,offset=1048576 "${i}" "${_MP}"
|
||||
cp "${_MP}/${_INITRAMFS}" "${_INITRAMFS_LOCAL}"
|
||||
umount "${_MP}"
|
||||
fi
|
||||
done
|
||||
rm -r "${_MP}"
|
||||
else
|
||||
mkdir -p boot/licenses/amd-ucode
|
||||
[[ "${_ARCH}" == "aarch64" ]] || mkdir -p boot/licenses/intel-ucode
|
||||
|
|
Loading…
Reference in a new issue