From nobody Sun Nov 5 09:13:36 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 4SNTLK4Pl7z4ydd0 for ; Sun, 5 Nov 2023 09:13:45 +0000 (UTC) (envelope-from mad@madpilot.net) Received: from mail.madpilot.net (vogon.madpilot.net [IPv6:2a01:4f8:1c1c:11e5::1]) (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 4SNTLK2210z3HnH for ; Sun, 5 Nov 2023 09:13:45 +0000 (UTC) (envelope-from mad@madpilot.net) Authentication-Results: mx1.freebsd.org; none Received: from mail (mail [IPv6:fd5c:5351:d272::3]) by mail.madpilot.net (Postfix) with ESMTP id 4SNTLF6yR2z6gLr; Sun, 5 Nov 2023 10:13:41 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=madpilot.net; h= content-transfer-encoding:content-type:content-type:in-reply-to :from:from:content-language:references:subject:subject:date:date :message-id:received; s=bjowvop61wgh; t=1699175618; x= 1700990019; bh=JWHptH2R+gKSVh1tO45LFOIpIUJqEq3xsdwwsX47hNw=; b=D jzxcDhHanUoO6RKT2/c8oauhplcwzOkhJcUFiWfhMfzgNIiJHcv/zUXdpQVZWVe0 pDCA/KE2Dqg/oSc6xqVrgz3bhFZXN2K8YaRojSbkEjhYvgxdjBO0W4KxEkpZohOz 2ZnscF0r/scIRAnoIdL8mkmZ8NXFIs3urBPWId3mUW1A63pU9sbT2vFazGe9tu14 Cs+nR0qWlY+aiw9dai8q2Pt1z0amgBtZOBT5vYqEzi10PvAbk50STPeP/tzvRvBc 5x7juvJ3J7Zl1kIkpOcg3WNpRfX8XeLAPdABgie08BRcAaoSRp7NnmsD/4IZFBmQ MfNMgqu67eIw3056RVT9Q== Received: from mail.madpilot.net ([IPv6:fd5c:5351:d272::3]) by mail (mail.madpilot.net [IPv6:fd5c:5351:d272::3]) (amavisd-new, port 10026) with ESMTP id ELk81FTOOolF; Sun, 5 Nov 2023 10:13:38 +0100 (CET) Message-ID: <89e45166-8d87-4050-b9f7-00469187005c@madpilot.net> Date: Sun, 5 Nov 2023 10:13:36 +0100 Subject: Re: NanoBSD on Raspberry Pi3 To: Brian Scott , freebsd-arm References: <07f36861-caf4-458a-8ddc-6c73a4a09755@bunyatech.com.au> Content-Language: en-US, it From: Guido Falsi Autocrypt: addr=mad@madpilot.net; keydata= xsBNBE+G+l0BCADi/WBQ0aRJfnE7LBPsM0G3m/m3Yx7OPu4iYFvS84xawmRHtCNjWIntsxuX fptkmEo3Rsw816WUrek8dxoUAYdHd+EcpBcnnDzfDH5LW/TZ4gbrFezrHPdRp7wdxi23GN80 qPwHEwXuF0X4Wy5V0OO8B6VT/nA0ADYnBDhXS52HGIJ/GCUjgqJn+phDTdCFLvrSFdmgx4Wl c0W5Z1p5cmDF9l8L/hc959AeyNf7I9dXnjekGM9gVv7UDUYzCifR3U8T0fnfdMmS8NeI9NC+ wuREpRO4lKOkTnj9TtQJRiptlhcHQiAlG1cFqs7EQo57Tqq6cxD1FycZJLuC32bGbgalABEB AAHNHkd1aWRvIEZhbHNpIDxtYWRAbWFkcGlsb3QubmV0PsLAeAQTAQIAIgUCT4b6XQIbAwYL CQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQGuaGDlbL0pOWigf/YVTVf3+ZRnzeGP7CjGV1 Wrrxzjc8h8W64NZasV0XLHGFjl5MYwtm9jJ9gbL8Ubtqstey7lYpjOk2fG6YDhY5eptWCpR6 1QqYrioukhCfKbodSk6PnIZcx719nJVK2P7ihdFEN78TavpBwqIf9hGEcKkMpbRFQv1mYvXD hKVwQGY+8bkH/a/pAWmIyD4qMfKCMurH5DexxEt5SYWu5BB5hd/DWyZ0wuZ+F79KMPzLBPJW 5cpdLNbrvenSqFZGJEGhtTp7GFJJr6lTy8VLBArxmFHiY5jGyR45eZEGDcz86FfGgvPnnpi7 aNCc/ROdF7fnZYPh8uZGGjQbd4EYK4xMzc7BTQRTEHtBARAAoWGsNx6g90r8gcNKaiPpJBiK y8ztV2FyV5LsT0OgQBW3vIxt/odtsxVNNjpyS/BNZCyzLAsFc1WrGBzhYsmPN9SGB5/5YTvk zf5YViU5VAsZlj/MRWCZrWtpic4c0A7N4csOYReNtk/q8YB4PIFsZ9A+kTuoZhnu5t5PdfBA 74+SVwKu84+PZk9wDEY1LbFVT8vM42oKsmoswlIhwJ2xuJI/gbk+cMUe0yiRpNjo4Svw4RB8 4B6uFwdRr/PtS7xi2Zqoof5AaQT9YSBpGpKJOe/Qk5MP4PF6Fqq+go89n77Y2kJkwcHaLoD/ GJ+ZDASIiMRe1y54FHOQ1RCTGGpnJLXdKuGhwv3J21pU8HNlq0ASNQMMQmYAwtUWzjmp/KEy I1qkcmjafcxb8TmiaoK8SQN1Zf96fc/sIrZN6Z5oOCEyyCQ0prH/PTA2jlRkKQ487PTGk2JS KU5VuS57Nlk2DrnvjWp57aV9eFAhpnrrJPuGmFz83/Pc8gC0t7N7i7VVHYRcC5naxYB2UoI1 OUkyxpT/HvQFXXVZ3/KmdXMzrx191AggCPWIwUAP+VcaURSYpeDk6/ZVAOVOe1ChqcJisCD7 wK20/OOvJ2AtkWreGu1CZ9zSx7nK/VYdLr34GxQ4bT1G+9rBQNnFSNbX2TJ431Mdo1GCjDeR K4CtSnrNKYkAEQEAAcLAXwQYAQgACQUCUxB7QQIbDAAKCRAa5oYOVsvSkw3nCADhsKRf+rAR ULTpOh5HoLam62ZJZAyCkNqqu/rke5uj5AaaDY/h7BNhBDiDqhhZLTeofGpVVaErPsWN+tX5 0fypsIt9KAhy90GFrtrIZlWuyK4wsoZvDfp9yaRk+lIM58dw/Rcfxn670JaPTFSRPECVn/uL qBhJSkbYlY212YT9fxVUTJe6wIvDLQrQEjrQD/h1FMhfcLhAqsndltRd6DPvTKeMd/6VAxn0 hkoBKhEy5LkWjM9CHppu+bBkQ91/kj2uJQSXO8euonwHHS3c+6N2i2H7I0emcHGu07wuRB2t Dnw/RLBxohffdPZT2kbxuG7lhVHzwVDw5DRwSw8GkOdy In-Reply-To: <07f36861-caf4-458a-8ddc-6c73a4a09755@bunyatech.com.au> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:24940, ipnet:2a01:4f8::/32, country:DE] X-Rspamd-Queue-Id: 4SNTLK2210z3HnH 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 On 05/11/23 04:04, Brian Scott wrote: > > On 5/11/2023 3:50 am, Guido Falsi wrote: >> Hi all! >> >> I am trying to build a NanoBSD image for a spare RPi3. >> >> I started from an existing configuration I am using for a PCEngine >> APU2 board, I use as an internal DNS and DHCP server. I'd like to >> replace it. >> >> I'd also like to be able to upgrade using the altroot partition and >> then switching the default one, but am not sure how to do that, maybe >> I can play with efi variables, anyway I'm going to investigate this >> once I get at least FreeBSD booting. >> >> Unluckily I am unable to make my image properly boot. > > One of the keys to doing the dual system in my case has been to create a > loader.env file telling the loader which partition to boot. > > # more EFI/freebsd/loader.env > rootdev=disk0s3a > Thanks a lot! This made it boot successfully! Obviously the boot spilled a bunch of errors, most just because I'm testing not connected to the network and the configuration expects networking to be available, but this is just a test. Really thanks a lot, this piece of information never turned out in any searches I did and I did not notice it in any man page/README etc. In fact I think this should be documented, if it is not already. Do you know if it is already in some manual page or readme or at least the wiki? If not I think it should be described in loader.efi(8), I'd like to propose a patch to this effect. Maybe also add a note in our wiki in the arm and/or uefi pages. Have you got some pointer to some documentation elsewhere about this so I can write an informed paragraph for the man page about this? >> >> I have reworked my scripts to replicate how the official release >> images are made in structure. (copying a lot from src/release) >> >> I got t the point where loader_lua.efi (renamed as the standard >> `/EFI/BOOT/bootaa64.efi` in the fat partition) loads, looks like it is >> scanning disks but then says: >> >> ERROR: cannot open /boot/lua/loader.lua: no such file or directory. > The loader.env should be read by the bootaa64.efi program. Yes this was the key to making it work. Maybe if I used a gpt partition scheme it would have worked OOB, while mbr requires this kind of help. Not sure if it is worth using gpt or could cause even more issues though. >> >> >> It gives me a prompt, but even if I do have a working USB keyboard >> plugged in I am unable to interact (maybe this is normal at this stage?) > No idea, sorry. Keyboard works fine once kernel starts, looks like a u-boot issue. Not too worried about it though, as long as FreeBSD boots. >> >> I guess it is failing to find the root filesystem but I don't know >> why. There is a valid root partition. Do I need to put some boot code >> in it to make loader recognize it? >> >> Where could I find some more detailed information about u-boot and >> UEFI boot? Maybe I can help by creating some configuration file in the >> UEFI partition? >> >> Thanks in advance for any indication. >> >> >> Output of `gpart show` (fromthe image mounted as md): >> >> =>     63  8617921  md1  MBR  (4.1G) >>        63      961       - free -  (481K) >>      1024    65536    1  fat32lba  [active]  (32M) >>     66560   131072    2  freebsd  (64M) >>    197632  4194304    3  freebsd  (2.0G) >>   4391936  4194304    4  freebsd  (2.0G) >>   8586240    31744       - free -  (16M) >> >> =>      0  4194304  md1s3  BSD  (2.0G) >>         0      128         - free -  (64K) >>       128  4194176      1  freebsd-ufs  (2.0G) >> >> >> (it looks quite similar to the official image one, as far as I can see) > > I'm using: > > # gpart show > =>       1  62357503  mmcsd0  MBR  (30G) >          1     65536       1  fat32lba  [active]  (32M) >      65537     65536       2  freebsd  (32M) >     131073  31113215       3  freebsd  (15G) >   31244288  31113216       4  freebsd  (15G) > > =>       0  31113215  mmcsd0s3  BSD  (15G) >          0        16            - free -  (8.0K) >         16  31113199         1  freebsd-ufs  (15G) > > =>       0  31113216  mmcsd0s4  BSD  (15G) >          0      8192            - free -  (4.0M) >       8192  31105024         1  freebsd-ufs  (15G) > > And it works really well. This is taken from a running rpi3. I also have > the same layout on a pi3 at $work, an original 256MB pi (forever stuck > on version13 now), and a 8GB pi4. My modified update script toggles the > loader.env file after updating the alternate file system and running the > growfs magic on it. Yes I'll adapt my nanobsd update script to take advantage of the .env file and I should be ready to go. I'm actually skipping the grow part, since I'm never writing to the OS partitions, I'm using them like a firmware, only writing to the cfg partition (or the ramdisks obviously). > > It looks like you have that organised properly. > Thanks a lot again for your help! Really appreciated. Cheers! -- Guido Falsi