Quantcast
Channel: Linux Device Hacking - uBoot
Viewing all 900 articles
Browse latest View live

Need old uboot for Pogo E02 (1 reply)


Problem in flashing NSA325 u-boot (5 replies)

$
0
0
@bodhi
My device has different partition, The expected behavior was different from the guide.
When I'm deleting 4 blocks it only deletes one.

/e-data/4089-AD8E/tools # flash_erase /dev/mtd0 0 4
Erasing 128 Kibyte @ 60000 -- 100 % complete

now when I flash the uboot I get this
/e-data/4089-AD8E # nandwrite /dev/mtd0 kirkwood/generic/u-boot-nsa325/u-boot.kw
b
Input file is not page aligned
Data did not fit into device, due to bad blocks
: Success

/etc/fw_env.config
MTD device name       Device offset   Env. size       Flash sector size       Number of sectors
NAND example
/dev/mtd1               0x0000          0x20000         0x20000                 4

cat /proc/mtd
mtd0: 00100000 00020000 "uboot"
mtd1: 00080000 00020000 "uboot_env"
mtd2: 00080000 00020000 "key_store"
mtd3: 00080000 00020000 "info"
mtd4: 00a00000 00020000 "etc"
mtd5: 00a00000 00020000 "kernel_1"
mtd6: 02fc0000 00020000 "rootfs1"
mtd7: 00a00000 00020000 "kernel_2"
mtd8: 02fc0000 00020000 "rootfs2"

original env
bootargs=console=ttyS0,115200 mtdparts=nand_mtd:0x100000(uboot),0x80000(uboot_env),0x80000(key_store),0x80000(info),0xA00000(etc),0xA00000(kernel_1),0x2FC0000(rootfs1),0xA00000(kernel_2),0x2FC0000(rootfs2) root=/dev/nfs rw init=/init
bootcmd=nand read.e 0x2000000 $(kernel_addr) 0xA00000; bootm 0x2000000
bootdelay=2
baudrate=115200
loads_echo=0
ipaddr=10.4.52.165
serverip=10.4.52.7
rootpath=/srv/ubuntu
netmask=255.255.255.0
nandEcc=1bit
kernel_addr=C80000
MODEL_ID=AA03
PRODUCT_NAME=NSA-325
FEATURE_BIT=00
CONTRY_TYPE=FF
VENDOR_NAME=MitraStar Technology Corp.
run_diag=yes
ethaddr=FC:F5:28:00:00:00

after flashing uboot
Warning: Bad CRC, using default environment
bootargs=console=ttyS0,115200 mtdparts=nand_mtd:0x100000(uboot),0x80000(uboot_env),0x80000(key_store),0x80000(info),0xA00000(etc),0xA00000(kernel_1),0x2FC0000(rootfs1),0xA00000(kernel_2),0x2FC0000(rootfs2) root=/dev/nfs rw init=/init
bootcmd=nand read.e 0x2000000 $(kernel_addr) 0xA00000; bootm 0x2000000
bootdelay=2
baudrate=115200
nandEcc=1bit
kernel_addr=480000
MODEL_ID=A203
PRODUCT_NAME=NSA-310
FEATURE_BIT=00
CONTRY_TYPE=FF
VENDOR_NAME=ZyXEL Communications Corp.

I have backup of mtd0
What should I do now?

PogoPlug serial troubleshooting (4 replies)

$
0
0
First, big thanks to all of the work and information put out there by the community. I've really enjoyed being able to learn and hack on my PogoPlug with just reading everything out there.

I was recently decided it was time to upgrade my old ArchLinux install to Debian. Based on what I was reading, the easiest path forward from where I was at was to update the uBoot and use the latest kernel and rootfs from here:

http://forum.doozan.com/read.php?2,16044

I prepped a new USB drive and went about updating the uBoot according these instructions: http://forum.doozan.com/read.php?3,16017. Before I started I tried connecting my serial cable, but I realized I had bought the wrong wiring harness. I decided to proceed anyway, and now realize that may have been foolish as the device didn't come back up.

I had purchased the USB to Serial bodhi recommended here: http://www.ebay.com/itm/USB-2-0-to-TTL-UART-6PIN-Module-Serial-Converter-CP2102-STC-PRGMR-Free-cable-/170895253016?pt=LH_DefaultDomain_0&hash=item27ca269e18 and it seems to be recognized by Windows. I'm using Windows 10. I just received a new Soundblaster wiring harness to connect the adapter and flipped the TX\RX to align based on the qnology blog post. When I open up PuTTy and put in the settings, I'm not getting any output when the device boots. I'm rather new to this so there may be something obvious I'm doing wrong.

Are there any recommended ways of troubleshooting that the serial adapter is functioning properly? I open PuTTy and follow the recommend settings then open the serial connection. I then power on the PogoPlug. It appears to be booting at some level as the lights come on and flash and the USB drive even flashes for a bit, but there is no output sent to the screen. Is there a certain order of operations I need to follow? Or did I brick my device to the point the serial console isn't outputing information.

Any help or recommended next steps would be appreciated. Looking to from my mistakes.

-Beavel

Issues with pogoplug E02 boot since Uboot update (1 reply)

$
0
0
Thank you in advance to this forum, you're some of the most informative folks I've ever seen!

I updated my E02 pogoplug's uboot a few months ago, because I wanted GPT support. However, after this, the Arch installation I used booted once, and now since then, I can't connect to the PP at all, I've used a few different rootfs, and its not showing up on my dhcp list with any of them, so I'm a bit stumped as to what I should try next, as the led on the front turns green, and appears working. I don't have any logs from the uboot update, but I do recall following the instructions here : http://forum.doozan.com/read.php?3,12381

Any help you could offer would be appreciated, thank you!

[OXNAS]uImage sans DTB file (4 replies)

$
0
0
I noticed OpenWRT/LEDE stops providing .dtb file. So, how do I craft uEnv.txt to adopt the missing .dtb file?

Current 2016.05 Uboot - which filesystems ? (1 reply)

$
0
0
Probably more a question for @bodhi than anyone, but any advise welcomed :)

My question is what file systems can the current 2016.05 Uboot boot ?

ext2 / ext3 - I know from my own experience work fine, although ext2 is a bit fragile with the lack of journal, so have preferred ext3

ext4 ? (says so on the post)

mdadm RAID 1 with 1.0 metadata / 0.9 metadata ... other RAID levels ? 1.2 metadata ?

f2fs ?

are my main contenders, and just for good measure :

btrfs ?

zfs ? (probably a no go on low memory ARM boards anyway)

EDIT: obviously I mean what fs can Uboot load kernel/device tree and initramfs from, sorry if that wasn't clear :)

Help unbricking IOmega ix4-200d (1 reply)

$
0
0
Help! I have two IX4-200D NAS boxes that are currently useless. The original hard dives are gone and have been replaced with larger 4 TB Seagate NAS Hard drives. I'm fairly new to this and was hoping someone could provide assistance with installing Debian to get them back up and running. I have my console hooked up and can see the units boot in Putty but I'm not sure where to go from there. Thanks in advance and I'm looking forward to the opportunity to learn.

u-boot via uart on mvebu (4 replies)

$
0
0
Does anyone know the logistics to boot an mvebu device via uart?

In the GPL source code from Western Digital for the EX2100, building u-boot generates the following files:
u-boot-a38x-Yosemite_2014T3_PQ-nand.bin
u-boot-a38x-Yosemite_2014T3_PQ-nand-uart.bin

However, trying to boot the u-boot-a38x-Yosemite_2014T3_PQ-nand-uart.bin using kwboot doesn't work, the boot process is never interrupted and the image is not uploaded.

I also tried to build u-boot v2017.05 and boot via kwboot, but each time it fails:
./kwboot -t -B 115200 /dev/ttyUSB0 -b u-boot-spl.kwb 
Sending boot message. Please reboot the target.../
Sending boot image...
  0 % [+++++++++++++++++xmodem: Bad message

I am guessing this is because kwboot is only for Kirkwood, and mvebu is incompatible.

There is a command "doimage" included in the u-boot tools/marvell directory in the WD GPL archive which creates the -uart.bin file. This utility does not exist in mainline u-boot. Here is the utility usage:
==============================================================================================

Marvell doimage Tool version 2.10
Supported SoC devices: 
	Marvell Armada and xCAT series
==============================================================================================

Usage: 
doimage <mandatory_opt> [other_options] [bootrom_output] <image_in> <image_out> [header_out]

<mandatory_opt> - can be one or more of the following:
==============================================================================================

-T image_type:   sata\uart\flash\bootrom\nand\hex\bin\pex\mmc
-D image_dest:   image destination in dram (in hex)
-E image_exec:   execution address in dram (in hex)
                 if image_type is 'flash' and image_dest is 0xffffffff
                 then execution address on the flash
-S image_source: if image_type is sata then the starting sector of
                 the source image on the disk
                 if image_type is flash\nand then the starting offset of
                 the source image at the flash - optional for flash\nand
-W hex_width :   HEX file width, can be 8,16,32,64 
-M twsi_file:    ascii file name that contains the I2C init regs set by h/w.
                 this is used in i2c boot only

The following options are mandatory for NAND image type:
-----------------------------------------------------------------------------------------------

-L nand_blk_size:NAND block size in KBytes (decimal int in range 64-16320)
                 This parameter is ignored for flashes with  512B pages
                 Such small page flashes always use 16K block sizes
-N nand_cell_typ:NAND cell technology type (char: M for MLC, S for SLC)
-P nand_pg_size: NAND page size: (decimal 512, 2048, 4096 or 8192)

Secure boot mode options - all options are mandatory once secure mode is selected by Z switch:
-----------------------------------------------------------------------------------------------

-Z [prv_key_file]: Create image with RSA signature for secure boot mode
                   If the private key file name is missing, a new key pair will be generated
                   and saved in files named rsa_prv.key and rsa_pub.key
                   A new file named sha2_pub.txt will be generated for a public key
-J jtag_delay:   Enable JTAG and delay boot execution by "N" ms
-B hex_box_id:   Box ID (hex) - from 0 to 0xffffffff
-F hex_flash_id: Flash ID (hex) - from 0 to 0xffff 


[other_options] - optional and can be one or more of the following:
==============================================================================================

-A [aes_key_file]: Valid in secure mode only. Encrypt the boot image using AES-128 key
                   If the aes key file name is missing, a new AES-128 key will be generated
                   and saved in file named aes_key.txt suitable for eFuse storage
-G exec_file:    ascii file name that contains binary routine (ARM 5TE THUMB)
                 to run before the bootloader image execution.
                 The routine must contain an appropriate code for saving 
                 all registers at the routine start and restore them 
                 before return from the routine 
-R dram_file:    ascii file name that contains the list of dram regs
-C hdrs_file:    ascii file name that defines BIN/REG headers order and their sources
-X pre_padding_size (hex)
-Y post_padding_size (hex)
-H header_mode: Header mode, can be:
                -H 1 : will create one file (image_out) for header and image
                -H 2 : will create two files, (image_out) for image , (header_out) for header
                -H 3 : will create one file (image_out) for header only 
                -H 4 : will create one file (image_out) for image only 

[bootrom_output] - optional and can be one or more of the following:
==============================================================================================

-p               Disable BootROM messages output to UART port (enabled by default)
-b baudrate      Set BootROM debug port UART baudrate 
                 value = 2400,4800,9600,19200,38400,57600,115200 (use default baudrate is omitted)
-u port_num      Set BootROM debug port UART number value = 0-3 (use default port if omitted)
-m mpp_config    Select BootROM debug port MPPs configuration value = 0-7 (BootROM-specific)

Command examples: 

doimage -T hex -W width image_in image_out
doimage -T bootrom image_in image_out
doimage -T resume image_in image_out
doimage -T sata -S sector -D image_dest -E image_exec
         [other_options] image_in image_out header_out

doimage -T flash -D image_dest -E image_exec [-S address]
         [other_options] image_in image_out

doimage -T pex -D image_dest -E image_exec 
         [other_options] image_in image_out

doimage -T nand -D image_dest -E image_exec [-S address] -P page_size
         -L 2 -N S [other_options] image_in image_out

doimage -T uart -D image_dest -E image_exec
         [other_options] image_in image_out

doimage -T pex -D image_dest -E image_exec 
         [other_options] image_in image_out

Edit: it seems there was a patch in 2015 to add mvebu support to kwboot:
https://lists.denx.de/pipermail/u-boot/2015-August/225219.html

So any ideas why kwboot is not working?

PogoPlug E02 Pink Factory Firmware Link (no replies)

POGO E02 NAND reflash over serial? (5 replies)

$
0
0
First of all, I'm not native english user and I'm sorry for my poor english.

I used POGO E02(black) rescue system V2 and Debian in stick usb.
But power outrage cause boot failure, and i decided reinstall system.

After some idiot things happen, my POGO E02 bricked.


I have serial connection. No ssh. <- that's the ploblem.
The last thing I do is recover nand to docstar original.
(because my uboot env is messed, and I can't boot)
( https://archlinuxarm.org/forum/viewtopic.php?p=2713#p2713 )

Then booting is OK. But ssh is not active.
For ssh enalbe, I visit pogoplug.com, but they can't recognize my pogo.
IMAO, mtd0 is original, but other NANDs are not original so pogoplug services do not work.

I wonder the reason that I can't access ssh
1. my pogo's ssh is blocked or
2. just because no OS loaded


And I need the way that back my past setting.
For this, anything doesn't matter.
1. Can I find img file to reflash NANDs?
2. Update uboot first?
3. And what??

I googled 'pogo e02 serial ssh enable' and some other topic, and I don't know how I do next.



Here's my boot log

U-Boot 1.1.4 (Jul 16 2009 - 21:02:16) Cloud Engines (3.4.16)

U-Boot code: 00600000 -> 0067FFF0  BSS: -> 00690D60

Soc: 88F6281 A0 (DDR2)
CPU running @ 1200Mhz L2 running @ 400Mhz
SysClock = 400Mhz , TClock = 200Mhz

DRAM CAS Latency = 5 tRP = 5 tRAS = 18 tRCD=6
DRAM CS[0] base 0x00000000   size 128MB
DRAM Total size 128MB  16bit width
Flash:  0 kB
Addresses 8M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (8M - 7M): Done
NAND:128 MB

CPU : Marvell Feroceon (Rev 1)
CLOUD ENGINES BOARD: REDSTONE:0.1

Streaming disabled
Write allocate disabled


USB 0: host mode
PEX 0: interface detected no Link.
Net:   egiga0 [PRIME], egiga1
Hit any key to stop autoboot:  0

NAND read: device 0 offset 0x100000, size 0x300000

Reading data from 0x3ff800 -- 100% complete.
 3145728 bytes read: OK


And printenv

baudrate=115200
loads_echo=0
rootpath=/mnt/ARM_FS/
run_diag=yes
CASset=min
MALLOC_len=1
ethprime=egiga0
ceboardver=REDSTONE:0.1
ethmtu=1500
usb0Mode=host
nandEcc=1bit
ethact=egiga0
ipaddr=192.168.0.6
netmask=255.255.255.0
serverip=192.168.0.8
ethaddr=***************
cesvcid=******************************
console=console=ttyS0,115200
bootargs_root=root=/dev/mtdblock2 ro
bootcmd=nand read.e 0x800000 0x100000 0x300000; setenv bootargs $(console)
bootcmd_stock=setenv autoload n
bootargs_stock="root=ubi0:rootfs ubi.mtd=2,512 rootfstype=ubifs console=ttyS0,115200 elevator=cfq mac_adr=0x00,0x30,0xe0,0x00,0x00,0x01 mem=128M"
poweroutage=yes
bootcmd_stock_fw="run set_bootargs_stock
boot=bootm 60500000
boot_nand="run load_nand boot || run load_nand2 boot"
kernflmode=s
load_nand2="nboot 60500000 0 800000"
load_nand="nboot 60500000 0 200000"
set_bootargs_stock="setenv bootargs $bootargs_stock"
mainlinelinux=no
stdin=serial
stdout=serial
stderr=serial
mainlineLinux=no
enaMonExt=no
enaCpuStream=no
enaWrAllo=no
pexMode=RC
disL2Cache=no
setL2CacheWT=yes
disL2Prefetch=yes
enaICPref=yes
enaDCPref=yes
sata_dma_mode=yes
netbsd_en=no
vxworks_en=no
bootdelay=3
disaMvPnp=no
bootargs=console=ttyS0,115200

Environment size: 1198/131068 bytes

ip and id is inputed properly.

After boot CE>> prompt is in the screen, no linux command, just like uboot prompt.

CE>> help
?       - alias for 'help'
base    - print or set address offset
boot    - boot default, i.e., run 'bootcmd'
bootd   - boot default, i.e., run 'bootcmd'
bootext2    dev:boot_part1,boot_part2 addr boot_image linux_dev_name
bootm   - boot application image from memory
bootp   - boot image via network using BootP/TFTP protocol
bubt    - Burn an image on the Boot Nand Flash.
chpart  - change active partition
cmp     - memory compare
cmpm    - Compare Memory
cp      - memory copy
cpumap - Display CPU memory mapping settings.
crc32   - checksum calculation
date    - get/set/reset date & time
dclk    - Display the MV device CLKs.
dhcp    - invoke DHCP client to obtain IP/boot params
diskboot- boot from IDE device
echo    - echo args to console
eeprom  - EEPROM sub-system
erase   - erase FLASH memory
ext2load- load binary file from a Ext2 filesystem
ext2ls  - list files in a directory (default /)
fi      - Find value in the memory.
flinfo  - print FLASH memory information
fsinfo  - print information about filesystems
fsload  - load binary file from a filesystem image
g       - start application at cached address 'addr'(default addr 0x40000)
go      - start application at address 'addr'
help    - print online help
icrc32  - checksum calculation
ide     - IDE sub-system
iloop   - infinite loop on address range
imd     - i2c memory display
imm[.b, .s, .w, .l]     - i2c memory modify (auto-incrementing)
imw     - memory write (fill)
inm     - memory modify (constant address)
iprobe  - probe to discover valid I2C chip addresses
ir      - reading and changing MV internal register values.
loop    - infinite loop on address range
ls      - list files in a directory (default /)
map     - Diasplay address decode windows
md      - memory display
me      - PCI master enable
mm      - memory modify (auto-incrementing)
mp      - map PCI BAR
mtdparts- define flash/nand partitions
mtest   - simple RAM test
mv_diag - perform board diagnostics
mw      - memory write (fill)
nand                   - NAND sub-system
nboot   - boot from NAND device
nbubt   - Burn a boot loader image on the Boot Nand Flash.
nm      - memory modify (constant address)
pci     - list and access PCI Configuration Space
phyRead - Read PCI-E Phy register
pciePhyWrite    - Write PCI-E Phy register
phyRead - Read Phy register
phyWrite        - Write Phy register
ping    - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
protect - enable or disable FLASH write protection
rarpboot- boot image via network using RARP/TFTP protocol
reset   - Perform RESET of the CPU
resetenv        - Return all environment variable to default.
run     - run commands in an environment variable
saveenv - save environment variables to persistent storage
se      - PCI Slave enable
setenv  - set environment variables
sflash  - read, write or erase the external SPI Flash.
sg      - scanning the PHYs status
sp      - Scan PCI bus.
tftpboot- boot image via network using TFTP protocol
version - print monitor version
CE>>

Is uBoot OS specific? (3 replies)

$
0
0
I don'know anything about uBoot, and I'm not sure if my understanding of it as a Universal boot loader for embedded ARM systems is correct. If that is the case, then presumably the same uBoot can load any OS which works on the platform, not just Debian, but also ArchLinux and even (God forbid) Windows.

Is my understanding correct?

Pogo 02 not booting correctly (5 replies)

$
0
0
Hi,

I wanted to update to the latest u-boot via http://forum.doozan.com/read.php?3,12381
but it seems I messed up in the B. Flashing default u-boot envs image part...

The serial console states:
U-Boot 2016.05-tld-1 ...
...
Hit any key to stop autoboot: Timer from 10 to 0

When I don't abort it the last lines in the console are
loading uImage ...
** Bad device usb 0 **
loading uInitrd ...
** Bad device usb 0 **
loading DTB /boot/dts/kirkwood-pogo_e02.dtb ...
** Bad device usb 0 **
Wrong Image Format for bootm command
ERROR: can't get kernel image!
PogoE02>

With no stick attached.

When I abort the autoboot I get directly
to
PogoE02>

How do I get into recovery mode, fix what's wrong and install
debian from scratch now?

The rescue system should be this: http://forum.doozan.com/read.php?4,3896

[deleted] (no replies)

[Solved] EHCI timed out on TD - token=XXXX (2 replies)

$
0
0
Many people have run into the problem on a Pogoplug with a USB disk that refuses to boot. If you can see the U-Boot console, either with a serial cable or netconsole, the error message is "EHCI timed out on TD - token=0x{something}" repeated over and over again. A related problem is a drive which randomly fails to be detected by uboot, but without any error message.

Frustratingly, once the Pogoplug is running Linux, the same disk works perfectly ok, it is only U-boot that has problems with it. Ugh

I have found the problem and fixed it.

It has sometimes been suggested that two environment variables, "usb_pgood_delay" and "usb_ready_retry" be set. These can be removed. They had nothing to do with the problem and did nothing to fix or resolve it.

Pending the time until the fix gets pulled in to the "official" U-Boot code, I have created u-boot firmware and made it available for download.

This is a fixed version of the bodhi "U-Boot 2016.05 (May 20 2017 - 12:42:17 -0500)"
filename: "uboot.2016.05-tld-1.pogo_e02.mtd0.kwb"

The versions I created are for Pogoplug_E02 (pink pogoplug) and Pogoplug_V4. I can build versions for other pogoplugs, just ask.

Link to the folder containing the files:
https://www.dropbox.com/sh/nwjwxzdy0ifd1aq/AADcduZlnF9psWjRBpMB-cMja?dl=0

Link to the patch file. (It is also in the above folder.)
https://www.dropbox.com/s/nrkrd1no63viuu8/uboot-bodhi-2016.05-timeoutTD.patch?dl=0

For your convenience, there is also a script to install the firmware.
Usage: install-new-uboot.sh {filename.kwb}

uboot env analysis uboot.2013.10-tld-5.ox820.environment (1 reply)

$
0
0
uboot.2013.10-tld-5.ox820.environment



bootdelay=10

ethaddr=52:3b:20:9c:11:51
ethact=mii0

ipaddr=192.168.0.222
#pogo’s ip
serverip=192.168.0.220
# ip of pc running nc or Hercules SETUP utility
if_netconsole=ping $serverip
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;
preboot_nc=run if_netconsole start_netconsole
# wihout judge whether pc running nc or Hercules ready or not, start net-console directly

preboot_nc = setenv nc_ready 0; for pingstat in 1 2 3 4 5; do; sleep 1; if run if_netconsole; then setenv nc_ready 1; fi; done; if test $nc_ready -eq 1; then run start_netconsole; fi
# Wait 5 seconds  countdown, which can be broken.And enter net-console when pc running nc or Hercules ready.
preboot = run preboot_nc
# preboot called by uboot 





dtb_file=/boot/dts/ox820-pogoplug-pro.dtb
load_dtb=echo loading DTB $dtb_file ...; ext2load $bootdev $device 0x62c00000 $dtb_file
load_initrd=echo loading uInitrd ...; ext2load $bootdev $device 0x60e00000 /boot/uInitrd
load_uimage=echo loading uImage ...; ext2load $bootdev $device 0x60500000 /boot/uImage




devices=usb ide
# usb ide mmc different types of boot device by sequence
disks=0 1 2 3
# multi disks connected for each usb ide or mmc, eg. usb0 to usb3 when multi usb disk plugged
bootdev=usb
# boot device usb
device=0:1
# boot disk:partition default disk0 partition1

scan_disk=echo running scan_disk ...; scan_done=0; setenv scan_usb "usb start";  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 ext2load $dev $disknum:1 0x60500000 /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 each  disks and load uImage from first partition. eg: usb [0-3]:1 ide 0:1 mmc 0:1,set bootdev to (usb)|(ide)|(mmc) device to [0-3]:1


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;

# init usb, ide or mmc to read uEnv.txt


uenv_read=echo loading envs from $devtype $disknum ...; if load $devtype $disknum:1 0x60500000 /boot/uEnv.txt; then setenv uenv_loaded 1; fi
#load uEnv.txt from first partition of usb [0-3] ide 0 mmc0

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
#what is the functionn? whatever the result of if,run  uenv_read both?
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;
#??for disknum in 0?for sentence is for loop but only 0?

uenv_import=echo importing envs ...; env import -t 0x60500000

bootcmd_uenv=run uenv_load; if test $uenv_loaded -eq 1; then run uenv_import; fi

mtdids=nand0=41000000.nand
mtdparts=mtdparts=41000000.nand:14m(boot),-(data)
set_bootargs=setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts $custom_params
# cusom_params no defination

bootcmd_exec=run load_uimage; if run load_initrd; then if run load_dtb; then bootm 0x60500000 0x60e00000 0x62c00000; else bootm 0x60500000 0x60e00000; fi; else if run load_dtb; then bootm 0x60500000 - 0x62c00000; else bootm 0x60500000; fi; fi

# according to uimage initrd and dtb,run bootm uimage initrd dtb or bootm uimage initrd or  bootm uimage – dtb or bootm uimage

bootcmd=run bootcmd_uenv; run scan_disk; run set_bootargs; run bootcmd_exec; reset
# load uenv,then boot



usb_custom_params=zswap.enabled=1
# definition  but not use



mainlineLinux=yes
usb_ready_retry=15
# definition  but not use

stderr=serial
stdin=serial
stdout=serial


uboot.2013.10-tld-5.ox820.environment



bootdelay=10

ethaddr=52:3b:20:9c:11:51
ethact=mii0

ipaddr=192.168.0.222
#pogo’s ip
serverip=192.168.0.220
# ip of pc running nc or Hercules SETUP utility
if_netconsole=ping $serverip
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;
preboot_nc=run if_netconsole start_netconsole
# does not judge whether pc running nc or Hercules ready or not, start net-console directly


preboot_nc = \
setenv nc_ready 0;\
for pingstat in 1 2 3 4 5; \
   do; \
      sleep 1;\
      if run if_netconsole; \
         then setenv nc_ready 1; \
      fi; \
   done; \
if test $nc_ready -eq 1; \
then run start_netconsole; \
fi

# Wait 5 seconds countdown, which can be broken.And enter net-console when pc running nc or Hercules ready.
preboot = run preboot_nc
# preboot called by uboot






dtb_file=/boot/dts/ox820-pogoplug-pro.dtb
load_dtb=echo loading DTB $dtb_file ...; ext2load $bootdev $device 0x62c00000 $dtb_file
load_initrd=echo loading uInitrd ...; ext2load $bootdev $device 0x60e00000 /boot/uInitrd
load_uimage=echo loading uImage ...; ext2load $bootdev $device 0x60500000 /boot/uImage




devices=usb ide
# usb ide mmc different types of boot device by sequence
disks=0 1 2 3
# multi disks connected for each usb ide or mmc, eg. usb0 to usb3 when multi usb disk plugged
bootdev=usb
# boot device usb
device=0:1
# boot disk:partition default disk0 partition1

scan_disk=\
echo running scan_disk ...; \
scan_done=0; \
setenv scan_usb "usb start";  \
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 ext2load $dev $disknum:1 0x60500000 /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 each disks and load uImage from first partition. eg: usb [0-3]:1 ide 0:1 mmc 0:1,set bootdev to (usb)|(ide)|(mmc) device to [0-3]:1


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;

# init usb, ide or mmc to read uEnv.txt


uenv_read=echo loading envs from $devtype $disknum ...; if load $devtype $disknum:1 0x60500000 /boot/uEnv.txt; then setenv uenv_loaded 1; fi
#load uEnv.txt from first partition of usb [0-3] ide 0 mmc0

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

# detect partition and load uenv.txt. due to "mmc part" without following parameter so there is a test. eg,if mmc,run cmd "mmc part" or the 2nd usb disk run cmd "usb part 1"

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;

#??for disknum in 0?for sentence is for loop but only 0?

uenv_import=echo importing envs ...; env import -t 0x60500000

bootcmd_uenv=run uenv_load; if test $uenv_loaded -eq 1; then run uenv_import; fi

mtdids=nand0=41000000.nand
mtdparts=mtdparts=41000000.nand:14m(boot),-(data)
set_bootargs=setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts $custom_params
# cusom_params no defination

bootcmd_exec=run load_uimage; if run load_initrd; then if run load_dtb; then bootm 0x60500000 0x60e00000 0x62c00000; else bootm 0x60500000 0x60e00000; fi; else if run load_dtb; then bootm 0x60500000 - 0x62c00000; else bootm 0x60500000; fi; fi

# according to uimage initrd and dtb,run bootm uimage initrd dtb or bootm uimage initrd or bootm uimage – dtb or bootm uimage

bootcmd=run bootcmd_uenv; run scan_disk; run set_bootargs; run bootcmd_exec; reset
# load uenv,then boot



usb_custom_params=zswap.enabled=1
# definition but not use



mainlineLinux=yes
usb_ready_retry=15
# uboot parameter

stderr=serial
stdin=serial
stdout=serial



blue comment is not clear,please help me,
red is another version to enable net-console with judgment, what about this sentence?

what is the function of followed 1?
if ext2load $dev $disknum:1 0x60500000 /boot/uImage 1; \

tftpboot (2 replies)

$
0
0
How do I go about initiating a boot via tftp from a GoFlexHome dock?

Debian root password (2 replies)

$
0
0
I can't remember if I changed the root password for Debian on my GoFlexHome dock... In any case I can't login. Is there a root password I can try or can how can I reset it?

"Hello World" Demo (3 replies)

$
0
0
According to https://www.denx.de/wiki/view/DULG/UBootStandalone

there is a "Hello World" Demo which can be run like this:-

=> loads
## Ready for S-Record download ...
~>examples/hello_world.srec
1 2 3 4 5 6 7 8 9 10 11 ...
[file transfer complete]
[connected]
## Start Addr = 0x00040000

I'm trying to work through some of the examples at https://www.denx.de/wiki/view/DULG/UBootCommandLineInterface just to get some idea about what u-Boot can actually do, but the above example didn't work for me. Did I do something wrong?

Oxnas Box bricked? (1 reply)

$
0
0
Hello,

my STG212-Box became rather hot with 850Mhz SPL-Uboot.
So i tried a "downgrade" to 700Mhz , flashing uboot.spl.2013.10.ox820.mtd0.img.
After a reboot the system shows the following output:

U-Boot SPL 2013.10 (Apr 27 2014 - 19:08:27)
  Boot device: NAND
Attempting to set PLLA to 800 MHz ...
  plla_ctrl0 : 0000030a
  plla_ctrl1 : 00400000
  plla_ctrl2 : 007f0068
  plla_ctrl3 : 00000193

PLLA Set

Then nothing happens.

The first question is: has the spl stage finished succesfully - or is this a problem of the SPL stage itself?

BR
dietgert

Booting arch (no replies)

$
0
0
Using the U-boot posted here is it possible to boot another linux distro (e.g. Arch) by having a single partition labeled rootfs?
Viewing all 900 articles
Browse latest View live