From nobody Fri Mar 3 21:12:48 2023 X-Original-To: freebsd-arm@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PT10m3xZtz3wLml for ; Fri, 3 Mar 2023 21:13:28 +0000 (UTC) (envelope-from karl@denninger.net) Received: from colo1.denninger.net (colo1.denninger.net [104.236.120.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4PT10l38GHz4BLk for ; Fri, 3 Mar 2023 21:13:27 +0000 (UTC) (envelope-from karl@denninger.net) Authentication-Results: mx1.freebsd.org; dkim=none; spf=pass (mx1.freebsd.org: domain of karl@denninger.net designates 104.236.120.189 as permitted sender) smtp.mailfrom=karl@denninger.net; dmarc=pass (policy=none) header.from=denninger.net Received: from denninger.net (097-081-026-048.res.spectrum.com [97.81.26.48]) by colo1.denninger.net (Postfix) with ESMTP id B0DD32110C5 for ; Fri, 3 Mar 2023 16:12:51 -0500 (EST) Received: from [192.168.10.25] (D15.Denninger.Net [192.168.10.25]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by denninger.net (Postfix) with ESMTPSA id 49A97291FD5 for ; Fri, 3 Mar 2023 16:12:51 -0500 (EST) Message-ID: Date: Fri, 3 Mar 2023 16:12:48 -0500 List-Id: Porting FreeBSD to ARM processors List-Archive: https://lists.freebsd.org/archives/freebsd-arm List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-arm@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Content-Language: en-US To: "freebsd-arm@freebsd.org" From: Karl Denninger Subject: uBoot broken on RPI2 Model B? Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-512; boundary="------------ms090303060605040501090505" X-Spamd-Result: default: False [-4.89 / 15.00]; SIGNED_SMIME(-2.00)[]; SUBJECT_ENDS_QUESTION(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.99)[-0.989]; DMARC_POLICY_ALLOW(-0.50)[denninger.net,none]; MIME_GOOD(-0.20)[multipart/signed,multipart/alternative,text/plain]; R_SPF_ALLOW(-0.20)[+mx]; TO_DN_EQ_ADDR_ALL(0.00)[]; ASN(0.00)[asn:14061, ipnet:104.236.64.0/18, country:US]; MLMMJ_DEST(0.00)[freebsd-arm@freebsd.org]; R_DKIM_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; RCVD_TLS_LAST(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; FROM_HAS_DN(0.00)[]; FREEFALL_USER(0.00)[karl]; RCVD_VIA_SMTP_AUTH(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:+,3:~,4:~]; TO_MATCH_ENVRCPT_ALL(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[freebsd-arm@freebsd.org]; HAS_ATTACHMENT(0.00)[]; ARC_NA(0.00)[]; MID_RHS_MATCH_FROM(0.00)[] X-Rspamd-Queue-Id: 4PT10l38GHz4BLk X-Spamd-Bar: ---- X-ThisMailContainsUnwantedMimeParts: N This is a cryptographically signed message in MIME format. --------------ms090303060605040501090505 Content-Type: multipart/alternative; boundary="------------mwpcAFnQQQpPdtMHC3aAYFMA" --------------mwpcAFnQQQpPdtMHC3aAYFMA Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Just tried to build -13STABLE for the RPi2 and ran into this (I'm using Crochet and have had to make some changes to the board-specific files, but it appears the problem that results in it not working is in uboot; I've made a number of changes since it looks like the system now wants to boot off EFI as opposed to what worked in -12, which would be ok if it can find the boot device -- I think (may be wrong here) U-Boot 2023.01 (Jan 26 2023 - 04:25:18 +0000) DRAM:  948 MiB RPI 2 Model B (0xa21041) Core:  70 devices, 13 uclasses, devicetree: board MMC:   mmc@7e300000: 1 Loading Environment from FAT... ** Bad device specification mmc 0 ** In:    serial Out:   vidconsole Err:   vidconsole Net:   No ethernet found. starting USB... Bus usb@7e980000: USB DWC2 scanning bus usb@7e980000 for devices... 3 USB Device(s) found        scanning usb for storage devices... 0 Storage Device(s) found Hit any key to stop autoboot:  0 U-Boot> Needless to say if I let it try to continue it fails as it can't find the SD card and "mmc dev" shows nothing present. Obviously going to dig into this further myself but I recalled something about this uBoot version being broken on older Pis... The layout of the disk on the boot partition is thus: root@NewFS:/mnt # ls -la total 12679 drwxr-xr-x   1 root  wheel    16384 Dec 31  1979 . drwxr-xr-x  35 root  wheel       42 Jan 20 10:16 .. drwxr-xr-x   1 root  wheel     4096 Feb 13 11:09 EFI -rwxr-xr-x   1 root  wheel      709 Feb 13 11:09 README -rwxr-xr-x   1 root  wheel    26745 Feb 13 11:09 bcm2709-rpi-2-b.dtb -rwxr-xr-x   1 root  wheel    52456 Feb 13 11:09 bootcode.bin -rwxr-xr-x   1 root  wheel      141 Feb 13 11:09 config.txt -rwxr-xr-x   1 root  wheel     7314 Feb 13 11:09 fixup.dat -rwxr-xr-x   1 root  wheel     3187 Feb 13 11:09 fixup_cd.dat -rwxr-xr-x   1 root  wheel    10298 Feb 13 11:09 fixup_db.dat -rwxr-xr-x   1 root  wheel    10298 Feb 13 11:09 fixup_x.dat drwxr-xr-x   1 root  wheel    20480 Feb 13 11:09 overlays -rwxr-xr-x   1 root  wheel    21169 Feb 13 11:09 rpi2.dtb -rwxr-xr-x   1 root  wheel  2952960 Feb 13 11:09 start.elf -rwxr-xr-x   1 root  wheel   793116 Feb 13 11:09 start_cd.elf -rwxr-xr-x   1 root  wheel  4794472 Feb 13 11:09 start_db.elf -rwxr-xr-x   1 root  wheel  3704808 Feb 13 11:09 start_x.elf -rwxr-xr-x   1 root  wheel   521916 Feb 13 11:09 u-boot.bin root@NewFS:/mnt # ls -laR EFI total 24 drwxr-xr-x  1 root  wheel   4096 Feb 13 11:09 . drwxr-xr-x  1 root  wheel  16384 Dec 31  1979 .. drwxr-xr-x  1 root  wheel   4096 Feb 13 11:09 BOOT EFI/BOOT: total 140 drwxr-xr-x  1 root  wheel    4096 Feb 13 11:09 . drwxr-xr-x  1 root  wheel    4096 Feb 13 11:09 .. -rwxr-xr-x  1 root  wheel  133812 Feb 13 11:09 bootarm.efi root@NewFS:/mnt # more config.txt init_uart_clock=3000000 enable_uart=1 kernel=u-boot.bin kernel7=u-boot.bin dtoverlay=mmc audio_pwm_mode=2 dtparam=audio=on,i2c_arm=on,spi=on root@NewFS:/mnt # ls -la overlays | grep mmc -rwxr-xr-x  1 root  wheel    1221 Feb 13 11:09 mmc.dtbo Which I BELIEVE should work -- assuming that I can get "see" the SD card from u-boot that is.... Installed rpi-related packages: root@NewFS:/mnt # pkg info|grep rpi rpi-firmware-1.20210303.g20210303 Firmware for RaspberryPi Single Board Computer u-boot-rpi2-2023.01            Cross-build das u-boot for model rpi2 u-boot-rpi3-2023.01            Cross-build das u-boot for model rpi3 u-boot-rpi4-2023.01            Cross-build das u-boot for model rpi4 -- Karl Denninger karl@denninger.net /The Market Ticker/ /[S/MIME encrypted email preferred]/ --------------mwpcAFnQQQpPdtMHC3aAYFMA Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit

Just tried to build -13STABLE for the RPi2 and ran into this (I'm using Crochet and have had to make some changes to the board-specific files, but it appears the problem that results in it not working is in uboot; I've made a number of changes since it looks like the system now wants to boot off EFI as opposed to what worked in -12, which would be ok if it can find the boot device -- I think (may be wrong here)

U-Boot 2023.01 (Jan 26 2023 - 04:25:18 +0000)

DRAM:  948 MiB
RPI 2 Model B (0xa21041)
Core:  70 devices, 13 uclasses, devicetree: board
MMC:   mmc@7e300000: 1
Loading Environment from FAT... ** Bad device specification mmc 0 **
In:    serial
Out:   vidconsole
Err:   vidconsole
Net:   No ethernet found.
starting USB...
Bus usb@7e980000: USB DWC2
scanning bus usb@7e980000 for devices... 3 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0
U-Boot>

Needless to say if I let it try to continue it fails as it can't find the SD card and "mmc dev" shows nothing present.

Obviously going to dig into this further myself but I recalled something about this uBoot version being broken on older Pis...

The layout of the disk on the boot partition is thus:

root@NewFS:/mnt # ls -la
total 12679
drwxr-xr-x   1 root  wheel    16384 Dec 31  1979 .
drwxr-xr-x  35 root  wheel       42 Jan 20 10:16 ..
drwxr-xr-x   1 root  wheel     4096 Feb 13 11:09 EFI
-rwxr-xr-x   1 root  wheel      709 Feb 13 11:09 README
-rwxr-xr-x   1 root  wheel    26745 Feb 13 11:09 bcm2709-rpi-2-b.dtb
-rwxr-xr-x   1 root  wheel    52456 Feb 13 11:09 bootcode.bin
-rwxr-xr-x   1 root  wheel      141 Feb 13 11:09 config.txt
-rwxr-xr-x   1 root  wheel     7314 Feb 13 11:09 fixup.dat
-rwxr-xr-x   1 root  wheel     3187 Feb 13 11:09 fixup_cd.dat
-rwxr-xr-x   1 root  wheel    10298 Feb 13 11:09 fixup_db.dat
-rwxr-xr-x   1 root  wheel    10298 Feb 13 11:09 fixup_x.dat
drwxr-xr-x   1 root  wheel    20480 Feb 13 11:09 overlays
-rwxr-xr-x   1 root  wheel    21169 Feb 13 11:09 rpi2.dtb
-rwxr-xr-x   1 root  wheel  2952960 Feb 13 11:09 start.elf
-rwxr-xr-x   1 root  wheel   793116 Feb 13 11:09 start_cd.elf
-rwxr-xr-x   1 root  wheel  4794472 Feb 13 11:09 start_db.elf
-rwxr-xr-x   1 root  wheel  3704808 Feb 13 11:09 start_x.elf
-rwxr-xr-x   1 root  wheel   521916 Feb 13 11:09 u-boot.bin

root@NewFS:/mnt # ls -laR EFI
total 24
drwxr-xr-x  1 root  wheel   4096 Feb 13 11:09 .
drwxr-xr-x  1 root  wheel  16384 Dec 31  1979 ..
drwxr-xr-x  1 root  wheel   4096 Feb 13 11:09 BOOT

EFI/BOOT:
total 140
drwxr-xr-x  1 root  wheel    4096 Feb 13 11:09 .
drwxr-xr-x  1 root  wheel    4096 Feb 13 11:09 ..
-rwxr-xr-x  1 root  wheel  133812 Feb 13 11:09 bootarm.efi

root@NewFS:/mnt # more config.txt
init_uart_clock=3000000
enable_uart=1
kernel=u-boot.bin
kernel7=u-boot.bin
dtoverlay=mmc
audio_pwm_mode=2
dtparam=audio=on,i2c_arm=on,spi=on

root@NewFS:/mnt # ls -la overlays | grep mmc
-rwxr-xr-x  1 root  wheel    1221 Feb 13 11:09 mmc.dtbo

Which I BELIEVE should work -- assuming that I can get "see" the SD card from u-boot that is....

Installed rpi-related packages:

root@NewFS:/mnt # pkg info|grep rpi
rpi-firmware-1.20210303.g20210303 Firmware for RaspberryPi Single Board Computer
u-boot-rpi2-2023.01            Cross-build das u-boot for model rpi2
u-boot-rpi3-2023.01            Cross-build das u-boot for model rpi3
u-boot-rpi4-2023.01            Cross-build das u-boot for model rpi4

--
Karl Denninger
karl@denninger.net
The Market Ticker
[S/MIME encrypted email preferred]
--------------mwpcAFnQQQpPdtMHC3aAYFMA-- --------------ms090303060605040501090505 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature 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 AAAAAA== --------------ms090303060605040501090505--