Alpine htop install on live QEMU#

create disk first#

qemu-img create -f qcow2 alpine-1.qcow2 1G

start qemu#

download iso here https://dl-cdn.alpinelinux.org/alpine/v3.21/releases/x86_64/alpine-virt-3.21.3-x86_64.iso

qemu-system-x86_64 \
      -enable-kvm \
      -m 256 \
      -smp 4 \
      -cpu host \
      -drive file=pc-1.qcow2,format=qcow2 \
      -cdrom alpine-virt-3.21.3-x86_64.iso \
      -boot d \
      -net nic \
      -net user -nographic

default username is root, password left blank, just enter

set eth0 up & DHCP#

  • ip link set dev eth0 up

  • udhcpc -i eth0

  • ping 1.1.1.1 (testing)

for /etc/resolv.conf, change to nameserver 1.1.1.1

patch apk configuration#

cp /etc/apk/repositories /etc/apk/repositories-old

--- repositories-old
+++ repositories
@@ -1 +1,2 @@
-/media/cdrom/apks
+http://dl-cdn.alpinelinux.org/alpine/v3.21/main
+http://dl-cdn.alpinelinux.org/alpine/v3.21/community

update#

  • apk update

  • apk cache download

  • apk cache -v sync

setup partition#

Note

set it with your needs, I use entire disk in this docs

make sure first your ext4 kernel module is installed & loaded by typing

  • lsmod | grep ext4: check

  • modprobe ext4

  • lsmod | grep ext4: recheck again

the output is should be something like this image

then we can move forward to ext4 partition generation

partitioning#

install parted first using apk add parted, check your disk first using fdisk -l, for example there is /dev/sda

parted section#

run parted /dev/sda, inside of parted is

  • unit s

  • mklabel [gpt/msdos]: I use msdos anyway

  • print: identify disk size by see on section something like Disk /dev/sda: 2097152s, there has 2097152s sector, so I use 2097152 - (2948 * 2), which is 2093056s

  • mkpart

    • primary

    • ext4

    • 2048s

    • 2093056s

      • q

resulted partition: image

setup diskless install#

warn: you need to enable ext4 kernel module or you’ll get mount: mounting /dev/sda1 on /media/sda1 failed: Invalid argument when mounting

  • modprobe ext4

  • apk add e2fsprogs for mkfs.ext4 command

  • mkfs.ext4 /dev/sda1

  • mount /dev/sda1 /media/sda1: mount location should be located on /media, not /mnt

then, you can do normal setup-alpine, except for this thing

  • Which disk(s) would you like to use? (or ‘?’ for help or ‘none’) [none] none

  • Enter where to store configs (‘floppy’, ‘sda1’, ‘usb’ or ‘none’) [sda1] sda1

  • Enter apk cache directory (or ‘?’ or ‘none’) [/media/sda1/cache] /media/sda1/cache

LBU#

run lbu commit