Raspberry Pi Zero 2 W で FreeBSD を起動する

# Raspberry Pi Zero 2 W がやっと手に入りました（泣）

2022 年位から長らく RaspberryPiの入手が困難な時期が続きましたが、最近になってやっと入手の難易度が下がってきました。

そんなこんなでやっとこさ RaspberryPi Zero 2 W の入手ができたので、FreeBSD の起動を確認してみました。

# Raspberry Pi Zero 2 W とは

フリスクのケースに入る小さいサイズながら OS が動くZero シリーズのパワーアップ版で、4 コア 1GHz の arm64 が乗るようになりました。
WiFi や Bluetooth も USB で外付けせずに内蔵していますが、FreeBSDではまだ対応していません。

* 1GHz quad-core 64-bit Arm Cortex-A53 CPU
* 512MB SDRAM
* 2.4GHz 802.11 b/g/n wireless LAN
* Bluetooth 4.2, Bluetooth Low Energy (BLE), onboard antenna

詳細は公式参照(丸投げ）。
https://www.raspberrypi.com/products/raspberry-pi-zero-2-w/

# FreeBSD を動かすのはひと手間必要

以下の作業はデスクトップやノートPCに入れた FreeBSD マシン上で行う前提とします。

起動用 microSD に書き込むイメージは

<dl>
<dt>
FreeBSD-14.0-RELEASE 
</dt>
<dd>
<a href="https://download.freebsd.org/releases/ISO-IMAGES/14.0/FreeBSD-14.0-RELEASE-arm64-aarch64-RPI.img.xz">https://download.freebsd.org/releases/ISO-IMAGES/14.0/FreeBSD-14.0-RELEASE-arm64-aarch64-RPI.img.xz</a>
</dd>
<dl>
を使用します。

ダウンロードしたイメージの書き込みは、 microSD が /dev/da0 として認識されているとして、

```
# xzcat FreeBSD-14.0-RELEASE-arm64-aarch64-RPI.img.xz | 
dd of=/dev/da0 bs=2m status=progress
```

などとします。

この microSD を Pi Zero 2 Wに挿して電源を入れれば FreeBSDがそのまま起動...してくれればよかったのですが。現状ではそうなっていません。
このイメージを起動させるには、作成したディスクの FAT 領域の RaspberryPi 用 firmware を新しいものに書き換える必要があります。

新しい firmware は、pkg にすでに入っていて、作業用 FreeBSD マシンで

```
# pkg install rpi-firmware
```

を実行することで /usr/local/share/rpi-firmware 以下にインストールされます。
あとは 

* microSD の FAT 領域をマウント
* /usr/local/share/rpi-firmware 以下のファイルをコピー
* config.txt arm64用ではないもので上書きされてしまったので config_arm64.txt をコピー

で、起動するディスクが完成します。実際の手順は以下のようなコマンド実行です。

```
# mount_msdosfs /dev/da0s1 /media
# cp -r /usr/local/share/rpi-firmware/* /media
# cp /media/config_arm64.txt /media/config.txt
```

単に公式ビルドが使用している rpi-firmware が古いだけの問題だと思われるので、そのうち不要になる手順だと思われますが、現状は(current でも)この手順が必要です。

これでやっと起動する FreeBSD が起動する microSD ができました。電源を入れてみるとズラズラっとログがでてログインプロンプトが出るはずです(実際の起動ログは記事の最後に置いておきます)。
ログインは 
一般ユーザー
* ユーザー名:freebsd
* パスワード:freebsd

スーパーユーザー
* ユーザー名:root
* パスワード:root

です。

# とりあえずオンボード Lチカ

Pi Zero 2 W のオンボードには LED がついていて、ユーザー操作が可能です。
FreeBSDでの操作は devfs 上の "/dev/led/ACT" に対して 

```
# echo 1 > /dev/led/ACT (点灯)
# echo 0 > /dev/led/ACT (消灯)
```

これでお手軽にLチカだけは楽しめます。

# 起動ログ
FredBSD 14.0-RELEASE

<pre>
console comconsole failed to initialize
Consoles: EFI console  serial port  
    Reading loader env vars from /efi/freebsd/loader.env
Setting currdev to disk0p1:
FreeBSD/arm64 EFI loader, Revision 1.1

   Command line arguments: loader.efi
   Image base: 0x1aa39000
   EFI version: 2.100
   EFI Firmware: Das U-Boot (rev 8227.1792)
   Console: efi,comconsole (0)
   Load Path: /efi\boot\bootaa64.efi
   Load Device: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/SD(2)/SD(0)/HD(1,0x01,0,0x800,0x19000)
Trying ESP: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/SD(2)/SD(0)/HD(1,0x01,0,0x800,0x19000)
Setting currdev to disk0p1:
Trying: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/SD(2)/SD(0)/HD(2,0x01,0,0x19800,0x9e6800)
Setting currdev to disk0p2:
Loading /boot/defaults/loader.conf
Loading /boot/defaults/loader.conf
Loading /boot/device.hints
Loading /boot/loader.conf
Loading /boot/loader.conf.local
Loading kernel...
/boot/kernel/kernel text=0x2a8 text=0x9b50c0 text=0x25ca5c data=0x14d1b8 data=0x0+0x2c5000 0x8+0x14ba70+0x8+0x174176
Loading configured modules...
/boot/kernel/umodem.ko text=0x2040 text=0x1350 data=0x6f8+0x4 0x8+0xeb8+0x8+0xb2c
loading required module 'ucom'
/boot/kernel/ucom.ko text=0x249f text=0x3370 data=0x920+0x858 0x8+0x1170+0x8+0xb13
can't find '/boot/entropy'
can't find '/etc/hostid'

Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [/boot/kernel/kernel]...               
Using DTB provided by EFI at 0x1ab0e000.
EFI framebuffer information:
addr, size     0x1eaf0000, 0x10a800
dimensions     656 x 416
stride         656
masks          0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000
---<<BOOT>>---
WARNING: Cannot find freebsd,dts-version property, cannot check DTB compliance
Copyright (c) 1992-2023 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 14.0-RELEASE #0 releng/14.0-n265380-f9716eee8ab4: Fri Nov 10 08:59:18 UTC 2023
    root@releng1.nyi.freebsd.org:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC arm64
FreeBSD clang version 16.0.6 (https://github.com/llvm/llvm-project.git llvmorg-16.0.6-0-g7cbf1a259152)
VT(efifb): resolution 656x416
module scmi already present!
real memory  = 469753856 (447 MB)
avail memory = 434151424 (414 MB)
Starting CPU 1 (1)
Starting CPU 2 (2)
Starting CPU 3 (3)
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
arc4random: WARNING: initial seeding bypassed the cryptographic random device because it was not yet seeded and the knob 'bypass_before_seeding' was enabled.
random: entropy device external interface
kbd0 at kbdmux0
ofwbus0: <Open Firmware Device Tree>
simplebus0: <Flattened device tree simple bus> on ofwbus0
ofw_clkbus0: <OFW clocks bus> on ofwbus0
clk_fixed0: <Fixed clock> on ofw_clkbus0
clk_fixed1: <Fixed clock> on ofw_clkbus0
regfix0: <Fixed Regulator> on ofwbus0
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
regfix1: <Fixed Regulator> on ofwbus0
regfix2: <Fixed Regulator> on ofwbus0
regfix3: <Fixed Regulator> on ofwbus0
bcm2835_firmware0: <BCM2835 Firmware> on simplebus0
ofw_clkbus1: <OFW clocks bus> on bcm2835_firmware0
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
psci0: <ARM Power State Co-ordination Interface Driver> on ofwbus0
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
lintc0: <BCM2836 Interrupt Controller> mem 0x40000000-0x400000ff on simplebus0
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
intc0: <BCM2835 Interrupt Controller> mem 0x7e00b200-0x7e00b3ff irq 39 on simplebus0
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
gpio0: <BCM2708/2835 GPIO controller> mem 0x7e200000-0x7e2000b3 irq 7,8 on simplebus0
gpiobus0: <OFW GPIO bus> on gpio0
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
mbox0: <BCM2835 VideoCore Mailbox> mem 0x7e00b880-0x7e00b8bf irq 6 on simplebus0
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
generic_timer0: <ARMv7 Generic Timer> irq 1,2,3,4 on ofwbus0
Timecounter "ARM MPCore Timecounter" frequency 19200000 Hz quality 1000
Event timer "ARM MPCore Eventtimer" frequency 19200000 Hz quality 1000
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
bcm_dma0: <BCM2835 DMA Controller> mem 0x7e007000-0x7e007eff irq 23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38 on simplebus0
usb_nop_xceiv0: <USB NOP PHY> on ofwbus0
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
bcm2835_clkman0: <BCM283x Clock Manager> mem 0x7e101000-0x7e102fff on simplebus0
gpioc0: <GPIO controller> on gpio0
uart0: <PrimeCell UART (PL011)> mem 0x7e201000-0x7e2011ff irq 9 on simplebus0
uart0: console (115200,n,8,1)
spi0: <BCM2708/2835 SPI controller> mem 0x7e204000-0x7e2041ff irq 11 on simplebus0
spibus0: <OFW SPI bus> on spi0
spibus0: <unknown card> at cs 0 mode 0
spibus0: <unknown card> at cs 1 mode 0
sdhci_bcm0: <Broadcom 2708 SDHCI controller> mem 0x7e300000-0x7e3000ff irq 17 on simplebus0
mmc0: <MMC/SD bus> on sdhci_bcm0
iichb0: <BCM2708/2835 BSC controller> mem 0x7e804000-0x7e804fff irq 20 on simplebus0
bcm283x_dwcotg0: <DWC OTG 2.0 integrated USB controller (bcm283x)> mem 0x7e980000-0x7e98ffff,0x7e006000-0x7e006fff irq 21,22 on simplebus0
usbus1 on bcm283x_dwcotg0
bcmwd0: <BCM2708/2835 Watchdog> mem 0x7e100000-0x7e100113,0x7e00a000-0x7e00a023 on simplebus0
bcmrng0: <Broadcom BCM2835/BCM2838 RNG> mem 0x7e104000-0x7e10400f irq 40 on simplebus0
fb0: <BCM2835 VT framebuffer driver> on simplebus0
fb0: keeping existing fb bpp of 32
fbd0 on fb0
WARNING: Device "fb" is Giant locked and may be deleted before FreeBSD 15.0.
VT: Replacing driver "efifb" with new "fb".
fb0: 656x416(656x416@0,0) 32bpp
fb0: fbswap: 1, pitch 2624, base 0x1eaf0000, screen_size 1091584
pmu0: <Performance Monitoring Unit> irq 0 on ofwbus0
cpulist0: <Open Firmware CPU Group> on ofwbus0
cpu0: <Open Firmware CPU> on cpulist0
bcm2835_cpufreq0: <CPU Frequency Control> on cpu0
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
gpioled0: <GPIO LEDs> on ofwbus0
armv8crypto0: CPU lacks AES instructions
Timecounters tick every 1.000 msec
usbus1: 480Mbps High Speed USB v2.0
ugen1.1: <DWCOTG OTG Root HUB> at usbus1
uhub0 on usbus1
uhub0: <DWCOTG OTG Root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus1
mmcsd0: 64GB <SDHC SD64G 8.5 SN FABC34CD MFG 03/2023 by 3 SD> at mmc0 50.0MHz/4bit/65535-block
iicbus0: <OFW I2C bus> on iichb0
iic0: <I2C generic I/O> on iicbus0
bcm2835_cpufreq0: ARM 600MHz, Core 250MHz, SDRAM 400MHz, Turbo OFF
CPU  0: ARM Cortex-A53 r0p4 affinity:  0
                   Cache Type = <64 byte D-cacheline,64 byte I-cacheline,VIPT ICache,64 byte ERG,64 byte CWG>
 Instruction Set Attributes 0 = <CRC32>
 Instruction Set Attributes 1 = <>
 Instruction Set Attributes 2 = <>
         Processor Features 0 = <AdvSIMD,FP,EL3 32,EL2 32,EL1 32,EL0 32>
         Processor Features 1 = <>
      Memory Model Features 0 = <TGran4,TGran64,SNSMem,BigEnd,16bit ASID,1TB PA>
Trying to mount root from ufs:/dev/ufs/rootfs [rw]...
      Memory Model Features 1 = <8bit VMID>
      Memory Model Features 2 = <32bit CCIDX,48bit VA>
             Debug Features 0 = <DoubleLock,2 CTX BKPTs,4 Watchpoints,6 Breakpoints,PMUv3,Debugv8>
             Debug Features 1 = <>
         Auxiliary Features 0 = <>
         Auxiliary Features 1 = <>
AArch32 Instruction Set Attributes 5 = <CRC32,SEVL>
AArch32 Media and VFP Features 0 = <FPRound,FPSqrt,FPDivide,DP VFPv3+v4,SP VFPv3+v4,AdvSIMD>
AArch32 Media and VFP Features 1 = <SIMDFMAC,FPHP DP Conv,SIMDHP SP Conv,SIMDSP,SIMDInt,SIMDLS,FPDNaN,FPFtZ>
CPU  1: ARM Cortex-A53 r0p4 affinity:  1
CPU  2: ARM Cortex-A53 r0p4 affinity:  2
CPU  3: ARM Cortex-A53 r0p4 affinity:  3
Release APs...done
TCP_ratelimit: Is now initialized
Warning: no time-of-day clock registered, system time will not be set accurately
Dual Console: Serial Primary, Video Secondary
uhub0: 1 port with 1 removable, self powered
Setting hostuuid: 30303030-3030-3030-3238-653439396462.
Setting hostid: 0x3a5d0dc2.
Starting file system checks:
/dev/ufs/rootfs: FILE SYSTEM CLEAN; SKIPPING CHECKS
/dev/ufs/rootfs: clean, 455629 free (269 frags, 56920 blocks, 0.0% fragmentation)
Growing root partition to fill device
random: randomdev_wait_until_seeded unblock wait
random: unblocking device.
Adding swap partition
GEOM_PART: mmcsd0s2 was automatically resized.
  Use `gpart commit mmcsd0s2` to save changes or `gpart undo mmcsd0s2` to revert them.
mmcsd0s2 resized
mmcsd0s2b added
mmcsd0s2a resized
super-block backups (for fsck_ffs -b #) at:
 11524224, 12804672, 14085120, 15365568, 16646016, 17926464, 19206912,
 20487360, 21767808, 23048256, 24328704, 25609152, 26889600, 28170048,
 29450496, 30730944, 32011392, 33291840, 34572288, 35852736, 37133184,
 38413632, 39694080, 40974528, 42254976, 43535424, 44815872, 46096320,
 47376768, 48657216, 49937664, 51218112, 52498560, 53779008, 55059456,
 56339904, 57620352, 58900800, 60181248, 61461696, 62742144, 64022592,
 65303040, 66583488, 67863936, 69144384, 70424832, 71705280, 72985728,
 74266176, 75546624, 76827072, 78107520, 79387968, 80668416, 81948864,
 83229312, 84509760, 85790208, 87070656, 88351104, 89631552, 90912000,
 92192448, 93472896, 94753344, 96033792, 97314240, 98594688, 99875136,
 101155584, 102436032, 103716480, 104996928, 106277376, 107557824, 108838272,
 110118720, 111399168, 112679616, 113960064, 115240512, 116520960, 117801408,
 119081856, 120362304, 121642752
Metadata value stored on mmcsd0s2b.
Done.
Mounting local filesystems:.
Building /boot/kernel/linker.hints
ELF ldconfig path: /lib /usr/lib /usr/lib/compat
32-bit compatibility ldconfig path: /usr/lib32
Setting hostname: generic.
Setting up harvesting: [CALLOUT],[UMA],[FS_ATIME],SWI,INTERRUPT,NET_NG,[NET_ETHER],NET_TUN,MOUSE,KEYBOARD,ATTACH,CACHED
Feeding entropy: .
lo0: link state changed to UP
Starting Network: lo0.
lo0: flags=1008049<UP,LOOPBACK,RUNNING,MULTICAST,LOWER_UP> metric 0 mtu 16384
        options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
        inet 127.0.0.1 netmask 0xff000000
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
        groups: lo
        nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
Starting devd.
add host 127.0.0.1: gateway lo0 fib 0: route already in table
add host ::1: gateway lo0 fib 0: route already in table
add net fe80::: gateway ::1
add net ff02::: gateway ::1
add net ::ffff:0.0.0.0: gateway ::1
add net ::0.0.0.0: gateway ::1
Updating motd:.
Updating /var/run/os-release done.
Clearing /tmp (X related).
Creating and/or trimming log files.
Starting syslogd.
Mounting late filesystems:.
Generating RSA host key.
3072 SHA256:9W2tjPt0w1ihRaF4EuS2BS1sHkkFlZr1fo2aTobhQoY root@generic (RSA)
Generating ECDSA host key.
256 SHA256:+0NfH8fy0LYUxWgntIIheozzPNUzAu9Ddt4DMFCLLqs root@generic (ECDSA)
Generating ED25519 host key.
256 SHA256:vQAvYa0di54XV/Z0WRJQRO2V/CxfTrw9cTZ3e+s60ac root@generic (ED25519)
Performing sanity check on sshd configuration.
Starting sshd.
Starting cron.
Starting background file system checks in 60 seconds.

Fri Nov 10 10:03:26 UTC 2023

FreeBSD/arm64 (generic) (ttyu0)

login: 
</pre>

参考として 2023/11/24 のFreeBSD 15.0-CURRENT

<pre>
Consoles: EFI console  
    Reading loader env vars from /efi/freebsd/loader.env
Setting currdev to disk0p1:
FreeBSD/arm64 EFI loader, Revision 1.1
(Fri Nov 24 05:51:13 UTC 2023 root@releng3.nyi.freebsd.org)

   Command line arguments: loader.efi
   Image base: 0x1aa39000
   EFI version: 2.100
   EFI Firmware: Das U-Boot (rev 8227.1792)
   Console: efi,comconsole (0)
   Load Path: /efi\boot\bootaa64.efi
   Load Device: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/SD(2)/SD(0)/HD(1,0x01,0,0x800,0x19000)
Trying ESP: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/SD(2)/SD(0)/HD(1,0x01,0,0x800,0x19000)
Setting currdev to disk0p1:
Trying: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/SD(2)/SD(0)/HD(2,0x01,0,0x19800,0x9e6800)
Setting currdev to disk0p2:
Loading /boot/defaults/loader.conf
Loading /boot/defaults/loader.conf
Loading /boot/device.hints
Loading /boot/loader.conf
Loading /boot/loader.conf.local
Loading kernel...
/boot/kernel/kernel text=0x2a8 text=0x95edd0 text=0x2a8814 data=0x15acc8 data=0x0+0x37a000 0x8+0x158fd0+0x8+0x182f32
Loading configured modules...
/boot/kernel/umodem.ko text=0x20c0 text=0x1558 data=0x708+0x4 0x8+0xed0+0x8+0xb2d
loading required module 'ucom'
/boot/kernel/ucom.ko text=0x2620 text=0x31a0 data=0x970+0x858 0x8+0x1290+0x8+0xbd0
can't find '/boot/entropy'
can't find '/etc/hostid'

Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [/boot/kernel/kernel]...               
Using DTB provided by EFI at 0x1ab0e000.
EFI framebuffer information:
addr, size     0x1eaf0000, 0x10a800
dimensions     656 x 416
stride         656
masks          0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000
---<<BOOT>>---
GDB: debug ports: uart
GDB: current port: uart
KDB: debugger backends: ddb gdb
KDB: current backend: ddb
WARNING: Cannot find freebsd,dts-version property, cannot check DTB compliance
Copyright (c) 1992-2023 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 15.0-CURRENT #0 main-n266583-c4dacfa7f4b8: Fri Nov 24 06:16:27 UTC 2023
    root@releng3.nyi.freebsd.org:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC arm64
FreeBSD clang version 16.0.6 (https://github.com/llvm/llvm-project.git llvmorg-16.0.6-0-g7cbf1a259152)
WARNING: WITNESS option enabled, expect reduced performance.
VT(efifb): resolution 656x416
module scmi already present!
real memory  = 469753856 (447 MB)
avail memory = 430219264 (410 MB)
Starting CPU 1 (1)
Starting CPU 2 (2)
Starting CPU 3 (3)
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
arc4random: WARNING: initial seeding bypassed the cryptographic random device because it was not yet seeded and the knob 'bypass_before_seeding' was enabled.
random: entropy device external interface
kbd0 at kbdmux0
ofwbus0: <Open Firmware Device Tree>
simplebus0: <Flattened device tree simple bus> on ofwbus0
ofw_clkbus0: <OFW clocks bus> on ofwbus0
clk_fixed0: <Fixed clock> on ofw_clkbus0
clk_fixed1: <Fixed clock> on ofw_clkbus0
regfix0: <Fixed Regulator> on ofwbus0
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
regfix1: <Fixed Regulator> on ofwbus0
regfix2: <Fixed Regulator> on ofwbus0
regfix3: <Fixed Regulator> on ofwbus0
bcm2835_firmware0: <BCM2835 Firmware> on simplebus0
ofw_clkbus1: <OFW clocks bus> on bcm2835_firmware0
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
psci0: <ARM Power State Co-ordination Interface Driver> on ofwbus0
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
lintc0: <BCM2836 Interrupt Controller> mem 0x40000000-0x400000ff on simplebus0
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
intc0: <BCM2835 Interrupt Controller> mem 0x7e00b200-0x7e00b3ff irq 39 on simplebus0
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
gpio0: <BCM2708/2835 GPIO controller> mem 0x7e200000-0x7e2000b3 irq 7,8 on simplebus0
gpiobus0: <OFW GPIO bus> on gpio0
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
mbox0: <BCM2835 VideoCore Mailbox> mem 0x7e00b880-0x7e00b8bf irq 6 on simplebus0
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
generic_timer0: <ARMv7 Generic Timer> irq 1,2,3,4 on ofwbus0
Timecounter "ARM MPCore Timecounter" frequency 19200000 Hz quality 1000
Event timer "ARM MPCore Eventtimer" frequency 19200000 Hz quality 1000
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
bcm_dma0: <BCM2835 DMA Controller> mem 0x7e007000-0x7e007eff irq 23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38 on simplebus0
usb_nop_xceiv0: <USB NOP PHY> on ofwbus0
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
bcm2835_clkman0: <BCM283x Clock Manager> mem 0x7e101000-0x7e102fff on simplebus0
gpioc0: <GPIO controller> on gpio0
uart0: <PrimeCell UART (PL011)> mem 0x7e201000-0x7e2011ff irq 9 on simplebus0
uart0: console (115200,n,8,1)
spi0: <BCM2708/2835 SPI controller> mem 0x7e204000-0x7e2041ff irq 11 on simplebus0
spibus0: <OFW SPI bus> on spi0
spibus0: <unknown card> at cs 0 mode 0
spibus0: <unknown card> at cs 1 mode 0
sdhci_bcm0: <Broadcom 2708 SDHCI controller> mem 0x7e300000-0x7e3000ff irq 17 on simplebus0
mmc0: <MMC/SD bus> on sdhci_bcm0
iichb0: <BCM2708/2835 BSC controller> mem 0x7e804000-0x7e804fff irq 20 on simplebus0
bcm283x_dwcotg0: <DWC OTG 2.0 integrated USB controller (bcm283x)> mem 0x7e980000-0x7e98ffff,0x7e006000-0x7e006fff irq 21,22 on simplebus0
usbus1 on bcm283x_dwcotg0
bcmwd0: <BCM2708/2835 Watchdog> mem 0x7e100000-0x7e100113,0x7e00a000-0x7e00a023 on simplebus0
bcmrng0: <Broadcom BCM2835/BCM2838 RNG> mem 0x7e104000-0x7e10400f irq 40 on simplebus0
fb0: <BCM2835 VT framebuffer driver> on simplebus0
fb0: keeping existing fb bpp of 32
fbd0 on fb0
WARNING: Device "fb" is Giant locked and may be deleted before FreeBSD 15.0.
VT: Replacing driver "efifb" with new "fb".
fb0: 656x416(656x416@0,0) 32bpp
fb0: fbswap: 1, pitch 2624, base 0x1eaf0000, screen_size 1091584
pmu0: <Performance Monitoring Unit> irq 0 on ofwbus0
cpulist0: <Open Firmware CPU Group> on ofwbus0
cpu0: <Open Firmware CPU> on cpulist0
bcm2835_cpufreq0: <CPU Frequency Control> on cpu0
clk_fixed2: clock-fixed has no clock-frequency
clk_fixed2: clock-fixed has no clock-frequency
gpioled0: <GPIO LEDs> on ofwbus0
armv8crypto0: CPU lacks AES instructions
Timecounters tick every 1.000 msec
usbus1: 480Mbps High Speed USB v2.0
ugen1.1: <DWCOTG OTG Root HUB> at usbus1
uhub0 on usbus1
uhub0: <DWCOTG OTG Root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus1
mmcsd0: 64GB <SDHC SD64G 8.5 SN FABC34CD MFG 03/2023 by 3 SD> at mmc0 50.0MHz/4bit/65535-block
iicbus0: <OFW I2C bus> on iichb0
iic0: <I2C generic I/O> on iicbus0
bcm2835_cpufreq0: ARM 600MHz, Core 250MHz, SDRAM 400MHz, Turbo OFF
CPU  0: ARM Cortex-A53 r0p4 affinity:  0
                   Cache Type = <64 byte D-cacheline,64 byte I-cacheline,VIPT ICache,64 byte ERG,64 byte CWG>
 Instruction Set Attributes 0 = <CRC32>
Trying to mount root from ufs:/dev/ufs/rootfs [rw]...
 Instruction Set Attributes 1 = <>
 Instruction Set Attributes 2 = <>
         Processor Features 0 = <AdvSIMD,FP,EL3 32,EL2 32,EL1 32,EL0 32>
         Processor Features 1 = <>
      Memory Model Features 0 = <TGran4,TGran64,SNSMem,BigEnd,16bit ASID,1TB PA>
      Memory Model Features 1 = <8bit VMID>
      Memory Model Features 2 = <32bit CCIDX,48bit VA>
             Debug Features 0 = <DoubleLock,2 CTX BKPTs,4 Watchpoints,6 Breakpoints,PMUv3,Debugv8>
             Debug Features 1 = <>
         Auxiliary Features 0 = <>
         Auxiliary Features 1 = <>
AArch32 Instruction Set Attributes 5 = <CRC32,SEVL>
AArch32 Media and VFP Features 0 = <FPRound,FPSqrt,FPDivide,DP VFPv3+v4,SP VFPv3+v4,AdvSIMD>
AArch32 Media and VFP Features 1 = <SIMDFMAC,FPHP DP Conv,SIMDHP SP Conv,SIMDSP,SIMDInt,SIMDLS,FPDNaN,FPFtZ>
CPU  1: ARM Cortex-A53 r0p4 affinity:  1
CPU  2: ARM Cortex-A53 r0p4 affinity:  2
CPU  3: ARM Cortex-A53 r0p4 affinity:  3
Release APs...done
TCP_ratelimit: Is now initialized
WARNING: WITNESS option enabled, expect reduced performance.
Warning: no time-of-day clock registered, system time will not be set accurately
Dual Console: Serial Primary, Video Secondary
uhub0: 1 port with 1 removable, self powered
No suitable dump device was found.
Setting hostuuid: 30303030-3030-3030-3238-653439396462.
Setting hostid: 0x3a5d0dc2.
Starting file system checks:
/dev/ufs/rootfs: FILE SYSTEM CLEAN; SKIPPING CHECKS
/dev/ufs/rootfs: clean, 428839 free (223 frags, 53577 blocks, 0.0% fragmentation)
Growing root partition to fill device
random: randomdev_wait_until_seeded unblock wait
random: unblocking device.
Adding swap partition
GEOM_PART: mmcsd0s2 was automatically resized.
  Use `gpart commit mmcsd0s2` to save changes or `gpart undo mmcsd0s2` to revert them.
mmcsd0s2 resized
mmcsd0s2b added
mmcsd0s2a resized
super-block backups (for fsck_ffs -b #) at:
 11524224, 12804672, 14085120, 15365568, 16646016, 17926464, 19206912,
 20487360, 21767808, 23048256, 24328704, 25609152, 26889600, 28170048,
 29450496, 30730944, 32011392, 33291840, 34572288, 35852736, 37133184,
 38413632, 39694080, 40974528, 42254976, 43535424, 44815872, 46096320,
 47376768, 48657216, 49937664, 51218112, 52498560, 53779008, 55059456,
 56339904, 57620352, 58900800, 60181248, 61461696, 62742144, 64022592,
 65303040, 66583488, 67863936, 69144384, 70424832, 71705280, 72985728,
 74266176, 75546624, 76827072, 78107520, 79387968, 80668416, 81948864,
 83229312, 84509760, 85790208, 87070656, 88351104, 89631552, 90912000,
 92192448, 93472896, 94753344, 96033792, 97314240, 98594688, 99875136,
 101155584, 102436032, 103716480, 104996928, 106277376, 107557824, 108838272,
 110118720, 111399168, 112679616, 113960064, 115240512, 116520960, 117801408,
 119081856, 120362304, 121642752
Metadata value stored on mmcsd0s2b.
Done.
Mounting local filesystems:.
Building /boot/kernel/linker.hints
ELF ldconfig path: /lib /usr/lib /usr/lib/compat
32-bit compatibility ldconfig path: /usr/lib32 /usr/lib32
Setting hostname: generic.
Setting up harvesting: [CALLOUT],[UMA],[FS_ATIME],SWI,INTERRUPT,NET_NG,[NET_ETHER],NET_TUN,MOUSE,KEYBOARD,ATTACH,CACHED
Feeding entropy: .
lo0: link state changed to UP
Starting Network: lo0.
lo0: flags=1008049<UP,LOOPBACK,RUNNING,MULTICAST,LOWER_UP> metric 0 mtu 16384
        options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
        inet 127.0.0.1 netmask 0xff000000
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
        groups: lo
        nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
Starting devd.
route: message indicates error: File exists
add host 127.0.0.1: gateway lo0 fib 0: route already in table
route: message indicates error: File exists
add host ::1: gateway lo0 fib 0: route already in table
add net fe80::: gateway ::1
add net ff02::: gateway ::1
add net ::ffff:0.0.0.0: gateway ::1
add net ::0.0.0.0: gateway ::1
Updating motd:.
Updating /var/run/os-release done.
Clearing /tmp (X related).
Creating and/or trimming log files.
Starting syslogd.
Mounting late filesystems:.
Generating RSA host key.
3072 SHA256:9h8wBi8HfsyJvo4beAOv6TXZmXFHGLgDiAcE7VNY5SA root@generic (RSA)
Generating ECDSA host key.
256 SHA256:Zqw6aQJ+AauXf8AyqMMsp5n3moIcf13uCA9oL2dZvh0 root@generic (ECDSA)
Generating ED25519 host key.
256 SHA256:jDkeUf9YHW8rxYyF6hY9Tp1sKPp6k5zvQrsnNm4zy4w root@generic (ED25519)
Performing sanity check on sshd configuration.
Starting sshd.
Starting cron.
Starting background file system checks in 60 seconds.

Fri Nov 24 07:02:08 UTC 2023

FreeBSD/arm64 (generic) (ttyu0)

login: 
</pre>