mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-11-11 15:27:20 +03:00
raspberryPi boot loader: fix booting Raspberry Pi 3
The Raspberry Pi 3 seems to need the .DTB file when booting the kernel, so we must copy it to /boot when installing a new kernel.
This commit is contained in:
parent
0045f932bb
commit
c19b17d14f
@ -61,12 +61,13 @@ addEntry() {
|
||||
|
||||
local kernel=$(readlink -f $path/kernel)
|
||||
local initrd=$(readlink -f $path/initrd)
|
||||
local dtb_path=$(readlink -f $path/kernel-modules/dtbs)
|
||||
|
||||
if test -n "@copyKernels@"; then
|
||||
copyToKernelsDir $kernel; kernel=$result
|
||||
copyToKernelsDir $initrd; initrd=$result
|
||||
fi
|
||||
|
||||
|
||||
echo $(readlink -f $path) > $outdir/$generation-system
|
||||
echo $(readlink -f $path/init) > $outdir/$generation-init
|
||||
cp $path/kernel-params $outdir/$generation-cmdline.txt
|
||||
@ -80,6 +81,11 @@ addEntry() {
|
||||
copyForced $kernel /boot/kernel7.img
|
||||
fi
|
||||
copyForced $initrd /boot/initrd
|
||||
for dtb in $dtb_path/bcm*.dtb; do
|
||||
dst="/boot/$(basename $dtb)"
|
||||
copyForced $dtb "$dst"
|
||||
filesCopied[$dst]=1
|
||||
done
|
||||
cp "$(readlink -f "$path/init")" /boot/nixos-init
|
||||
echo "`cat $path/kernel-params` init=$path/init" >/boot/cmdline.txt
|
||||
|
||||
@ -108,8 +114,8 @@ copyForced $fwdir/start_cd.elf /boot/start_cd.elf
|
||||
copyForced $fwdir/start_db.elf /boot/start_db.elf
|
||||
copyForced $fwdir/start_x.elf /boot/start_x.elf
|
||||
|
||||
# Remove obsolete files from /boot/old.
|
||||
for fn in /boot/old/*linux* /boot/old/*initrd*; do
|
||||
# Remove obsolete files from /boot and /boot/old.
|
||||
for fn in /boot/old/*linux* /boot/old/*initrd* /boot/bcm*.dtb; do
|
||||
if ! test "${filesCopied[$fn]}" = 1; then
|
||||
rm -vf -- "$fn"
|
||||
fi
|
||||
|
@ -33,7 +33,7 @@ in
|
||||
|
||||
boot.loader.raspberryPi.version = mkOption {
|
||||
default = 2;
|
||||
type = types.enum [ 1 2 ];
|
||||
type = types.enum [ 1 2 3 ];
|
||||
description = ''
|
||||
'';
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user