I have installed archlunixarm to an sdcard following these instructions:
https://archlinuxarm.org/platforms/armv ... stallation
When powered on the u-boot environment loads, but the OS/kernel is not started. Instead u-boot tries to boot from the network via tftp. Here is the output from the serial console:
$this->bbcode_second_pass_code('', 'U-Boot 2016.11 (Nov 25 2016 - 11:21:12 -0700) Arch Linux ARM
CPU: Freescale i.MX6Q rev1.2 at 792 MHz
Reset cause: POR
Board: Wandboard rev C1
I2C: ready
DRAM: 2 GiB
MMC: FSL_SDHC: 0, FSL_SDHC: 1
No panel detected: default to HDMI
Display: HDMI (1024x768)
In: serial
Out: serial
Err: serial
Net: FEC [PRIME]
Press SPACE to abort autoboot in 2 seconds
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
MMC: no card present
starting USB...
USB0: Port not available.
USB1: USB EHCI 1.00
scanning bus 1 for devices... 1 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
USB device 0: unknown device
BOOTP broadcast 1
BOOTP broadcast 2
BOOTP broadcast 3
BOOTP broadcast 4
BOOTP broadcast 5
DHCP client bound to address 192.168.178.34 (3768 ms)
*** Warning: no boot file name; using 'C0A8B222.img'
Using FEC device
TFTP from server 192.168.178.1; our IP address is 192.168.178.34
Filename 'C0A8B222.img'.
Load address: 0x12000000
Loading: *^HT')
As far as I can tell, this happens because u-boot doesn't find the files it expects in the filesystem on the sdcard.
If I have followed the logic of functions defined in the u-boot environment correctly then it appears that:
- u-boot is looking for files in the file system called "boot.scr.uimg" or "boot.scr" (defined in var "boot_scripts").
It looks in "/" and "/boot" (defined via "boot_prefixes").
Looking in the filesystem I don't see those filenames, only the following:
$this->bbcode_second_pass_code('', '=> ext2ls mmc 0:1 /
<DIR> 4096 .
<DIR> 4096 ..
<DIR> 16384 lost+found
<SYM> 7 bin
<DIR> 4096 boot
<DIR> 4096 dev
<DIR> 4096 etc
<DIR> 4096 home
<SYM> 7 lib
<DIR> 4096 mnt
<DIR> 4096 opt
<DIR> 4096 proc
<DIR> 4096 root
<DIR> 4096 run
<SYM> 7 sbin
<DIR> 4096 srv
<DIR> 4096 sys
<DIR> 4096 tmp
<DIR> 4096 usr
<DIR> 4096 var
=> ext2ls mmc 0:1 /boot
<DIR> 4096 .
<DIR> 4096 ..
5730624 zImage
4225428 initramfs-linux.img
<DIR> 28672 dtbs
')
The stack of functions/vars defined in u-boot env. looks like this:
mmcdev=0
bootcmd=run findfdt; run distro_bootcmd
distro_bootcmd=
for target in ${boot_targets}; do
run bootcmd_${target};
done
boot_targets=mmc0 mmc1 usb0 pxe dhcp
bootcmd_mmc0=setenv devnum 0; run mmc_boot
bootcmd_mmc1=setenv devnum 1; run mmc_boot
mmc_boot=if mmc dev ${devnum}; then setenv devtype mmc; run scan_dev_for_boot_part; fi
...
I assume all of the above is loaded at power on as part of u-boot?
The files I downloaded to setup the sdcard look like this:
$this->bbcode_second_pass_code('', '-rw-r----- 1 robb 323,014,327 May 1 05:17 ArchLinuxARM-armv7-latest.tar.gz.1
-rw-r----- 1 robb 323,014,327 May 1 05:17 ArchLinuxARM-armv7-latest.tar.gz
-rw-r----- 1 robb 48,128 May 3 22:24 SPL
-rw-r----- 1 robb 331,760 May 3 22:24 u-boot.img')
What could the problem be?
I have the sdcard installed in the slot directly on the cpu module, nearest the heatsink. If I try the other slot on the larger "io port card", I get no u-boot at all.
Any suggestions?
Thanks in advance!