mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-04-10 11:36:36 +02:00
71 lines
1.8 KiB
Bash
Executable file
71 lines
1.8 KiB
Bash
Executable file
build_rpi_blobs() {
|
|
for i in raspberrypi-bootloader-common raspberrypi-bootloader; do
|
|
apk fetch --root "$APKROOT" --quiet --stdout "$i" | tar -C "${DESTDIR}" -zx --strip=1 boot/ || return 1
|
|
done
|
|
}
|
|
|
|
rpi_gen_cmdline() {
|
|
echo "modules=loop,squashfs,sd-mod,usb-storage quiet ${kernel_cmdline}"
|
|
}
|
|
|
|
rpi_gen_config() {
|
|
local arm_64bit=0
|
|
case "$ARCH" in
|
|
aarch64) arm_64bit=1;;
|
|
esac
|
|
cat <<-EOF
|
|
# do not modify this file as it will be overwritten on upgrade.
|
|
# create and/or modify usercfg.txt instead.
|
|
# https://www.raspberrypi.com/documentation/computers/config_txt.html
|
|
|
|
kernel=boot/vmlinuz-rpi
|
|
initramfs boot/initramfs-rpi
|
|
arm_64bit=$arm_64bit
|
|
include usercfg.txt
|
|
EOF
|
|
}
|
|
|
|
build_rpi_config() {
|
|
rpi_gen_cmdline > "${DESTDIR}"/cmdline.txt
|
|
rpi_gen_config > "${DESTDIR}"/config.txt
|
|
}
|
|
|
|
section_rpi_config() {
|
|
[ "$hostname" = "rpi" ] || return 0
|
|
build_section rpi_config $( (rpi_gen_cmdline ; rpi_gen_config) | checksum )
|
|
build_section rpi_blobs
|
|
}
|
|
|
|
profile_rpi() {
|
|
profile_base
|
|
title="Raspberry Pi"
|
|
desc="First generation Pis including Zero/W (armhf).
|
|
Pi 2 to Pi 3+ generations (armv7).
|
|
Pi 3 to Pi 5 generations (aarch64)."
|
|
image_ext="tar.gz"
|
|
arch="aarch64 armhf armv7"
|
|
kernel_flavors="rpi"
|
|
kernel_cmdline="console=tty1"
|
|
initfs_features="base squashfs mmc usb kms dhcp https"
|
|
hostname="rpi"
|
|
grub_mod=
|
|
}
|
|
|
|
create_image_imggz() {
|
|
sync "$DESTDIR"
|
|
local image_size=$(du -L -k -s "$DESTDIR" | awk '{print $1 + 8192}' )
|
|
local imgfile="${OUTDIR}/${output_filename%.gz}"
|
|
dd if=/dev/zero of="$imgfile" bs=1M count=$(( image_size / 1024 ))
|
|
mformat -i "$imgfile" -N 0 ::
|
|
mcopy -s -i "$imgfile" "$DESTDIR"/* "$DESTDIR"/.alpine-release ::
|
|
echo "Compressing $imgfile..."
|
|
pigz -v -f -9 "$imgfile" || gzip -f -9 "$imgfile"
|
|
}
|
|
|
|
profile_rpiimg() {
|
|
profile_rpi
|
|
title="Raspberry Pi Disk Image"
|
|
image_name="alpine-rpi"
|
|
image_ext="img.gz"
|
|
}
|
|
|