Quantcast
Channel: Linux Device Hacking
Viewing all articles
Browse latest Browse all 3178

Command missing from 2016.05-tld-1 Uboot for SheevaPlug (2 replies)

$
0
0
I have acquired a Sheevaplug and I just tried installed the latest uboot 2016.05-tld-1. I then tried to boot an SD with the Debian root file system from the Debian section of this forum. It appears that the Sheevaplug version of uboot is missing at least the mmc and load commands. See the following log from attempting to boot the SD card after successful install of uboot and the uboot.2016.05-tld-1 environment files. I did add some other uboot environment variable to allow me to boot from nand, but the commands which should allow booting from SD have not been modified.


U-Boot 2016.05-tld-1 (Jun 12 2016 - 14:02:47 -0700)
Marvell-Sheevaplug

SoC:   Kirkwood 88F6281_A0
DRAM:  512 MiB
WARNING: Caches not enabled
NAND:  512 MiB
In:    serial
Out:   serial
Err:   serial
Net:   egiga0
88E1116 Initialized on egiga0
Hit any key to stop autoboot:  0 
starting USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... Error: Cannot find high speed parent of usb-1 device
Error: Cannot find high speed parent of usb-1 device
Error: Cannot find high speed parent of usb-1 device
Error: Cannot find high speed parent of usb-1 device
Error: Cannot find high speed parent of usb-1 device
Error: Cannot find high speed parent of usb-1 device
Error: Cannot find high speed parent of usb-1 device
Error: Cannot find high speed parent of usb-1 device
Error: Cannot find high speed parent of usb-1 device
Error: Cannot find high speed parent of usb-1 device
2 USB Device(s) found
       scanning usb for storage devices... Error: Cannot find high speed parent of usb-1 device
Error: Cannot find high speed parent of usb-1 device
Error: Cannot find high speed parent of usb-1 device
Error: Cannot find high speed parent of usb-1 device

Use USB retry period from the environment: 15 second(s)
Error: Cannot find high speed parent of usb-1 device
Error: Cannot find high speed parent of usb-1 device
Error: Cannot find high speed parent of usb-1 device
Error: Cannot find high speed parent of usb-1 device
Error: Cannot find high speed parent of usb-1 device
Error: Cannot find high speed parent of usb-1 device
Error: Cannot find high speed parent of usb-1 device
Error: Cannot find high speed parent of usb-1 device
Error: Cannot find high speed parent of usb-1 device
Error: Cannot find high speed parent of usb-1 device
Error: Cannot find high speed parent of usb-1 device
1 Storage Device(s) found
Unknown command 'ide' - try 'help'
Unknown command 'mmc' - try 'help'

Partition Map for USB device 0  --   Partition Type: DOS

Part    Start Sector    Num Sectors     UUID            Type
Error: Cannot find high speed parent of usb-1 device
Error: Cannot find high speed parent of usb-1 device
Error: Cannot find high speed parent of usb-1 device
  1     2048            29184           972187e0-01     0b
loading envs from usb 0 ...
Unknown command 'load' - try 'help'
Unknown command 'ide' - try 'help'
Unknown command 'mmc' - try 'help'
running scan_disk ...
Scan device usb
device usb 0:1
Unknown command 'load' - try 'help'
device usb 1:1
Unknown command 'load' - try 'help'
device usb 2:1
Unknown command 'load' - try 'help'
device usb 3:1
Unknown command 'load' - try 'help'
Scan device ide
Unknown command 'ide' - try 'help'
device ide 0:1
Unknown command 'load' - try 'help'
device ide 1:1
Unknown command 'load' - try 'help'
device ide 2:1
Unknown command 'load' - try 'help'
device ide 3:1
Unknown command 'load' - try 'help'
Scan device mmc
Unknown command 'mmc' - try 'help'
device mmc 0:1
Unknown command 'load' - try 'help'
device mmc 1:1
Unknown command 'load' - try 'help'
device mmc 2:1
Unknown command 'load' - try 'help'
device mmc 3:1
Unknown command 'load' - try 'help'
loading uImage ...
Unknown command 'load' - try 'help'
loading uInitrd ...
Unknown command 'load' - try 'help'
loading DTB /boot/dts/kirkwood-pogo_e02.dtb ...
Unknown command 'load' - try 'help'
Wrong Image Format for bootm command
ERROR: can't get kernel image!
Sheevaplug> help
?       - alias for 'help'
base    - print or set address offset
bdinfo  - print Board Info structure
boot    - boot default, i.e., run 'bootcmd'
bootd   - boot default, i.e., run 'bootcmd'
bootefi - Boots an EFI payload from memory

bootelf - Boot from an ELF image in memory
bootm   - boot application image from memory
bootp   - boot image via network using BOOTP/TFTP protocol
bootvx  - Boot vxWorks from an ELF image
bootz   - boot Linux zImage image from memory
chpart  - change active partition
cmp     - memory compare
coninfo - print console devices and information
cp      - memory copy
crc32   - checksum calculation
date    - get/set/reset date & time
dhcp    - boot image via network using DHCP/TFTP protocol
dns     - lookup the IP of a hostname
echo    - echo args to console
editenv - edit environment variable
env     - environment handling commands
exit    - exit script
ext2load- load binary file from a Ext2 filesystem
ext2ls  - list files in a directory (default /)
ext4load- load binary file from a Ext4 filesystem
ext4ls  - list files in a directory (default /)
ext4size- determine a file's size
false   - do nothing, unsuccessfully
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls   - list files in a directory (default /)
fatsize - determine a file's size
fdt     - flattened device tree utility commands
fsinfo  - print information about jffs filesystems
fsload  - load binary file from a jffs filesystem image
fsls    - list jffs files in a directory (default /)
go      - start application at address 'addr'
gpio    - query and control gpio pins
help    - print command description/usage
iminfo  - print header information for application image
imxtract- extract a part of a multi-image
itest   - return true/false on integer compare
loadb   - load binary file over serial line (kermit mode)
loads   - load S-Record file over serial line
loadx   - load binary file over serial line (xmodem mode)
loady   - load binary file over serial line (ymodem mode)
loop    - infinite loop on address range
md      - memory display
mii     - MII utility commands
mm      - memory modify (auto-incrementing address)
mtdparts- define flash/nand partitions
mw      - memory write (fill)
nand    - NAND sub-system
nboot   - boot from NAND device
nfs     - boot image via network using NFS protocol
nm      - memory modify (constant address)
ping    - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
reset   - Perform RESET of the CPU
run     - run commands in an environment variable
saveenv - save environment variables to persistent storage
setenv  - set environment variables
setexpr - set environment variable as the result of eval expression
showvar - print local hushshell variables
sleep   - delay execution for some time
sntp    - synchronize RTC via network
source  - run script from memory
test    - minimal test like /bin/sh
tftpboot- boot image via network using TFTP protocol
true    - do nothing, successfully
ubi     - ubi commands
ubifsload- load file from an UBIFS filesystem
ubifsls - list files in a directory
ubifsmount- mount UBIFS volume
ubifsumount- unmount UBIFS volume
usb     - USB sub-system
usbboot - boot from USB device
version - print monitor, compiler and linker version
Sheevaplug> printenv
arcNumber=2097
bootargs=console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 mtdparts=orion_nand:1M(u-boot),4M(uImage),32M(rootfs),-(data)
bootargs_nand=rootfstype=jffs2 console=ttyS0,115200 mtdparts=orion_nand:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs) rw root=/dev/mtdblock1 rw ip=10.4.50.4:10.4.50.5:10.4.50.5:255.255.255.0:DB88FXX81:eth0:none
bootcmd=run bootcmd_uenv; run scan_disk; run set_bootargs; run bootcmd_exec
bootcmd_exec=run load_uimage; if run load_initrd; then if run load_dtb; then bootm $load_uimage_addr $load_initrd_addr $load_dtb_addr; else bootm $load_uimage_addr $load_initrd_addr; fi; else if run load_dtb; then bootm $load_uimage_addr - $load_dtb_addr; else bootm $load_uimage_addr; fi; fi
bootcmd_nand=nand read.e 0x800000 0x100000 0x400000; bootm 0x800000
bootcmd_uenv=run uenv_load; if test $uenv_loaded -eq 1; then run uenv_import; fi
bootdelay=10
bootdev=usb
device=0:1
devices=usb ide mmc
disks=0 1 2 3
dtb_file=/boot/dts/kirkwood-pogo_e02.dtb
ethact=egiga0
ethaddr=00:50:43:01:44:F0
if_netconsole=ping $serverip
init_ide=ide reset
init_mmc=mmc rescan
init_usb=usb start
ipaddr=192.168.0.231
led_error=orange blinking
led_exit=green off
led_init=green blinking
load_dtb=echo loading DTB $dtb_file ...; load $bootdev $device $load_dtb_addr $dtb_file
load_dtb_addr=0x1c00000
load_initrd=echo loading uInitrd ...; load $bootdev $device $load_initrd_addr /boot/uInitrd
load_initrd_addr=0x1100000
load_uimage=echo loading uImage ...; load $bootdev $device $load_uimage_addr /boot/uImage
load_uimage_addr=0x800000
mainlineLinux=yes
mtdids=nand0=orion_nand
mtdparts=mtdparts=orion_nand:1M(u-boot),4M(uImage),32M(rootfs),-(data)
partition=nand0,2
preboot_nc=run if_netconsole start_netconsole
 setenv scan_ide "ide reset";  setenv scan_mmc "mmc rescan"; for dev in $devices; do if test $scan_done -eq 0; then echo Scan device $dev; run scan_$dev; for disknum in $disks; do if test $scan_done -eq 0; then echo device $dev $disknum:1; if load $dev $disknum:1 $load_uimage_addr /boot/uImage 1; then scan_done=1; echo Found bootable drive on $dev $disknum; setenv device $disknum:1; setenv bootdev $dev; fi; fi; done; fi; done
scan_ide=ide reset
scan_mmc=mmc rescan
scan_usb=usb start
serverip=192.168.0.220
set_bootargs=setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts $custom_params
set_bootargs_nand=setenv bootargs $bootargs_nand
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;
stderr=serial
stdin=serial
stdout=serial
uenv_addr=0x81
0000
uenv_import=echo importing envs ...; env import -t $uenv_addr $filesize
uenv_init_devices=setenv init_usb "usb start";  setenv init_ide "ide reset";  setenv init_mmc "mmc rescan"; for devtype in $devices; do run init_$devtype; done;
uenv_load=run uenv_init_devices; setenv uenv_loaded 0; for devtype in $devices;  do for disknum in 0; do run uenv_read_disk; done; done;
uenv_loaded=0
uenv_read=echo loading envs from $devtype $disknum ...; if load $devtype $disknum:1 $uenv_addr /boot/uEnv.txt; then setenv uenv_loaded 1; fi
uenv_read_disk=if test $devtype -eq mmc; then if $devtype part; then run uenv_read;  fi; else if $devtype part $disknum; then run uenv_read; fi;  fi
usb_ready_retry=15

Environment size: 3456/131068 bytes
Sheevaplug>

As you can see from the ouput of help above there is no "mmc" command or any "load" command which causes issues with the scan_disk run command. I believe this will also cause issues with booting from USB, but I could modify scandisk to use ext4load instead of load to allow boot from USB. However I don't see any way to boot from SD with this uboot version.

Ray

Viewing all articles
Browse latest Browse all 3178

Trending Articles