mirror of
https://github.com/void-linux/void-packages.git
synced 2025-04-15 21:57:02 +02:00
New package: m1n1-1.4.17
This commit is contained in:
parent
030448592f
commit
1af89d6d1f
4 changed files with 129 additions and 0 deletions
58
srcpkgs/m1n1/files/kernel.d/m1n1.post-install
Executable file
58
srcpkgs/m1n1/files/kernel.d/m1n1.post-install
Executable file
|
@ -0,0 +1,58 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# Kernel hook for m1n1, taken from update-m1n1 and efibootmgr.
|
||||
#
|
||||
# Arguments passed to this script: $1 pkgname, $2 version.
|
||||
|
||||
set -e
|
||||
|
||||
PKGNAME="$1"
|
||||
VERSION="$2"
|
||||
|
||||
[ -e "${ROOTDIR}/etc/default/m1n1-kernel-hook" ] && . "${ROOTDIR}/etc/default/m1n1-kernel-hook"
|
||||
[ -d "${BOOT}" ] || return 0
|
||||
[ -d "${M1N1_T}" ] || return 0
|
||||
|
||||
m1n1config=/run/m1n1.conf
|
||||
: >"$m1n1config"
|
||||
|
||||
if [ -e "$CONFIG" ]; then
|
||||
echo "Reading m1n1 config from $CONFIG:"
|
||||
while read line; do
|
||||
case "$line" in
|
||||
"") ;;
|
||||
\#*) ;;
|
||||
chosen.*=*|display=*)
|
||||
echo "$line" >> "$m1n1config"
|
||||
echo "Option: $line"
|
||||
;;
|
||||
*)
|
||||
echo "Ignoring unknown option: $line"
|
||||
;;
|
||||
esac
|
||||
done <$CONFIG
|
||||
fi
|
||||
|
||||
case "$PAYLOAD" in
|
||||
kernel)
|
||||
cat "${M1N1}" $m1n1config >"${TARGET}.new"
|
||||
cat ${DTBS} >>"${TARGET}.new"
|
||||
gzip -c "${BOOT}/initramfs-${VERSION}.img" >>"${TARGET}.new"
|
||||
gzip -c "${BOOT}/vmlinux-${VERSION}" >>"${TARGET}.new"
|
||||
echo "Payload: m1n1 config dtbs initram kernel"
|
||||
;;
|
||||
uboot)
|
||||
cat "${M1N1}" ${DTBS} >"${TARGET}.new"
|
||||
gzip -c "${U_BOOT}" >>"${TARGET}.new"
|
||||
cat $m1n1config >>"${TARGET}.new"
|
||||
echo "Payload: m1n1 dtbs uboot config"
|
||||
;;
|
||||
*)
|
||||
echo "Error: unknown PAYLOAD" && return 1
|
||||
;;
|
||||
esac
|
||||
|
||||
[ -e "$TARGET" ] && mv -f "$TARGET" "${TARGET}.old"
|
||||
mv -f "${TARGET}.new" "$TARGET"
|
||||
|
||||
echo "m1n1 updated at ${TARGET}"
|
11
srcpkgs/m1n1/files/m1n1-kernel-hook.confd
Normal file
11
srcpkgs/m1n1/files/m1n1-kernel-hook.confd
Normal file
|
@ -0,0 +1,11 @@
|
|||
CONFIG=/etc/m1n1.conf
|
||||
# payload can be either kernel or uboot (default)
|
||||
PAYLOAD=uboot
|
||||
# location where kernel, initramfs, dtbs are located
|
||||
BOOT=/boot
|
||||
DTBS=${BOOT}/dtbs/"dtbs-${VERSION}"/apple/*.dtb
|
||||
U_BOOT=/usr/lib/asahi-boot/u-boot-nodtb.bin
|
||||
M1N1=/usr/lib/asahi-boot/m1n1.bin
|
||||
# location in ESP where m1n1 payload is put
|
||||
M1N1_T=/boot/efi/m1n1
|
||||
TARGET=${M1N1_T}/boot.bin
|
23
srcpkgs/m1n1/files/m1n1.conf
Normal file
23
srcpkgs/m1n1/files/m1n1.conf
Normal file
|
@ -0,0 +1,23 @@
|
|||
# This configuration file specifies options for the m1n1 bootloader.
|
||||
#
|
||||
# Be careful when editing this file, as incorrect settings can cause your system to fail to boot.
|
||||
#
|
||||
# Display configuration (Mac Mini / Mac Studio only)
|
||||
|
||||
# Force re-configuration of the display to defaults in m1n1 stage 2
|
||||
# This is redundant unless your m1n1 stage 1 is buggy or ancient
|
||||
#display=auto
|
||||
|
||||
# Configure the boot display to the default 4K mode
|
||||
#display=3840x2160
|
||||
|
||||
# Configure the boot display to 4K at 60Hz (or closest available)
|
||||
#display=3840x2160@60
|
||||
|
||||
# Configure the boot display to 4K at 59.97Hz (or closest available)
|
||||
#display=3840x2160@59.94
|
||||
|
||||
# Add an arbitrary property to /chosen in the device tree
|
||||
#chosen.foo=bar
|
||||
# chosen.bootargs=console=tty0 loglevel=4 root=/dev/nvme0n1p6 rootwait rw
|
||||
|
37
srcpkgs/m1n1/template
Normal file
37
srcpkgs/m1n1/template
Normal file
|
@ -0,0 +1,37 @@
|
|||
# Template file for 'm1n1'
|
||||
pkgname=m1n1
|
||||
version=1.4.17
|
||||
revision=1
|
||||
archs="aarch64*"
|
||||
hostmakedepends="ImageMagick void-artwork"
|
||||
short_desc="Asahi Linux bootloader"
|
||||
maintainer="Will Springer <skirmisher@protonmail.com>, dkwo <npiazza@disroot.org>"
|
||||
license="MIT"
|
||||
homepage="https://asahilinux.org"
|
||||
distfiles="https://github.com/AsahiLinux/m1n1/archive/refs/tags/v${version}.tar.gz"
|
||||
checksum=59c960ada35880bf39e033d6cc5ac0079a693a3bb17fb06dfe91e431d2773f96
|
||||
conf_files="/etc/m1n1.conf /etc/default/m1n1-kernel-hook"
|
||||
|
||||
post_extract() {
|
||||
for size in 128 256; do
|
||||
magick /usr/share/icons/hicolor/${size}x${size}/apps/void-logo.png \
|
||||
-background black \
|
||||
-flatten \
|
||||
-depth 8 \
|
||||
rgba:data/bootlogo_${size}.bin
|
||||
done
|
||||
}
|
||||
|
||||
do_build() {
|
||||
unset CFLAGS CXXFLAGS CPPFLAGS LDFLAGS
|
||||
make RELEASE=1 ARCH=${CROSS_BUILD:+${XBPS_CROSS_TRIPLET}-} build/m1n1.bin
|
||||
}
|
||||
|
||||
do_install() {
|
||||
vinstall build/m1n1.bin 644 usr/lib/asahi-boot
|
||||
vlicense LICENSE
|
||||
|
||||
vinstall ${FILESDIR}/m1n1.conf 644 etc m1n1.conf
|
||||
vinstall ${FILESDIR}/m1n1-kernel-hook.confd 644 etc/default m1n1-kernel-hook
|
||||
vinstall ${FILESDIR}/kernel.d/m1n1.post-install 744 etc/kernel.d/post-install 50-m1n1
|
||||
}
|
Loading…
Add table
Reference in a new issue