[Bug 271098] [nanobsd] cannot boot any NANO_LAYOUT model on armv7
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 27 Apr 2023 12:52:21 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271098 Bug ID: 271098 Summary: [nanobsd] cannot boot any NANO_LAYOUT model on armv7 Product: Base System Version: 13.2-RELEASE Hardware: arm OS: Any Status: New Severity: Affects Only Me Priority: --- Component: arm Assignee: freebsd-arm@FreeBSD.org Reporter: hondareyte.luc@laposte.net Hello, I try to build a bootable image on amd64 for armv7 with EFI for an orangepi-pc and nanopi neo, but it does not work. The only layout that build without error is 'std-embedded'. But it is not bootable because the offset of the FAT partition is wrong. With an offset of 1M (like GPT) it works. The good one: => 1 402511 md0 MBR (197M) 1 2047 - free - (1.0M) 2048 65536 1 fat16 [active] (32M) 67584 65536 2 freebsd (32M) 133120 269392 3 freebsd (132M) => 0 269392 md0s3 BSD (132M) 0 16 - free - (8.0K) 16 269376 1 freebsd-ufs (132M) The partition layout with 'std-embedded' is as follow (I have manually activate FAT16 partition): The bad: => 1 400464 md0 MBR (196M) 1 65536 1 fat16 [active] (32M) 65537 65536 2 freebsd (32M) 131073 269392 3 freebsd (132M) => 0 269392 md0s3 BSD (132M) 0 16 - free - (8.0K) 16 269376 1 freebsd-ufs (132M) And the ugly: here a patch which a new scheme named 'std-armv7' (not sure this is the best way to solve the problem) which add an offset to _.s1. --- common.ori 2023-04-26 13:05:49.229317000 +0200 +++ common.new 2023-04-27 14:42:41.388647000 +0200 @@ -268,6 +268,13 @@ # but there's problems: it marks all partitions as active, so you have to # boot off partition 3 or 2 by hand if you're playing around with this WIP case ${NANO_LAYOUT} in + std-armv7) + # Layout for armv7 with EFI + mkimg -a 1 -s mbr -p ${s1}:=${NANO_LOG}/_.s1:1M \ + -p ${s2}:=${NANO_LOG}/_.s2 \ + -p ${s3}:=${NANO_LOG}/_.s3 \ + -o ${out} + ;; std-embedded) mkimg -a 3 ${skiparg} ${fmtarg} ${bootmbr} -s mbr -p ${s1}:=${NANO_LOG}/_.s1 \ -p ${s2}:=${NANO_LOG}/_.s2 \ @@ -593,7 +600,7 @@ : ${NANO_MAKEFS_UFS:=makefs -t ffs -B ${NANO_ENDIAN}} : ${NANO_DISK_SCHEME:=mbr} # No others really supported ATM (well, gpt) case ${NANO_LAYOUT} in -std-embedded) +std-embedded|std-armv7) NANO_SLICE_FAT=s1 NANO_SLICE_CFG=s2 NANO_SLICE_ROOT=s3 Regards, Luc -- You are receiving this mail because: You are the assignee for the bug.