mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-04-01 21:13:09 +00:00
pi 5 support (#2640)
* prioritize raspi repo * change kernel * use newer kernel * Update build.sh * fix ssh keygen * switch to .com * use raspi-update to download firmware * Update build.sh * Update build.sh * Update build.sh * Update build.sh * switch to boot/firmware * fix fstab * update-initramfs * skip check partition * switch back to boot * fix initramfs * use rpi-update kernels * simplify kernel selection
This commit is contained in:
@@ -236,11 +236,7 @@ impl<'a> Invoke<'a> for ExtendedCommand<'a> {
|
||||
.or(Some(&res.stdout))
|
||||
.filter(|a| !a.is_empty())
|
||||
.and_then(|a| std::str::from_utf8(a).ok())
|
||||
.unwrap_or(&format!(
|
||||
"{} exited with code {}",
|
||||
self.cmd.as_std().get_program().to_string_lossy(),
|
||||
res.status
|
||||
))
|
||||
.unwrap_or(&format!("{} exited with code {}", cmd_str, res.status))
|
||||
);
|
||||
Ok(res.stdout)
|
||||
} else {
|
||||
@@ -267,7 +263,7 @@ impl<'a> Invoke<'a> for ExtendedCommand<'a> {
|
||||
if prev.is_some() {
|
||||
cmd.stdin(Stdio::piped());
|
||||
}
|
||||
let mut child = cmd.spawn().with_kind(error_kind)?;
|
||||
let mut child = cmd.spawn().with_ctx(|_| (error_kind, &cmd_str))?;
|
||||
let input = std::mem::replace(
|
||||
&mut prev,
|
||||
child
|
||||
|
||||
1
debian/postinst
vendored
1
debian/postinst
vendored
@@ -80,6 +80,7 @@ sed -i '/\(^\|#\)ForwardToSyslog=/c\ForwardToSyslog=no' /etc/systemd/journald.co
|
||||
sed -i '/^\s*#\?\s*issue_discards\s*=\s*/c\issue_discards = 1' /etc/lvm/lvm.conf
|
||||
sed -i '/\(^\|#\)\s*unqualified-search-registries\s*=\s*/c\unqualified-search-registries = ["docker.io"]' /etc/containers/registries.conf
|
||||
sed -i 's/\(#\|\^\)\s*\([^=]\+\)=\(suspend\|hibernate\)\s*$/\2=ignore/g' /etc/systemd/logind.conf
|
||||
sed -i '/\(^\|#\)MulticastDNS=/c\MulticastDNS=no' /etc/systemd/resolved.conf
|
||||
|
||||
mkdir -p /etc/nginx/ssl
|
||||
|
||||
|
||||
@@ -61,14 +61,7 @@ PLATFORM_CONFIG_EXTRAS=
|
||||
if [ "${IB_TARGET_PLATFORM}" = "raspberrypi" ]; then
|
||||
PLATFORM_CONFIG_EXTRAS="$PLATFORM_CONFIG_EXTRAS --firmware-binary false"
|
||||
PLATFORM_CONFIG_EXTRAS="$PLATFORM_CONFIG_EXTRAS --firmware-chroot false"
|
||||
# BEGIN stupid ugly hack
|
||||
# The actual name of the package is `raspberrypi-kernel`
|
||||
# live-build determines thte name of the package for the kernel by combining the `linux-packages` flag, with the `linux-flavours` flag
|
||||
# the `linux-flavours` flag defaults to the architecture, so there's no way to remove the suffix.
|
||||
# So we're doing this, cause thank the gods our package name contains a hypen. Cause if it didn't we'd be SOL
|
||||
PLATFORM_CONFIG_EXTRAS="$PLATFORM_CONFIG_EXTRAS --linux-packages raspberrypi"
|
||||
PLATFORM_CONFIG_EXTRAS="$PLATFORM_CONFIG_EXTRAS --linux-flavours kernel"
|
||||
# END stupid ugly hack
|
||||
PLATFORM_CONFIG_EXTRAS="$PLATFORM_CONFIG_EXTRAS --linux-flavours rpi-v8"
|
||||
elif [ "${IB_TARGET_PLATFORM}" = "rockchip64" ]; then
|
||||
PLATFORM_CONFIG_EXTRAS="$PLATFORM_CONFIG_EXTRAS --linux-flavours rockchip64"
|
||||
fi
|
||||
@@ -148,13 +141,13 @@ sed -i -e '2i set timeout=5' config/bootloaders/grub-pc/config.cfg
|
||||
mkdir -p config/archives
|
||||
|
||||
if [ "${IB_TARGET_PLATFORM}" = "raspberrypi" ]; then
|
||||
curl -fsSL https://archive.raspberrypi.org/debian/raspberrypi.gpg.key | gpg --dearmor -o config/archives/raspi.key
|
||||
echo "deb https://archive.raspberrypi.org/debian/ bullseye main" > config/archives/raspi.list
|
||||
curl -fsSL https://archive.raspberrypi.com/debian/raspberrypi.gpg.key | gpg --dearmor -o config/archives/raspi.key
|
||||
echo "deb [arch=${IB_TARGET_ARCH} signed-by=/etc/apt/trusted.gpg.d/raspi.key.gpg] https://archive.raspberrypi.com/debian/ ${IB_SUITE} main" > config/archives/raspi.list
|
||||
fi
|
||||
|
||||
cat > config/archives/backports.pref <<- EOF
|
||||
Package: *
|
||||
Pin: release a=stable-backports
|
||||
Pin: release n=${IB_SUITE}-backports
|
||||
Pin-Priority: 500
|
||||
EOF
|
||||
|
||||
@@ -180,7 +173,7 @@ if [ "$NON_FREE" = 1 ]; then
|
||||
fi
|
||||
|
||||
if [ "${IB_TARGET_PLATFORM}" = "raspberrypi" ]; then
|
||||
echo 'raspberrypi-bootloader rpi-update parted' > config/package-lists/bootloader.list.chroot
|
||||
echo 'raspberrypi-net-mods raspberrypi-sys-mods raspi-config raspi-firmware raspi-gpio raspi-utils rpi-eeprom rpi-update rpi.gpio-common parted' > config/package-lists/bootloader.list.chroot
|
||||
else
|
||||
echo 'grub-efi grub2-common' > config/package-lists/bootloader.list.chroot
|
||||
fi
|
||||
@@ -205,17 +198,15 @@ if [ "${IB_SUITE}" = bookworm ]; then
|
||||
fi
|
||||
|
||||
if [ "${IB_TARGET_PLATFORM}" = "raspberrypi" ]; then
|
||||
ln -sf /usr/bin/pi-beep /usr/local/bin/beep
|
||||
SKIP_WARNING=1 SKIP_BOOTLOADER=1 SKIP_CHECK_PARTITION=1 WANT_64BIT=1 WANT_PI4=1 WANT_PI5=1 BOOT_PART=/boot rpi-update stable
|
||||
for f in /usr/lib/modules/*; do
|
||||
v=\${f#/usr/lib/modules/}
|
||||
echo "Configuring raspi kernel '\$v'"
|
||||
extract-ikconfig "/usr/lib/modules/\$v/kernel/kernel/configs.ko.xz" > /boot/config-\$v
|
||||
update-initramfs -c -k \$v
|
||||
done
|
||||
ln -sf /usr/bin/pi-beep /usr/local/bin/beep
|
||||
wget https://archive.raspberrypi.org/debian/pool/main/w/wireless-regdb/wireless-regdb_2018.05.09-0~rpt1_all.deb
|
||||
echo 1b7b1076257726609535b71d146a5721622d19a0843061ee7568188e836dd10f wireless-regdb_2018.05.09-0~rpt1_all.deb | sha256sum -c
|
||||
apt-get install -y --allow-downgrades ./wireless-regdb_2018.05.09-0~rpt1_all.deb
|
||||
rm wireless-regdb_2018.05.09-0~rpt1_all.deb
|
||||
mkinitramfs -c gzip -o /boot/initramfs8 6.6.51-v8+
|
||||
mkinitramfs -c gzip -o /boot/initramfs_2712 6.6.51-v8-16k+
|
||||
fi
|
||||
|
||||
useradd --shell /bin/bash -G embassy -m start9
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
/dev/mmcblk0p1 /boot vfat umask=0077 0 2
|
||||
/dev/mmcblk0p2 / ext4 defaults 0 1
|
||||
/dev/mmcblk0p1 /boot vfat umask=0077 0 2
|
||||
/dev/mmcblk0p2 / ext4 defaults 0 1
|
||||
|
||||
@@ -94,7 +94,7 @@ main () {
|
||||
return 1
|
||||
fi
|
||||
|
||||
if ! mkdir -p /media/startos/config/overlay/etc/ssh && ssh-keygen -A -f /media/startos/config/overlay/; then
|
||||
if ! (mkdir -p /media/startos/config/overlay/etc/ssh && ssh-keygen -A -f /media/startos/config/overlay/); then
|
||||
FAIL_REASON="ssh host key generation failed"
|
||||
return 1
|
||||
fi
|
||||
|
||||
@@ -83,4 +83,5 @@ arm_boost=1
|
||||
[all]
|
||||
gpu_mem=16
|
||||
dtoverlay=pwm-2chan,disable-bt
|
||||
initramfs initrd.img-6.1.21-v8+
|
||||
|
||||
auto_initramfs=1
|
||||
Reference in New Issue
Block a user