Last active
May 3, 2022 12:16
-
-
Save xtenduke/c14c3eb74da81a7843fa4c5d7d193a99 to your computer and use it in GitHub Desktop.
build qemu image
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
set -x | |
# create empty image | |
truncate -s500m build/alpine-vm-arm64.img | |
# Format the image with a gpt table | |
parted -s build/alpine-vm-arm64.img mktable gpt | |
# bootable partiton | |
parted -s build/alpine-vm-arm64.img mkpart ext4 1 "100%" | |
# mount image on loop device, get device from losetup as HDA_LOOP_DEV | |
HDA_LOOP_DEV=$(sudo losetup -Pf --show build/alpine-vm-arm64.img) | |
FS_LOOP_DEV="${HDA_LOOP_DEV?}p1" | |
# Initialize the ext4 filesystem in the primary partition. | |
sudo mkfs -t ext4 -v "${FS_LOOP_DEV?}" | |
# mount | |
mkdir /tmp/mountpoint | |
sudo mount "${FS_LOOP_DEV?}" /tmp/mountpoint | |
sudo chown -R ${USER?} /tmp/mountpoint | |
# unpack tarball to disk | |
tar -xvf build/alpine-vm-base-fs.tar -C /tmp/mountpoint/ | |
# unmount and clean up | |
sudo umount /tmp/mountpoint | |
sudo rm -rf /tmp/mountpoint | |
# remove loop device | |
sudo losetup -d ${HDA_LOOP_DEV} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# dont forget to prep your buildx builder.......... | |
docker buildx build --platform linux/arm64 --load --build-arg ARCH=arm64 -f Containerfile -t alpine-vm-base . | |
mkdir -p build | |
docker export -o build/alpine-vm-base-fs.tar `docker run -d alpine-vm-base:latest /bin/true` | |
docker run -v $PWD/build:/output:Z alpine-vm-base:latest cp /usr/share/u-boot/qemu_arm64/u-boot.bin /output/alpine-vm-bios-arm64.img |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment