# FreeBSD-on-Pandaboard does not Boot UP by itself



## Lamia (Mar 14, 2018)

I have always had to intervene in the boot process of FreeBSDARM on pandaboard before it boots to the login screen. And it takes minutes of trial-by-error.
They include interrupting the boot loader and typing "boot" then ENTER.

Below is the log via minicom:


```
U-Boot SPL 2017.01-rc3 (Jul 21 2017 - 14:48:43)                                                                                                                                                                    
OMAP4430-GP ES2.1                                                                                                                                                                                                  
Trying to boot from MMC1SPL: Please implement spl_start_uboot() for your board                                                                                                                                     
SPL: Direct Linux boot not active!                                                                                                                                                                                 
reading u-boot.img                                                                                                                                                                                                 
reading u-boot.img                                                                                                                                                                                                 
                                                                                                                                                                                                                   
                                                                                                                                                                                                                   
U-Boot 2017.01-rc3 (Jul 21 2017 - 14:48:43 +0000)                                                                                                                                                                  
                                                                                                                                                                                                                   
CPU  : OMAP4430-GP ES2.1                                                                                                                                                                                           
Board: OMAP4 Panda                                                                                                                                                                                                 
I2C:   ready                                                                                                                                                                                                       
DRAM:  1 GiB                                                                                                                                                                                                       
MMC:   OMAP SD/MMC: 0                                                                                                                                                                                              
reading uboot.env                                                                                                                                                                                                  
                                                                                                                                                                                                                   
** Unable to read "uboot.env" from mmc0:1 **                                                                                                                                                                       
Using default environment                                                                                                                                                                                          
                                                                                                                                                                                                                   
Net:   No ethernet found.                                                                                                                                                                                          
Hit any key to stop autoboot:  0                                                                                                                                                                                   
switch to partitions #0, OK                                                                                                                                                                                        
mmc0 is current device                                                                                                                                                                                             
SD/MMC found on device 0                                                                                                                                                                                           
reading boot.scr                                                                                                                                                                                                   
** Unable to read file boot.scr **                                                                                                                                                                                 
reading uEnv.txt                                                                                                                                                                                                   
** Unable to read file uEnv.txt **                                                                                                                                                                                 
switch to partitions #0, OK                                                                                                                                                                                        
mmc0 is current device                                                                                                                                                                                             
Scanning mmc 0:1...                                                                                                                                                                                                
Found FreeBSD U-Boot Loader (bin)                                                                                                                                                                                  
reading ubldr.bin                                                                                                                                                                                                  
234640 bytes read in 16 ms (14 MiB/s)                                                                                                                                                                              
## Starting application at 0x82000000 ...                                                                                                                                                                          
Consoles: U-Boot console                                                                                                                                                                                           
Compatible U-Boot API signature found @0xbdf42c60                                                                                                                                                                  
                                                                                                                                                                                                                   
FreeBSD/armv6 U-Boot loader, Revision 1.2                                                                                                                                                                          
(Fri Jul 21 15:04:31 UTC 2017 root@releng2.nyi.freebsd.org)                                                                                                                                                        
                                                                                                                                                                                                                   
DRAM: 1024MB                                                                                                                                                                                                       
Number of U-Boot devices: 1                                                                                                                                                                                        
U-Boot env: loaderdev not set, will probe all devices.                                                                                                                                                             
Found U-Boot device: disk                                                                                                                                                                                          
  Probing all disk devices...                                                                                                                                                                                      
  Checking unit=0 slice=<auto> partition=<auto>... good.                                                                                                                                                           
Booting from disk0s2a:                                                                                                                                                                                             
/boot/kernel/kernel text=0x5b7ec8 data=0x56440+0x4ccc0 syms=[0x4+0x8f120+0x4+0x90358]                                                                                                                              
                                                                                                                                                                                                                   
Hit [Enter] to boot immediately, or any other key for command prompt.                                                                                                                                              
Booting [/boot/kernel/kernel]...                                                                                                                                                                                   
Using DTB compiled into kernel.                                                                                                                                                                                    
Kernel entry at 0x82200180...                                                                                                                                                                                      
Kernel args: (null)                                                                                                                                                                                                
Copyright (c) 1992-2017 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 11.1-RELEASE #0 r321309: Fri Jul 21 15:10:30 UTC 2017                                                                                                                                                      
    root@releng2.nyi.freebsd.org:/usr/obj/arm.armv6/usr/src/sys/PANDABOARD arm                                                                                                                                     
FreeBSD clang version 4.0.0 (tags/RELEASE_400/final 297347) (based on LLVM 4.0.0)
```

I would hit any key to stop autoboot, type 'boot' then hit the ENTER button. At the next prompt/countdown, I would hit ENTER. I always have to do this trick several times before I get the image to boot to login otherwise, it would hang as shown above {nothing comes next after .....(based on LLVM 4.0.0)}}.

What do I need do? I have tried different OSes on ARM (Android, Boot2Gecko/FirefoxOS, Ubuntu, etc) and I never had this issue before.


----------



## Phishfry (Mar 14, 2018)

I can't help you except to say that u-boot was upgraded and some of the older boards don't seem to work anymore.
I have both BananaPi M1 and Hummingboard i2EX that will boot up off FreeBSD 11 Release but not FreeBSD 11.1
Both are older platforms. I am not much of a complainer and there is enough working on Beaglebone to keep me learning for years. As they say Arm boards are Tier2...

How about the 10.4 RELEASE images. do they work for you? I say this because it too is an older board.


----------



## Lamia (Mar 14, 2018)

```
U-Boot SPL 2017.01-rc3 (Jul 21 2017 - 14:48:43)
OMAP4430-GP ES2.1
Trying to boot from MMC1SPL: Please implement spl_start_uboot() for your board
SPL: Direct Linux boot not active!
reading u-boot.img
reading u-boot.img


U-Boot 2017.01-rc3 (Jul 21 2017 - 14:48:43 +0000)

CPU : OMAP4430-GP ES2.1
Board: OMAP4 Panda
I2C:  ready
DRAM: 1 GiB
MMC:  OMAP SD/MMC: 0
reading uboot.env

** Unable to read "uboot.env" from mmc0:1 **
Using default environment

Net:  No ethernet found.
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
reading boot.scr
** Unable to read file boot.scr **
reading uEnv.txt
** Unable to read file uEnv.txt **
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found FreeBSD U-Boot Loader (bin)
reading ubldr.bin
234640 bytes read in 16 ms (14 MiB/s)
## Starting application at 0x82000000 ...
Consoles: U-Boot console
Compatible U-Boot API signature found @0xbdf42c60

FreeBSD/armv6 U-Boot loader, Revision 1.2
(Fri Jul 21 15:04:31 UTC 2017 root@releng2.nyi.freebsd.org)

DRAM: 1024MB
Number of U-Boot devices: 1
U-Boot env: loaderdev not set, will probe all devices.
Found U-Boot device: disk
Probing all disk devices...
Checking unit=0 slice=<auto> partition=<auto>... good.
Booting from disk0s2a:
/boot/kernel/kernel text=0x5b7ec8 data=0x56440+0x4ccc0 syms=[0x4+0x8f120+0x4+0x90358]

Hit [Enter] to boot immediately, or any other key for command prompt.    
Booting [/boot/kernel/kernel]... 
Using DTB compiled into kernel.
Kernel entry at 0x82200180...
Kernel args: (null)
Copyright (c) 1992-2017 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 11.1-RELEASE #0 r321309: Fri Jul 21 15:10:30 UTC 2017
root@releng2.nyi.freebsd.org:/usr/obj/arm.armv6/usr/src/sys/PANDABOARD arm
FreeBSD clang version 4.0.0 (tags/RELEASE_400/final 297347) (based on LLVM 4.0.0)    
CPU: ARM Cortex-A9 r1p2 (ECO: 0x00000000) 
CPU Features: 
Multiprocessing, Thumb2, Security, VMSAv7, Coherent Walk
Optional instructions:
UMULL, SMULL, SIMD(ext)
LoUU:2 LoC:2 LoUIS:2
Cache level 1:
32KB/32B 4-way data cache WB Read-Alloc Write-Alloc
32KB/32B 4-way instruction cache Read-Alloc
real memory = 1073741824 (1024 MB)
avail memory = 1040732160 (992 MB)
Texas Instruments OMAP4430 Processor, Revision ES2.1
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
random: entropy device external interface
ofwbus0: <Open Firmware Device Tree>
simplebus0: <Flattened device tree simple bus> mem 0x44000000-0x44000fff,0x44800000-0x44801fff,0x45000000-0x45000fff irq 1,2 on ofwbus0
simplebus1: <Flattened device tree simple bus> on simplebus0
simplebus2: <Flattened device tree simple bus> mem 0x2000-0x2fff on simplebus1
ti_scm0: <TI Control Module> mem 0-0x7ff on simplebus2

l2cache0: cannot allocate IRQ, not using interrupt
l2cache0: Part number: 0x3, release: 0x4
l2cache0: Warning: L2 Cache should not already be active; trying to de-activate and re-initialize...
l2cache0: L2 Cache enabled: 1024KB/32B 16 ways
gic0: <ARM Generic Interrupt Controller> mem 0x48241000-0x48241fff,0x48240100-0x482401ff on ofwbus0
gic0: pn 0x390, arch 0x1, rev 0x0, implementer 0x43b irqs 160
omap4_wugen0 mem 0x48281000-0x48281fff on ofwbus0
omap4_prcm0: <TI OMAP Power, Reset and Clock Management (C1)> mem 0x4000-0x5fff on simplebus1
omap4_prcm1: <TI OMAP Power, Reset and Clock Management (C2)> mem 0x8000-0xafff on simplebus1
omap4_prcm2: <TI OMAP Power, Reset and Clock Management (PRM)> mem 0x6000-0x8fff irq 63 on simplebus5
mp_tmr0: <ARM MPCore Timers> mem 0x48240600-0x4824061f irq 0 on ofwbus0
Event timer "MPCore" frequency 300000000 Hz quality 1000
mp_tmr1: <ARM MPCore Timers> mem 0x48240200-0x4824021f irq 62 on simplebus0
Timecounter "MPCore" frequency 300000000 Hz quality 800
cpulist0: <Open Firmware CPU Group> on ofwbus0
cpu0: <Open Firmware CPU> on cpulist0
cpu1: <Open Firmware CPU> on cpulist0
ti_pinmux0: <TI Pinmux Module> mem 0x40-0x1d5 on simplebus3
ti_pinmux_probe: multiple pinctrl modules in device tree data, ignoring
ti_sdma0: <TI sDMA Controller> mem 0x4a056000-0x4a056fff irq 3,4,5,6 on simplebus0
ti_sdma0: sDMA revision 00010900
gpio0: <TI OMAP4 General Purpose I/O (GPIO)> mem 0x4a310000-0x4a3101ff irq 7 on simplebus0
gpiobus0: <OFW GPIO bus> on gpio0
gpioc0: <GPIO controller> on gpio0
gpio1: <TI OMAP4 General Purpose I/O (GPIO)> mem 0x48055000-0x480551ff irq 8 on simplebus0
gpiobus1: <OFW GPIO bus> on gpio1
gpioc1: <GPIO controller> on gpio1
gpio2: <TI OMAP4 General Purpose I/O (GPIO)> mem 0x48057000-0x480571ff irq 9 on simplebus0
gpiobus2: <OFW GPIO bus> on gpio2
gpioc2: <GPIO controller> on gpio2
gpio3: <TI OMAP4 General Purpose I/O (GPIO)> mem 0x48059000-0x480591ff irq 10 on simplebus0
gpiobus3: <OFW GPIO bus> on gpio3
gpioc3: <GPIO controller> on gpio3
gpio4: <TI OMAP4 General Purpose I/O (GPIO)> mem 0x4805b000-0x4805b1ff irq 11 on simplebus0
gpiobus4: <OFW GPIO bus> on gpio4
gpioc4: <GPIO controller> on gpio4
gpio5: <TI OMAP4 General Purpose I/O (GPIO)> mem 0x4805d000-0x4805d1ff irq 12 on simplebus0
gpiobus5: <OFW GPIO bus> on gpio5
gpioc5: <GPIO controller> on gpio5
uart0: <TI UART (16550 compatible)> mem 0x4806a000-0x4806a0ff irq 15 on simplebus0
uart1: <TI UART (16550 compatible)> mem 0x4806c000-0x4806c0ff irq 16 on simplebus0
uart2: <TI UART (16550 compatible)> mem 0x48020000-0x480200ff irq 17 on simplebus0
uart2: console (115384,n,8,1)
uart3: <TI UART (16550 compatible)> mem 0x4806e000-0x4806e0ff irq 18 on simplebus0
iichb0: <TI I2C Controller> mem 0x48070000-0x480700ff irq 19 on simplebus0
iichb0: I2C revision 4.0 FIFO size: 16 bytes
iicbus0: <OFW I2C bus> on iichb0
iic0: <I2C generic I/O> on iicbus0
twl0: <TI TWL6030 Companion IC> at addr 0x90 irq 64 on iicbus0
twl_vreg0: <TI TWL6025/TWL6030 PMIC Voltage Regulators> on twl0
twl_clks0: <TI TWL6025/TWL6030 PMIC External Clocks> on twl0
iicbus0: <unknown card> at addr 0x96
iichb1: <TI I2C Controller> mem 0x48072000-0x480720ff irq 20 on simplebus0
iichb1: I2C revision 4.0 FIFO size: 16 bytes
iicbus1: <OFW I2C bus> on iichb1
iic1: <I2C generic I/O> on iicbus1
iichb2: <TI I2C Controller> mem 0x48060000-0x480600ff irq 21 on simplebus0
iichb2: I2C revision 4.0 FIFO size: 16 bytes
iicbus2: <OFW I2C bus> on iichb2
iic2: <I2C generic I/O> on iicbus2
iicbus2: <unknown card> at addr 0xa0
iichb3: <TI I2C Controller> mem 0x48350000-0x483500ff irq 22 on simplebus0
iichb3: I2C revision 4.0 FIFO size: 16 bytes
iicbus3: <OFW I2C bus> on iichb3
iic3: <I2C generic I/O> on iicbus3
sdhci_ti0: <TI MMCHS (SDHCI 2.0)> mem 0x4809c000-0x4809c3ff irq 27 on simplebus0
mmc0: <MMC/SD bus> on sdhci_ti0
omap_tll0: <TI OMAP USB 2.0 TLL module> mem 0x4a062000-0x4a062fff irq 57 on simplebus0
omap_uhh0: <TI OMAP USB 2.0 Host module> mem 0x4a064000-0x4a0647ff on simplebus0
omap_uhh0: UHH revision 0x50700100
omap_uhh0: OMAP_UHH_SYSCONFIG: 0x00000014
omap_uhh0: UHH setup done, uhh_hostconfig=0x8000001c
ehci0: <TI OMAP USB 2.0 controller> mem 0x4a064c00-0x4a064fff irq 67 on omap_uhh0
ehci0: Starting TI EHCI USB Controller
usbus0: EHCI version 1.0
usbus0 on ehci0
gpioled0: <GPIO LEDs> on ofwbus0
cryptosoft0: <software crypto>
Timecounters tick every 1.000 msec
usbus0: 480Mbps High Speed USB v2.0
ugen0.1: <Texas Instruments EHCI root HUB> at usbus0
uhub0: <Texas Instruments EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0
mmcsd0: 16GB <SDHC SU16G 8.0 SN 20000183 MFG 12/2013 by 3 SD> at mmc0 24.0MHz/4bit/65535-block
Release APs
Trying to mount root from ufs:/dev/ufs/rootfs [rw]...
warning: no time-of-day clock registered, system time will not be set accurately
Setting hostuuid: 21a13dc0-6e27-11e7-ae76-f1ca76175d18.
Setting hostid: 0xf179ab34.
Starting file system checks:
/dev/ufs/rootfs: FILE SYSTEM CLEAN; SKIPPING CHECKS
/dev/ufs/rootfs: clean, 3015774 free (230 frags, 376943 blocks, 0.0% fragmentation)
uhub0: 3 ports with 3 removable, self powered
Mounting local filesystems:.
ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib /usr/local/lib/mozjpeg /usr/local/lib/perl5/5.24/mach/CORE /usr/local/llvm50/lib
random: unblocking device.
Soft Float compatibility ldconfig path:
ugen0.2: <vendor 0x0424 product 0x9514> at usbus0
uhub1 on uhub0
uhub1: <vendor 0x0424 product 0x9514, class 9/0, rev 2.00/2.00, addr 2> on usbus0
uhub1: MTT enabled
Setting hostname: pandaboard.
Setting up harvesting: [UMA],[FS_ATIME],SWI,INTERRUPT,NET_NG,NET_ETHER,NET_TUN,MOUSE,KEYBOARD,ATTACH,CACHED
smsc0: chip 0xec00, rev. 0002
miibus0: <MII bus> on smsc0
smscphy0: <SMC LAN8700 10/100 interface> PHY 1 on miibus0
smscphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ugen0.4: <Logitech Logitech USB Optical Mouse> at usbus0
Starting Network: lo0 ue0.
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=600003<RXCSUM,TXCSUM,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>
ue0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
Starting devd.
ums0 on uhub1
ums0: <Logitech Logitech USB Optical Mouse, class 0/0, rev 2.00/43.00, addr 4> on usbus0
ums0: 3 buttons and [XYZ] coordinates ID=0
Starting dhclient.
DHCPREQUEST on ue0 to 255.255.255.255 port 67
DHCPACK from 10.0.0.138
bound to 10.0.0.15 -- renewal in 43200 seconds.
Starting ums0 mousedmoused: cannot open /dev/consolectl: No such file or directory
.
eval: cannot open /dev/ttyv*: No such file or directory   
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.
Starting syslogd.
Setting date via ntp.
14 Mar 11:13:56 ntpdate[548]: step time server 27.124.125.252 offset 20257090.227912 sec
Clearing /tmp (X related).
Starting dbus.
Updating motd:.
Mounting late filesystems:.
Starting slim.
Performing sanity check on sshd configuration.
Starting sshd.
Starting cron.
Starting default mousedmoused: unable to open /dev/psm0: No such file or directory
.                    
eval: cannot open /dev/ttyv*: No such file or directory   
Starting background file system checks in 60 seconds.
```


I got it running now by allowing the autoboot (3sec countdown} to go through and at the 9sec countdown, I hit the ENTER button. It was after three trials though.
At production, I will leave the device running once it is up so I may not worry too much about the trouble of getting it to startup.


I am now more interested in getting the Windows Manager (fvwm-crystal/slim) working. I could try gnome (too heavy though), fluxbox or any other that might work. My .Xauthority file is empty ATM. Can I populate it myself? I had earlier run something like xauth/xinit to generate it but came out to be an empty file.


ANd here is the error I get on running startx.



```
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Wed Mar 14 11:25:56 2018
(==) Using system config directory "/usr/local/share/X11/xorg.conf.d"
(EE)
Fatal server error:
(EE) xf86OpenConsole: No console driver found
Supported drivers: pccons (with X support), syscons, pcvt
Check your kernel's console driver configuration and /dev entries(EE)
(EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
(EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
(EE)
(EE) Server terminated with error (1). Closing log file.
xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error
root@pandaboard:~ #
```


Even though I am not too keen on a WM too, how can I get a display?


The device would function as a home firewall/ad-blocker/vpn/etc.


----------



## Phishfry (Mar 14, 2018)

For Xorg on Arm you need the scfb driver. You will need to make an xorg.conf entry.
x11-drivers/xf86-video-scfb

https://wiki.freebsd.org/Graphics/SCFB


----------

