Fallback to non-EFI boot script if EFI bootloader is absent.
Note that we do not currently build EFI bootloader for earmv7hf-eb, as it requires little-endian version of toolchain.
This commit is contained in:
parent
dd918b78bd
commit
272639de87
|
@ -1,4 +1,4 @@
|
|||
# $NetBSD: armv7.conf,v 1.34 2019/05/18 07:33:10 skrll Exp $
|
||||
# $NetBSD: armv7.conf,v 1.35 2019/07/21 16:05:24 rin Exp $
|
||||
# ARMv7 customization script used by mkimage
|
||||
#
|
||||
board=armv7
|
||||
|
@ -30,8 +30,8 @@ EOF
|
|||
}
|
||||
|
||||
populate_common() {
|
||||
# Install EFI bootloader
|
||||
if [ -f "${release}/usr/mdec/bootarm.efi" ]; then
|
||||
# Install EFI bootloader
|
||||
mkdir -p "${mnt}/boot/EFI/BOOT"
|
||||
cp "${release}/usr/mdec/bootarm.efi" "${mnt}/boot/EFI/BOOT/bootarm.efi"
|
||||
|
||||
|
@ -39,10 +39,14 @@ populate_common() {
|
|||
${GZIP_CMD} -dc ${kernel}/netbsd-${kernels_generic}.gz > "${mnt}/netbsd"
|
||||
echo "./netbsd type=file uname=root gname=wheel mode=0755" \
|
||||
>> "$tmp/selected_sets"
|
||||
|
||||
cp ${DIR}/files/armv7_boot.cmd ${mnt}/boot/boot.cmd
|
||||
else
|
||||
# Fallback to non-EFI boot command
|
||||
cp ${DIR}/files/armv7_boot_nonefi.cmd ${mnt}/boot/boot.cmd
|
||||
fi
|
||||
|
||||
# Install boot script
|
||||
cp ${DIR}/files/armv7_boot.cmd ${mnt}/boot/boot.cmd
|
||||
"${MKUBOOTIMAGE}" -A arm -C none -O netbsd -T script -a 0 -n "NetBSD/armv7 boot" "${mnt}/boot/boot.cmd" "${mnt}/boot/boot.scr"
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,61 @@
|
|||
if test "${board}" = "am335x" ; then
|
||||
setenv kernel netbsd.ub
|
||||
setenv mmcpart 0:1
|
||||
setenv bootargs root=wd0a
|
||||
fi
|
||||
if test "${board}" = "de0-nano-soc" ; then
|
||||
setenv kernel netbsd.ub
|
||||
setenv bootargs 'root=wd0a'
|
||||
setenv mmcpart 0:1
|
||||
setenv use_fdt 1
|
||||
fi
|
||||
if test "${soc}" = "exynos" ; then
|
||||
setenv kernel netbsd.ub
|
||||
setenv bootargs 'root=wd0a'
|
||||
setenv mmcpart 2:1
|
||||
setenv use_fdt 1
|
||||
fi
|
||||
if test "${soc}" = "sunxi" ; then
|
||||
setenv kernel netbsd.ub
|
||||
setenv bootargs 'root=wd0a'
|
||||
setenv mmcpart 0:1
|
||||
setenv use_fdt 1
|
||||
fi
|
||||
if test "${soc}" = "tegra" ; then
|
||||
setenv kernel netbsd.ub
|
||||
setenv bootargs root=wd0a
|
||||
setenv mmcpart 1:1
|
||||
setenv use_fdt 1
|
||||
fi
|
||||
if test "${soc}" = "tegra124" ; then
|
||||
setenv kernel netbsd.ub
|
||||
setenv bootargs root=wd0a
|
||||
setenv mmcpart 1:1
|
||||
setenv use_fdt 1
|
||||
fi
|
||||
if test "${soc}" = "tegra210" ; then
|
||||
setenv kernel netbsd.ub
|
||||
setenv bootargs root=wd0a
|
||||
setenv mmcpart 1:1
|
||||
setenv use_fdt 1
|
||||
setenv fdtfile ${soc}-${board}.dtb
|
||||
# enable PCIe
|
||||
pci enum
|
||||
fi
|
||||
|
||||
if test "${kernel}" = "" ; then
|
||||
echo '>>>'
|
||||
echo '>>> Target device is not supported by this script.'
|
||||
echo '>>>'
|
||||
exit
|
||||
fi
|
||||
|
||||
if test "${use_fdt}" = "1" ; then
|
||||
fatload mmc ${mmcpart} ${kernel_addr_r} ${kernel}
|
||||
fatload mmc ${mmcpart} ${fdt_addr_r} ${fdtfile}
|
||||
fdt addr ${fdt_addr_r}
|
||||
bootm ${kernel_addr_r} - ${fdt_addr_r}
|
||||
else
|
||||
fatload mmc ${mmcpart} ${kernel_addr_r} ${kernel}
|
||||
bootm ${kernel_addr_r} ${bootargs}
|
||||
fi
|
Loading…
Reference in New Issue