FreeBSD Desktop for PineBook Pro

Yes, I've almost done it, I want to know if anyone needs it.
1*_ZVj8FamSSO4kwJlWw0G2A.png
Any news on this?

Also, how do I change it to use the official FreeBSD pkg repository and not PersonalBSD's repository, which has significantly less packages available?
 
I am still testing helloDesktop for aarch64.

I have built all the required packages in my repository.
If you want to disable my repository you need to edit or remove the configuration files
in the /usr/local/etc/pkg/repos/ directory. This is easy to do.

If you want to join testing helloDesktop,
you need to leave my repository connected and run the following commands:

pkg update
pkg install hellodesktop hellodesktop-apps openbox

Then you need to create a test user account with the following command
adduser -k /usr/local/share/skel

After that, you need to do the following:

cd /usr/local/share/helloSystem/Utilities/
cp -rv /

After that, everything is ready to run helloDesktop.
Log in as a test user and run the command:

startx

Happy 2022 year to everyone!
I wish you good luck in the new year.
 
I am still testing helloDesktop for aarch64.

I have built all the required packages in my repository.
If you want to disable my repository you need to edit or remove the configuration files
in the /usr/local/etc/pkg/repos/ directory. This is easy to do.

If you want to join testing helloDesktop,
you need to leave my repository connected and run the following commands:

pkg update
pkg install hellodesktop hellodesktop-apps openbox

Then you need to create a test user account with the following command
adduser -k /usr/local/share/skel

After that, you need to do the following:

cd /usr/local/share/helloSystem/Utilities/
cp -rv /

After that, everything is ready to run helloDesktop.
Log in as a test user and run the command:

startx

Happy 2022 year to everyone!
I wish you good luck in the new year.
Thank you very very much! This is awesome news!! :D

I have your pbp image backed up to my Google Drive, and was wondering if you wanted/needed me to share a backup download mirror for it.
 
Hi
Two tips for the Pinebook Pro, /usr/bin/proccontrol -m aslr -s disable /usr/local/bin/firefox for far more stable firefox on my drm / panfrost branch.
USB-C Take care and reread the dts files. gpioctl -f /dev/gpioc1 3 1 It turns on the power for usb-c, the driver does not automatically only on rockpro64
EDIT: firefox only works under sway for me. in X11 it does not render correctly
 
I grabbed your image which seems to be fairly recent (2022-03). Wrote it to SD. It boots fine but I do not get video past initial boot. I'm using the mainline uboot 2021.10 from manjaro on emmc. I have a serial cable and can make it to using it in a term. I just don't quite understand why I have a blank screen though. The screen is on, just nothing else being displayed. It seems to happen right after VT(efifb)...

---<<BOOT>>---
KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2021 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 13.0-RELEASE-p8 #0: Wed Mar 16 18:58:57 MSK 2022
root@honeycomb.local:/usr/crochet/work/obj/usr/crochet/src-release-13.0/arm64.aarch64/sys/EXPER4
FreeBSD clang version 11.0.1 (git@github.com:llvm/llvm-project.git llvmorg-11.0.1-0-g43ff75f2c3fe)
VT(efifb): resolution 1920x1080

*** NO VIDEO PAST THIS POINT ***

Here is the entirety of the boot process in case it is relevant:

U-Boot TPL 2021.07-3 (May 14 2022 - 10:12:59)
Channel 0: LPDDR4, 50MHz
BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
Channel 1: LPDDR4, 50MHz
BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
256B stride
lpddr4_set_rate: change freq to 400000000 mhz 0, 1
lpddr4_set_rate: change freq to 800000000 mhz 1, 0
Trying to boot from BOOTROM
Returning to boot ROM...

U-Boot SPL 2021.07-3 (May 14 2022 - 10:12:59 +0000)
Trying to boot from MMC1


U-Boot 2021.07-3 (May 14 2022 - 10:12:59 +0000) Manjaro ARM

SoC: Rockchip rk3399
Reset cause: POR
Model: Pine64 Pinebook Pro
DRAM: 3.9 GiB
PMIC: RK808
Consoles: EFI console
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: 0xf3dd6000
EFI version: 2.80
EFI Firmware: Das U-Boot (rev 8225.1792)
Console: comconsole (0)
Load Path: /efi\boot\bootaa64.efi
Load Device: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/SD(1)/SD(1)/HD(1,GPT,5f2a1f62-a542-11e)
Trying ESP: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/SD(1)/SD(1)/HD(1,GPT,5f2a1f62-a542-11ec-a0)
Setting currdev to disk0p1:
Trying: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/SD(1)/SD(1)/HD(2,GPT,5f2a1f62-a542-11ec-a016-d)
Setting currdev to disk0p2:
Trying: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/SD(1)/SD(1)/HD(3,GPT,5f2a1f62-a542-11ec-a016-d)
Setting currdev to disk0p3:
\



Loading /boot/defaults/loader.conf
Loading /boot/defaults/loader.conf
Loading /boot/device.hints
Loading /boot/loader.conf
Loading /boot/loader.conf.local
cLoading kernel...
/boot/kernel/kernel text=0x2a8 text=0x7bfc00 text=0x1c9ecc data=0x184040 data=0x0+0x384000 syms=[0]/
Loading configured modules...
/boot/kernel/wmt.ko text=0x1d20 text=0x1790 data=0x608+0x10 syms=[0x8+0xde0+0x8+0x98b]
/boot/kernel/usbhid.ko text=0x2080 text=0x12c0 data=0x6e8+0x10 syms=[0x8+0x1008+0x8+0xbcc]
loading required module 'hidbus'
/boot/kernel/hidbus.ko text=0x2206 text=0x20f8 data=0x648+0x8 syms=[0x8+0x10c8+0x8+0xc30]
/boot/entropy size=0x1000
/etc/hostid size=0x25
/boot/kernel/hkbd.ko text=0x5688 text=0x3658 data=0x6a8+0x8 syms=[0x8+0x12a8+0x8+0xc63]
/boot/kernel/uhid.ko text=0x1aa0 text=0x13a0 data=0x5d8+0x8 syms=[0x8+0xd68+0x8+0x930]
/boot/kernel/ums.ko text=0x2215 text=0x1ee8 data=0x698+0x8 syms=[0x8+0xff0+0x8+0xadc]

Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [/boot/kernel/kernel]...
Using DTB provided by EFI at 0x80eb000.
EFI framebuffer information:
addr, size 0xf7800000, 0x3f4800
dimensions 1920 x 1080
stride 1920
masks 0x0000f800, 0x000007e0, 0x0000001f, 0x00000000
---<<BOOT>>---
KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2021 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 13.0-RELEASE-p8 #0: Wed Mar 16 18:58:57 MSK 2022
root@honeycomb.local:/usr/crochet/work/obj/usr/crochet/src-release-13.0/arm64.aarch64/sys/EXPER4
FreeBSD clang version 11.0.1 (git@github.com:llvm/llvm-project.git llvmorg-11.0.1-0-g43ff75f2c3fe)
VT(efifb): resolution 1920x1080
real memory = 4150063104 (3957 MB)
avail memory = 4025843712 (3839 MB)
Starting CPU 1 (1)
Starting CPU 2 (2)
Starting CPU 3 (3)
Starting CPU 4 (100)
Starting CPU 5 (101)
FreeBSD/SMP: Multiprocessor System Detected: 6 CPUs
random: unblocking device.
random: entropy device external interface
MAP f3f12000 mode 2 pages 4
MAP f3f17000 mode 2 pages 4
MAP f6f40000 mode 2 pages 16
WARNING: Device "kbd" is Giant locked and may be deleted before FreeBSD 14.0.
kbd0 at kbdmux0
WARNING: Device "openfirm" is Giant locked and may be deleted before FreeBSD 14.0.
ofwbus0: <Open Firmware Device Tree>
clk_fixed0: <Fixed clock> on ofwbus0
simplebus0: <Flattened device tree simple bus> on ofwbus0
rk_grf0: <RockChip General Register Files> mem 0xff320000-0xff320fff on ofwbus0
rk3399_pmucru0: <Rockchip RK3399 PMU Clock and Reset Unit> mem 0xff750000-0xff750fff on ofwbus0
rk3399_cru0: <Rockchip RK3399 Clock and Reset Unit> mem 0xff760000-0xff760fff on ofwbus0
rk_grf1: <RockChip General Register Files> mem 0xff770000-0xff77ffff on ofwbus0
regfix0: <Fixed Regulator> on ofwbus0
regfix1: <Fixed Regulator> on ofwbus0
regfix2: <Fixed Regulator> on ofwbus0
regfix3: <Fixed Regulator> on ofwbus0
regfix4: <Fixed Regulator> on ofwbus0
regfix5: <Fixed Regulator> on ofwbus0
regfix6: <Fixed Regulator> on ofwbus0
regfix7: <Fixed Regulator> on ofwbus0
regfix8: <Fixed Regulator> on ofwbus0
regfix9: <Fixed Regulator> on ofwbus0
regfix10: <Fixed Regulator> on ofwbus0
regfix11: <Fixed Regulator> on ofwbus0
simple_mfd0: <Simple MFD (Multi-Functions Device)> mem 0xff310000-0xff310fff on ofwbus0
psci0: <ARM Power State Co-ordination Interface Driver> on ofwbus0
gic0: <ARM Generic Interrupt Controller v3.0> mem 0xfee00000-0xfee0ffff,0xfef00000-0xfefbffff,0xfff0
its0: <ARM GIC Interrupt Translation Service> mem 0xfee20000-0xfee3ffff on gic0
rk_iodomain0: <RockChip IO Voltage Domain> mem 0-0xff31ffff,0-0xfff on rk_grf0
rk_iodomain1: <RockChip IO Voltage Domain> mem 0-0xff76ffff,0-0xffff on rk_grf1
rk_pinctrl0: <RockChip Pinctrl controller> on ofwbus0
gpio0: <RockChip GPIO Bank controller> mem 0xff720000-0xff7200ff irq 71 on rk_pinctrl0
gpiobus0: <OFW GPIO bus> on gpio0
gpio1: <RockChip GPIO Bank controller> mem 0xff730000-0xff7300ff irq 72 on rk_pinctrl0
gpiobus1: <OFW GPIO bus> on gpio1
gpio2: <RockChip GPIO Bank controller> mem 0xff780000-0xff7800ff irq 73 on rk_pinctrl0
gpiobus2: <OFW GPIO bus> on gpio2
gpio3: <RockChip GPIO Bank controller> mem 0xff788000-0xff7880ff irq 74 on rk_pinctrl0
gpiobus3: <OFW GPIO bus> on gpio3
gpio4: <RockChip GPIO Bank controller> mem 0xff790000-0xff7900ff irq 75 on rk_pinctrl0
gpiobus4: <OFW GPIO bus> on gpio4
rk_i2c0: <RockChip I2C> mem 0xff110000-0xff110fff irq 20 on ofwbus0
iicbus0: <OFW I2C bus> on rk_i2c0
rk_i2c1: <RockChip I2C> mem 0xff130000-0xff130fff irq 22 on ofwbus0
iicbus1: <OFW I2C bus> on rk_i2c1
rk_i2c2: <RockChip I2C> mem 0xff3c0000-0xff3c0fff irq 38 on ofwbus0
iicbus2: <OFW I2C bus> on rk_i2c2
syr8270: <Silergy SYR827 regulator> at addr 0x80 on iicbus2
rk_i2c3: <RockChip I2C> mem 0xff3d0000-0xff3d0fff irq 39 on ofwbus0
iicbus3: <OFW I2C bus> on rk_i2c3
rk805_pmu0: <RockChip RK805 PMIC> at addr 0x36 irq 76 on iicbus2
generic_timer0: <ARMv8 Generic Timer> irq 2,3,4,5 on ofwbus0
Timecounter "ARM MPCore Timecounter" frequency 24000000 Hz quality 1000
Event timer "ARM MPCore Eventtimer" frequency 24000000 Hz quality 1000
rk_tsadc0: <RockChip temperature sensors> mem 0xff260000-0xff2600ff irq 35 on ofwbus0
rk_usb2phy0: <Rockchip RK3399 USB2PHY> mem 0-0xff76ffff,0-0xffff on rk_grf1
rk_usb2phy1: <Rockchip RK3399 USB2PHY> mem 0-0xff76ffff,0-0xffff on rk_grf1
rk_emmcphy0: <Rockchip RK3399 eMMC PHY> mem 0-0xff76ffff,0-0xffff on rk_grf1
rk_pcie_phy0: <Rockchip RK3399 PCIe PHY> mem 0-0xff76ffff,0-0xffff on rk_grf1
rk_typec_phy0: <Rockchip RK3399 PHY TYPEC> mem 0xff7c0000-0xff7fffff on ofwbus0
rk_typec_phy1: <Rockchip RK3399 PHY TYPEC> mem 0xff800000-0xff83ffff on ofwbus0
cpulist0: <Open Firmware CPU Group> on ofwbus0
cpu0: <Open Firmware CPU> on cpulist0
cpufreq_dt0: <Generic cpufreq driver> on cpu0
cpu1: <Open Firmware CPU> on cpulist0
cpufreq_dt1: <Generic cpufreq driver> on cpu1
cpu2: <Open Firmware CPU> on cpulist0
cpufreq_dt2: <Generic cpufreq driver> on cpu2
cpu3: <Open Firmware CPU> on cpulist0
cpufreq_dt3: <Generic cpufreq driver> on cpu3
cpu4: <Open Firmware CPU> on cpulist0
cpufreq_dt4: <Generic cpufreq driver> on cpu4
cpu5: <Open Firmware CPU> on cpulist0
cpufreq_dt5: <Generic cpufreq driver> on cpu5
pmu0: <Performance Monitoring Unit> irq 0 on ofwbus0
pmu1: <Performance Monitoring Unit> irq 1 on ofwbus0
pcib0: <Rockchip PCIe controller> mem 0xf8000000-0xf9ffffff,0xfd000000-0xfdffffff irq 6,7,8 on ofwb0
pci0: <PCI bus> on pcib0
pcib1: <PCI-PCI bridge> at device 0.0 on pci0
pcib0: failed to reserve resource for pcib1
pcib1: failed to allocate initial memory window: 0-0xfffff
pci1: <PCI bus> on pcib1
nvme0: <Generic NVMe Device> at device 0.0 on pci1
rockchip_dwmmc0: <Synopsys DesignWare Mobile Storage Host Controller (RockChip)> mem 0xfe310000-0xf0
rockchip_dwmmc0: Hardware version ID is 270a
rockchip_dwmmc1: <Synopsys DesignWare Mobile Storage Host Controller (RockChip)> mem 0xfe320000-0xf0
rockchip_dwmmc1: Hardware version ID is 270a
mmc0: <MMC/SD bus> on rockchip_dwmmc1
sdhci_fdt0: <Rockchip RK3399 fdt SDHCI controller> mem 0xfe330000-0xfe33ffff irq 12 on ofwbus0
rk_emmcphy0: got emmcclk clock
sdhci_fdt0-slot0: Hardware doesn't specify timeout clock frequency, setting BROKEN_TIMEOUT quirk.
sdhci_fdt0: 1 slot(s) allocated
mmc1: <MMC/SD bus> on sdhci_fdt0
ehci0: <Generic EHCI Controller> mem 0xfe380000-0xfe39ffff irq 13 on ofwbus0
usbus0: EHCI version 1.0
usbus0 on ehci0
ohci0: <Generic OHCI Controller> mem 0xfe3a0000-0xfe3bffff irq 14 on ofwbus0
usbus1 on ohci0
ehci1: <Generic EHCI Controller> mem 0xfe3c0000-0xfe3dffff irq 15 on ofwbus0
usbus2: EHCI version 1.0
usbus2 on ehci1
ohci1: <Generic OHCI Controller> mem 0xfe3e0000-0xfe3fffff irq 16 on ofwbus0
usbus3 on ohci1
rk_dwc30: <Rockchip RK3399 DWC3> on ofwbus0
xhci0: <Synopsys Designware DWC3> mem 0xfe800000-0xfe8fffff irq 84 on rk_dwc30
xhci0: 64 bytes context size, 32-bit DMA
usbus4: trying to attach
usbus4 on xhci0
rk_dwc31: <Rockchip RK3399 DWC3> on ofwbus0
xhci1: <Synopsys Designware DWC3> mem 0xfe900000-0xfe9fffff irq 85 on rk_dwc31
xhci1: 64 bytes context size, 32-bit DMA
usbus5: trying to attach
usbus5 on xhci1
es8316codec0: <Everest Semi ES8316 CODEC> at addr 0x22 on iicbus0
iic0: <I2C generic I/O> on iicbus0
iic1: <I2C generic I/O> on iicbus1
uart0: <16750 or compatible> mem 0xff180000-0xff1800ff irq 26 on ofwbus0
uart1: <16750 or compatible> mem 0xff1a0000-0xff1a00ff irq 28 on ofwbus0
uart1: console (1500000,n,8,1)
spi0: <Rockchip SPI> mem 0xff1d0000-0xff1d0fff irq 31 on ofwbus0
spibus0: <OFW SPI bus> on spi0
spibus0: <unknown card> at cs 0 mode 0
iicbus2: <unknown card> at addr 0x82
iic2: <I2C generic I/O> on iicbus2
iicbus3: <unknown card> at addr 0x44
iic3: <I2C generic I/O> on iicbus3
pwm0: <Rockchip PWM> mem 0xff420000-0xff42000f on ofwbus0
pwmbus0: <OFW PWM bus> on pwm0
pwmc0: <PWM Control> channel 0 on pwmbus0
pwm1: <Rockchip PWM> mem 0xff420020-0xff42002f on ofwbus0
pwmbus1: <OFW PWM bus> on pwm1
pwmc1: <PWM Control> channel 0 on pwmbus1
i2s0: <Rockchip I2S> mem 0xff890000-0xff890fff irq 51 on ofwbus0
Cannot set frequency for clk: clkin_i2s, error: 34
Cannot set frequency for clk: xin24m, error: 34
pcm0: <simple-audio-card> on ofwbus0
gpioc0: <GPIO controller> on gpio0
gpioc1: <GPIO controller> on gpio1
gpioc2: <GPIO controller> on gpio2
gpioc3: <GPIO controller> on gpio3
gpioc4: <GPIO controller> on gpio4
pwm_backlight0: <PWM Backlight> on ofwbus0
gpioled0: <GPIO LEDs> on ofwbus0
pcm1: <simple-audio-card> on ofwbus0
simpleamp0: <Simple Amplifier> on ofwbus0
cryptosoft0: <software crypto>
Timecounters tick every 1.000 msec
rk805_pmu0: registered as a time-of-day clock, resolution 1.000000s
usbus0: 480Mbps High Speed USB v2.0
usbus1: 12Mbps Full Speed USB v1.0
ugen1.1: <Generic OHCI root HUB> at usbus1
uhub0 on usbus1
uhub0: <Generic OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus1
ugen0.1: <Generic EHCI root HUB> at usbus0
uhub1 on usbus0
uhub1: <Generic EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0
usbus2: 480Mbps High Speed USB v2.0
usbus3: 12Mbps Full Speed USB v1.0
ugen2.1: <Generic EHCI root HUB> at usbus2
uhub2 on usbus2
uhub2: <Generic EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus2
ugen3.1: <Generic OHCI root HUB> at usbus3
uhub3 on usbus3
uhub3: <Generic OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus3
usbus4: 5.0Gbps Super Speed USB v3.0
uhub0: 1 port with 1 removable, self powered
ugen4.1: <Synopsys XHCI root HUB> at usbus4
uhub4 on usbus4
uhub4: <Synopsys XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus4
usbus5: 5.0Gbps Super Speed USB v3.0
nvme0: Allocated 16MB host memory buffer
ugen5.1: <Synopsys XHCI root HUB> at usbus5
uhub5 on usbus5
uhub5: <Synopsys XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus5
uhub3: 1 port with 1 removable, self powered
mmcsd0: 32GB <SDHC SU32G 8.0 SN E01F1671 MFG 02/2013 by 3 SD> at mmc0 20.0MHz/4bit/1021-block
uhub4: 2 ports with 2 removable, self powered
uhub1: 1 port with 1 removable, self powered
mmcsd1: 124GB <MMCHC A3A442 1.0 SN FEA0B529 MFG 07/2021 by 214 0x0003> at mmc1 25.0MHz/8bit/65535-bk
mmcsd1boot0: 4MB partition 1 at mmcsd1
mmcsd1boot1: 4MB partition 2 at mmcsd1
mmcsd1rpmb: 17MB partition 3 at mmcsd1
pcm0: no driver attached to cpu node
uhub2: 1 port with 1 removable, self powered
Cannot set frequency for clk: clkin_i2s, error: 34
Cannot set frequency for clk: xin24m, error: 34
pcm1: failed to set sysclk for aux node
pcm1: failed to set sysclk for aux node
pcm1: failed to set sysclk for aux node
pcm1: failed to set sysclk for aux node
uhub5: 2 ports with 2 removable, self powered
Release APs...done
CPU 0: ARM Cortex-A53 r0p4 affinity: 0 0
nda0 at nvme0 bus 0 scbus0 target 0 lun 1
Cache Type = <64 byte D-cacheline,64 byte I-cacheline,VIPT ICache,64 byte ERG,64>
Trying to mount root from ufs:/dev/gpt/install [rw,noatime]...
nda0: Instruction Set Attributes 0 = <CRC32,SHA2,SHA1,AES+PMULL>
<Patriot M.2 P300 256GB SN07939 P300EDBB22030700057>
Instruction Set Attributes 1 = <>
nda0: Serial Number P300EDBB22030700057
Processor Features 0 = <GIC,AdvSIMD,FP,EL3 32,EL2 32,EL1 32,EL0 32>
nda0: nvme version 1.4 x4 (max x4) lanes PCIe Gen2 (max Gen3) link
Processor Features 1 = <>
nda0: 244198MB (500118192 512 byte sectors)
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 = <2 CTX BKPTs,4 Watchpoints,6 Breakpoints,PMUv3,Debugv8>
Debug Features 1 = <>
Auxiliary Features 0 = <>
Auxiliary Features 1 = <>
CPU 1: ARM Cortex-A53 r0p4 affinity: 0 1
Cache Type = <64 byte D-cacheline,64 byte I-cacheline,VIPT ICache,64 byte ERG,64>
Memory Model Features 0 = <TGran4,TGran64,SNSMem,BigEnd,16bit ASID,1TB PA>
CPU 2: ARM Cortex-A53 r0p4 affinity: 0 2
Cache Type = <64 byte D-cacheline,64 byte I-cacheline,VIPT ICache,64 byte ERG,64>
Memory Model Features 0 = <TGran4,TGran64,SNSMem,BigEnd,16bit ASID,1TB PA>
CPU 3: ARM Cortex-A53 r0p4 affinity: 0 3
Cache Type = <64 byte D-cacheline,64 byte I-cacheline,VIPT ICache,64 byte ERG,64>
Memory Model Features 0 = <TGran4,TGran64,SNSMem,BigEnd,16bit ASID,1TB PA>
CPU 4: ARM Cortex-A72 r0p2 affinity: 1 0
Cache Type = <64 byte D-cacheline,64 byte I-cacheline,PIPT ICache,64 byte ERG,64>
Memory Model Features 0 = <TGran4,TGran64,SNSMem,BigEnd,16bit ASID,16TB PA>
CPU 5: ARM Cortex-A72 r0p2 affinity: 1 1
Cache Type = <64 byte D-cacheline,64 byte I-cacheline,PIPT ICache,64 byte ERG,64>
Memory Model Features 0 = <TGran4,TGran64,SNSMem,BigEnd,16bit ASID,16TB PA>
Unresolved linked clock found: clkin_gmac
rk805_pmu0: Read RTC: 22-06-03 05:57:40
Dual Console: Serial Primary, Video Secondary
Setting hostuuid: 32346333-3730-3832-6565-353462666539.
Setting hostid: 0x728edd47.
ZFS filesystem version: 5
ZFS storage pool version: features support (5000)
Starting file system checks:
/dev/gpt/install: FILE SYSTEM CLEAN; SKIPPING CHECKS
/dev/gpt/install: clean, 7234191 free (1063 frags, 904141 blocks, 0.0% fragmentation)
Mounting local filesystems:.
ELF ldconfig path: /lib /usr/lib /usr/lib/compat
Setting hostname: pinebook-pro.
Setting up harvesting: [UMA],[FS_ATIME],SWI,INTERRUPT,NET_NG,[NET_ETHER],NET_TUN,MOUSE,KEYBOARD,ATTD
Feeding entropy: .
Autoloading module: dwwdt.ko
Autoloading module: mx25l.ko
dwwdt0: <Synopsys Designware watchdog timer> mem 0xff848000-0xff8480ff irq 47 on ofwbus0
mx25l0: <M25Pxx Flash Family> at cs 0 mode 0 on spibus0
mx25l0: device type gd25q128, size 16384K in 256 sectors of 64K, erase size 4K
lo0: link state changed to UP
Starting Network: lo0.
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
inet 127.0.0.1 netmask 0xff000000
groups: lo
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
Starting devd.
Autoloading module: mx25l.ko
Autoloading module: dwwdt.ko
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
Creating and/or trimming log files.
Clearing /tmp (X related).
Updating motd:.
Updating /var/run/os-release done.
Starting syslogd.
Setting date via ntp.
Error resolving 0.freebsd.pool.ntp.org: Name does not resolve (8)
3 Jun 05:57:49 ntpdate[895]: Can't find host 0.freebsd.pool.ntp.org: Name does not resolve (8)
3 Jun 05:57:49 ntpdate[895]: no servers can be used, exiting
Starting local daemons:.
Mounting late filesystems:.
Security policy loaded: MAC/ntpd (mac_ntpd)
Starting ntpd.
Jun 3 05:57:50 pinebook-pro ntpd[957]: leapsecond file ('/var/db/ntpd.leap-seconds.list'): expiredo
Starting powerd.
Configuring vt: blanktime.
Starting cron.
Starting background file system checks in 60 seconds.
Performing sanity check on sshd configuration.
Starting sshd.

Fri Jun 3 05:57:50 UTC 2022

FreeBSD/arm64 (pinebook-pro) (ttyu1)

login:
 
My image is based on a custom u-boot that allows you to get video in FreeBSD without changing the kernel.
I haven't changed it in a while and it's quite old, but it performs. your task. I have a freebsd port to build it, you can see the meaning of the changes in the patch in the files directory.
 
My image is based on a custom u-boot that allows you to get video in FreeBSD without changing the kernel.
I haven't changed it in a while and it's quite old, but it performs. your task. I have a freebsd port to build it, you can see the meaning of the changes in the patch in the files directory.
Ah ok. So seems like it requires a different u-boot? I have been using the manjaro 2021.07 u-boot on emmc. eprom boots spi, emmc, sd, and (i think newer versions) nvme afaik. So sounds like I would need to put uboot on emmc or spi for this to work?
 
petersen77
My U-boot has a hacked DTB file that allows VIDEO to run on a standard FreeBSD kernel.
My boot image includes U-boot for SPI flash.
Therefore, you can use it instead of Tow-boot.
U-boot for SPI written to EFI partition of SD card u-boot-spi.bin
It can be written to SPI flash with the following commands


> load mmc 0 ${kernel_addr_r} u-boot-spi.bin
> sf probe
> sf update ${kernel_addr_r} 0 ${filesize}


Need to clear SPI before writing....
 
People with working pinebook-pro could you share:
- u-boot flavor (vanilla, from ports, from jsm222, from SleepWalker etc)
- content of /boot/loader.conf
- FreeBSD version (uname -srKv)
- device tree from booted system (sysctl -b hw.fdt.dtb | dtc -I dtb -O dts > file.dts)
- dmesg from verbose boot (in FreeBSD loader press Esc and run "boot -v")

If you have working UART/serial console, could you share:
- u-boot version and env (in u-boot shell run: version; printenv)
- full boot log from u-boot to verbose FreeBSD
 
I am cooking up a image , which can turn on the screen from userspace with gpioctl. Only quirk is that backlight cannot be controlled.. I hopefully upload it today UTC.
[edit2]
The following is tested when booting with a manjaro u-boot from image Manjaro-ARM-kde-plasma-pbpro-20.12.img.xz
You can control backlight with pwm directly. the edp-panel has pwm@ff420000 as pwm, on my system it is /dev/pwm/pwmc0.0 you can check with sysctl dev.pwm.
The period is 740740 seen here https://github.com/freebsd/freebsd-...rc/arm64/rockchip/rk3399-pinebook-pro.dts#L35 so e.g
Code:
pwm -f /dev/pwm/pwmc0.0 -p 740740 -d 370370
dimms the backlight to 50% if I am not wrong. The higher -d the dimmer the display (I would have guessed opposite)
[edit]
Just uploaded:
 
Looks like a bad sd-card.. What image did you use? I have used sandisk ultra micro sdhc uhs-I 32 GB and kingston canvas select plus SD cards with success. Unless they where worn out..
 
The initial flickering on boot is expected. Also take care not to reboot since the u-boot in that image does *not*
have this patch https://gist.github.com/jsm222/5b9e110fce4e49d32667331e06428d23. So the lcd output on hot restart might go crazy..

Panfrost needs https://gist.github.com/jsm222/7df208cc5a72918a70cfbef8ee15b51b#file-patch-xf86drm-c or https://people.freebsd.org/~br/drm_hack_panfrost.patch (I have not tested the later) Note that panfrost uses continuous memory allocation because of a limtation in drm rockchip backend, so it is likely to go out of memory and return -ENOMEM (errno 12) Which crashes the system.. I have not tested sddm only startx with defaults after pkg install xorg.
 
I had to clear out the default uboot from both SPI and the Emmc to make the PersonalBSD image boot correctly. Hint, if you don't see the FreeBSD Logo initially, its using the wrong uboot.
 
Greetings to all PineBook Pro owners.

What do you think about porting Tianocore EDK2 on Rockchip RK3399?

I think it would be very convenient to use UEFI BootLoader on PineBook Pro.
This will allow you to run different operating systems from different boot devices and manage it easily.
 
Hey SleepWalker! That idea in your latest comment would be great! On a slightly different subject...

Any chance you could share you managed to display the centered FreeBSD daemon orb on startup? And played that sound effect + the sound effect file when boot is done? I wanted to add these things to my project here, and I will give you credit, also you could make a pull request with these changes if you are ok with it:


I've been daily driving FreeBSD on my PineBook Pro ever since I discovered this thread. Thank you so very much for everything you've done and continue to do for this community!! :D
 
Hello, have the issues with the built-in WiFi module not working been resolved? Is anyone now successfully running a fully functional FreeBSD installation on the Pinebook Pro?
 
Back
Top