mirror of
https://github.com/fosslinux/live-bootstrap.git
synced 2026-03-14 07:15:24 +01:00
Add new build target 'minikernel':
./rootfs minikernel will download external helper script, which compiles a kernel and starts qemu (if possible in kvm mode) together with the already generated initital ramdisk. all tempfiles are in already provided tmpfs and lost at the very end during unmount and exit. also add a logfile for all targets, which can be used to better spot errors.
This commit is contained in:
parent
329afda94d
commit
0328828a57
1 changed files with 28 additions and 10 deletions
38
rootfs.sh
38
rootfs.sh
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/bash
|
||||
set -ex
|
||||
|
||||
QEMU_CMD="${1:-qemu-system-x86_64}" # or 'chroot'
|
||||
QEMU_CMD="${1:-qemu-system-x86_64}" # or 'chroot' or 'minikernel'
|
||||
QEMU_RAM="${2:-8G}"
|
||||
|
||||
pushd sysa
|
||||
|
|
@ -12,6 +12,8 @@ pushd sysa
|
|||
mkdir -p tmp/
|
||||
sudo mount -t tmpfs -o size=8G tmpfs tmp
|
||||
|
||||
LOGFILE="$PWD/tmp/bootstrap.log"
|
||||
|
||||
# base: mescc-tools-seed
|
||||
# copy in all the mescc-tools-seed stuff
|
||||
cp -r mescc-tools-seed/src/mescc-tools-seed/x86/* tmp
|
||||
|
|
@ -125,17 +127,33 @@ cd tmp
|
|||
find . | cpio -H newc -o | gzip > initramfs.igz
|
||||
|
||||
# Run
|
||||
if [ "${QEMU_CMD}" = 'chroot' ]; then
|
||||
sudo PATH="/after/bin:${PATH}" chroot . /init
|
||||
else
|
||||
${QEMU_CMD} -enable-kvm \
|
||||
-m "${QEMU_RAM}" \
|
||||
-nographic \
|
||||
-no-reboot \
|
||||
-kernel ../../kernel -initrd initramfs.igz -append console=ttyS0
|
||||
fi
|
||||
case "${QEMU_CMD}" in
|
||||
chroot)
|
||||
sudo PATH="/after/bin:${PATH}" chroot . /init | tee "$LOGFILE"
|
||||
;;
|
||||
minikernel)
|
||||
git clone --depth 1 --branch v0.4 https://github.com/bittorf/kritis-linux.git
|
||||
|
||||
kritis-linux/ci_helper.sh \
|
||||
--arch x86_64 \
|
||||
--ramsize 4G \
|
||||
--kernel 5.10.8 \
|
||||
--initrd initramfs.igz \
|
||||
--log "$LOGFILE"
|
||||
;;
|
||||
*)
|
||||
${QEMU_CMD} -enable-kvm \
|
||||
-m "${QEMU_RAM:-8G}" \
|
||||
-nographic \
|
||||
-no-reboot \
|
||||
-kernel ../../kernel -initrd initramfs.igz -append console=ttyS0 | tee "$LOGFILE"
|
||||
;;
|
||||
esac
|
||||
|
||||
cd ../..
|
||||
|
||||
# eventually keep logfile before unmount:
|
||||
echo "see logfile: $LOGFILE"
|
||||
|
||||
# Cleanup
|
||||
sudo umount sysa/tmp
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue