DockStar u-boot for Debian USB stick
For the new Debian wheezy version 7 it needs also an actual U-Boot monitor.
U-Boot 2012
At the beginning of 2012 Jeff Doozan brought out a new U-Boot monitor, which is needed for the version 3.2 kernel.
U-Boot 2012 Installation
The entry is the web page Update uBoot on your Dockstar, GoFlex, or Pogoplug. Connect via SSH to the device. Then run the following commands:
$ cd /tmp $ wget http://projects.doozan.com/uboot/install_uboot_mtd0.sh $ chmod +x install_uboot_mtd0.sh $ ./install_uboot_mtd0.sh
The installation script does the following:
- explains the rules for the update.
- installs a few utilities.
- checks for the installed u-boot version.
download the file http://jeff.doozan.com/uboot/valid-uboot.md5
- with the platform name select the actual u-boot file from the .md5 file:
next download this file and verify with the md5 number.
- then program u-boot to flash ROM and verify it.
last some environment parameters are copied to the new environment.
especially the arcNumber is taken care about, please see DockStarKernelBuild#Arc_number.
It is surprising, how much intelligence can be put in such a script, thank you Jeff.
U-Boot 2012 messages, for reference only
All following text in the boxes are collected via serial cable, see DockStarSerialLink.
The start messages:
U-Boot 2011.12 (Feb 12 2012 - 21:33:07) Seagate FreeAgent DockStar SoC: Kirkwood 88F6281_A0 DRAM: 128 MiB WARNING: Caches not enabled NAND: 256 MiB In: serial Out: serial Err: serial Net: egiga0 88E1116 Initialized on egiga0 Hit any key to stop autoboot: 0 u-boot>>
The help text:
u-boot>> 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' bootm - boot application image from memory bootp - boot image via network using BOOTP/TFTP protocol chpart - change active partition cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation dhcp - boot image via network using DHCP/TFTP protocol 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 /) false - do nothing, unsuccessfully fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) fsinfo - print information about filesystems fsload - load binary file from a filesystem image go - start application at address 'addr' 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 loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range ls - list files in a directory (default /) md - memory display mii - MII utility commands mm - memory modify (auto-incrementing address) mtdparts- define flash/nand partitions mtest - simple RAM read/write test 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 showvar - print local hushshell variables sleep - delay execution for some time 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 u-boot>> cation at address 'addr' 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 loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range ls - list files in a directory (default /) md - memory display mii - MII utility commands mm - memory modify (auto-incrementing address) mtdparts- define flash/nand partitions mtest - simple RAM read/write test 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 showvar - print local hushshell variables sleep - delay execution for some time 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 u-boot>> version U-Boot 2011.12 (Feb 12 2012 - 21:33:07) Seagate FreeAgent DockStar arm-none-linux-gnueabi-gcc (Sourcery G++ Lite 2009q3-67) 4.4.1 GNU ld (Sourcery G++ Lite 2009q3-67) 2.19.51.20090709 u-boot>> bdinfo arch_number = 0x00000BB6 boot_params = 0x00000100 DRAM bank = 0x00000000 -> start = 0x00000000 -> size = 0x08000000 DRAM bank = 0x00000001 -> start = 0x00000000 -> size = 0x00000000 ethaddr = 00:10:75:1A:CA:9F ip_addr = 0.0.0.0 baudrate = 115200 bps TLB addr = 0x07FF0000 relocaddr = 0x07F53000 reloc off = 0x07953000 irq_sp = 0x07E32F68 sp start = 0x07E32F58 FB base = 0x00000000
The environment parameters:
u-boot>> printenv arcNumber=2998 baudrate=115200 bootcmd=usb start; run force_rescue_bootcmd; run ubifs_bootcmd; run usb_bootcmd; usb stop; run rescue_bootcmd; run pogo_bootcmd; reset bootcmd_pogo=run bootcmd_rescue bootcmd_rescue=run set_bootargs_rescue; nand read.e 0x800000 0x100000 0x400000; bootm 0x800000 bootdelay=3 console=ttyS0,115200 ethact=egiga0 ethaddr=00:10:75:1A:CA:9F force_rescue=0 force_rescue_bootcmd=if test $force_rescue -eq 1 || ext2load usb 0:1 0x1700000 /rescueme 1 || fatload usb 0:1 0x1700000 /rescueme.txt 1; then run rescue_bootcmd; fi led_error=orange blinking led_exit=green off led_init=green blinking mainlineLinux=yes mtdids=nand0=orion_nand mtdparts=mtdparts=orion_nand:1M(u-boot),4M(uImage),32M(rootfs),-(data) partition=nand0,2 pogo_bootcmd=if fsload uboot-original-mtd0.kwb; then go 0x800200; fi rescue_bootcmd=if test $rescue_installed -eq 1; then run rescue_set_bootargs; nand read.e 0x800000 0x100000 0x400000; bootm 0x800000; else run pogo_bootcmd; fi rescue_installed=1 rescue_set_bootargs=setenv bootargs console=$console ubi.mtd=2 root=ubi0:rootfs ro rootfstype=ubifs $mtdparts $rescue_custom_params set_bootargs_rescue=setenv bootargs console=$console ubi.mtd=2 root=ubi0:rootfs ro rootfstype=ubifs $mtdparts stderr=serial stdin=serial stdout=serial ubifs_bootcmd=run ubifs_set_bootargs; if ubi part data && ubifsmount rootfs && ubifsload 0x800000 /boot/uImage && ubifsload 0x1100000 /boot/uInitrd; then bootm 0x800000 0x1100000; fi ubifs_mtd=3 ubifs_set_bootargs=setenv bootargs console=$console ubi.mtd=$ubifs_mtd root=ubi0:rootfs rootfstype=ubifs $mtdparts $ubifs_custom_params usb_boot=mw 0x800000 0 1; ext2load usb $usb_device 0x800000 /boot/uImage; if ext2load usb $usb_device 0x1100000 /boot/uInitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi usb_bootcmd=run usb_init; run usb_set_bootargs; run usb_boot usb_device=0:1 usb_init=run usb_scan usb_root=/dev/sda1 usb_rootdelay=10 usb_rootfstype=ext2 usb_scan=usb_scan_done=0;for scan in $usb_scan_list; do run usb_scan_$scan; if test $usb_scan_done -eq 0 && ext2load usb $usb 0x800000 /boot/uImage 1; then usb_scan_done=1; echo "Found bootable drive on usb $usb"; setenv usb_device $usb; setenv usb_root /dev/$dev; fi; done usb_scan_1=usb=0:1 dev=sda1 usb_scan_2=usb=1:1 dev=sdb1 usb_scan_3=usb=2:1 dev=sdc1 usb_scan_4=usb=3:1 dev=sdd1 usb_scan_list=1 2 3 4 usb_set_bootargs=setenv bootargs console=$console root=$usb_root rootdelay=$usb_rootdelay rootfstype=$usb_rootfstype $mtdparts $usb_custom_params Environment size: 2585/131068 bytes u-boot>>
Debian wheezy boot
The boot messages with a Debian wheezy (ver. 7) from USB-stick /dev/sda1:
u-boot>> boot (Re)start USB... USB: Register 10011 NbrPorts 1 USB EHCI 1.00 scanning bus for devices... 3 USB Device(s) found scanning bus for storage devices... 1 Storage Device(s) found Loading file "/rescueme" from usb device 0:1 (usbda1) ** File not found /rescueme reading /rescueme.txt ** Unable to read "/rescueme.txt" from usb 0:1 ** Creating 1 MTD partitions on "nand0": 0x000002500000-0x000010000000 : "mtd=3" UBI: attaching mtd1 to ubi0 UBI: physical eraseblock size: 131072 bytes (128 KiB) UBI: logical eraseblock size: 129024 bytes UBI: smallest flash I/O unit: 2048 UBI: sub-page size: 512 UBI: VID header offset: 512 (aligned 512) UBI: data offset: 2048 UBI: attached mtd1 to ubi0 UBI: MTD device name: "mtd=3" UBI: MTD device size: 219 MiB UBI: number of good PEBs: 1752 UBI: number of bad PEBs: 0 UBI: max. allowed volumes: 128 UBI: wear-leveling threshold: 4096 UBI: number of internal volumes: 1 UBI: number of user volumes: 0 UBI: available PEBs: 1731 UBI: total number of reserved PEBs: 21 UBI: number of PEBs reserved for bad PEB handling: 17 UBI: max/mean erase counter: 1/1 UBIFS error (pid 0): ubifs_get_sb: cannot open "ubi:rootfs", error -19 Error reading superblock on volume 'ubi:rootfs'! Loading file "/boot/uImage" from usb device 0:1 (usbda1) 1 bytes read Found bootable drive on usb 0:1 Loading file "/boot/uImage" from usb device 0:1 (usbda1) 1606440 bytes read Loading file "/boot/uInitrd" from usb device 0:1 (usbda1) 6761843 bytes read ## Booting kernel from Legacy Image at 00800000 ... Image Name: kernel 3.2.0-4-kirkwood Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 1606376 Bytes = 1.5 MiB Load Address: 00008000 Entry Point: 00008000 Verifying Checksum ... OK ## Loading init Ramdisk from Legacy Image at 01100000 ... Image Name: ramdisk 3.2.0-4-kirkwood Image Type: ARM Linux RAMDisk Image (gzip compressed) Data Size: 6761779 Bytes = 6.4 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK Loading Kernel Image ... OK OK Starting kernel ... Uncompressing Linux... done, booting the kernel. [ 0.000000] Initializing cgroup subsys cpuset [ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Linux version 3.2.0-4-kirkwood (debian-kernel@lists.debian.org) (gcc version 4.6.3 (Debian 4.6.3-12) ) #1 Debian 3.2.35-2 [ 0.000000] CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053977 [ 0.000000] CPU: VIVT data cache, VIVT instruction cache [ 0.000000] Machine: Seagate FreeAgent DockStar [ 0.000000] Memory policy: ECC disabled, Data cache writeback [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512 [ 0.000000] Kernel command line: console=ttyS0,115200 root=/dev/sda1 rootdelay=10 rootfstype=ext2 mtdparts=orion_nand:1M(u-boot),4M(uImage),32M(rootfs),-(data) [ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes) [ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) [ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) [ 0.000000] Memory: 128MB = 128MB total [ 0.000000] Memory: 118548k/118548k available, 12524k reserved, 0K highmem [ 0.000000] Virtual kernel memory layout: [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB) [ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) [ 0.000000] vmalloc : 0xc8800000 - 0xfe800000 ( 864 MB) [ 0.000000] lowmem : 0xc0000000 - 0xc8000000 ( 128 MB) [ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB) [ 0.000000] .text : 0xc0008000 - 0xc03e3130 (3949 kB) [ 0.000000] .init : 0xc03e4000 - 0xc0408000 ( 144 kB) [ 0.000000] .data : 0xc0408000 - 0xc0442520 ( 234 kB) [ 0.000000] .bss : 0xc0442544 - 0xc04a5b84 ( 398 kB) [ 0.000000] NR_IRQS:114 [ 0.000000] sched_clock: 32 bits at 200MHz, resolution 5ns, wraps every 21474ms [ 0.000000] Console: colour dummy device 80x30 [ 10.081751] Calibrating delay loop... 1191.11 BogoMIPS (lpj=5955584) [ 10.171638] pid_max: default: 32768 minimum: 301 [ 10.171761] Security Framework initialized [ 10.171836] Mount-cache hash table entries: 512 [ 10.172169] Initializing cgroup subsys cpuacct [ 10.172194] Initializing cgroup subsys memory [ 10.172218] Initializing cgroup subsys devices [ 10.172227] Initializing cgroup subsys freezer [ 10.172235] Initializing cgroup subsys net_cls [ 10.172243] Initializing cgroup subsys blkio [ 10.172264] Initializing cgroup subsys perf_event [ 10.172357] CPU: Testing write buffer coherency: ok [ 10.173649] devtmpfs: initialized [ 10.175500] print_constraints: dummy: [ 10.175756] NET: Registered protocol family 16 [ 10.176565] Kirkwood: MV88F6281-A0, TCLK=200000000. [ 10.176580] Feroceon L2: Enabling L2 [ 10.176615] Feroceon L2: Cache support initialised. [ 10.179407] bio: create slab <bio-0> at 0 [ 10.179786] vgaarb: loaded [ 10.180312] Switching to clocksource orion_clocksource [ 10.194415] NET: Registered protocol family 2 [ 10.194620] IP route cache hash table entries: 1024 (order: 0, 4096 bytes) [ 10.195230] TCP established hash table entries: 4096 (order: 3, 32768 bytes) [ 10.195329] TCP bind hash table entries: 4096 (order: 2, 16384 bytes) [ 10.195382] TCP: Hash tables configured (established 4096 bind 4096) [ 10.195391] TCP reno registered [ 10.195401] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 10.195422] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 10.195631] NET: Registered protocol family 1 [ 10.195814] Unpacking initramfs... [ 10.743044] Freeing initrd memory: 6600K [ 10.743059] NetWinder Floating Point Emulator V0.97 (double precision) [ 10.743596] audit: initializing netlink socket (disabled) [ 10.743639] type=2000 audit(0.650:1): initialized [ 10.745024] VFS: Disk quotas dquot_6.5.2 [ 10.745109] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) [ 10.745228] JFFS2 version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc. [ 10.745562] msgmni has been set to 244 [ 10.747086] alg: No test for stdrng (krng) [ 10.747200] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253) [ 10.747213] io scheduler noop registered [ 10.747220] io scheduler deadline registered [ 10.747273] io scheduler cfq registered (default) [ 10.747350] mv_xor_shared mv_xor_shared.0: Marvell shared XOR driver [ 10.747381] mv_xor_shared mv_xor_shared.1: Marvell shared XOR driver [ 10.780382] mv_xor mv_xor.0: Marvell XOR: ( xor cpy ) [ 10.820379] mv_xor mv_xor.1: Marvell XOR: ( xor fill cpy ) [ 10.860377] mv_xor mv_xor.2: Marvell XOR: ( xor cpy ) [ 10.900378] mv_xor mv_xor.3: Marvell XOR: ( xor fill cpy ) [ 10.900759] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled [ 10.921320] serial8250.0: ttyS0 at MMIO 0xf1012000 (irq = 33) is a 16550A [ 11.347594] console [ttyS0] enabled [ 11.352061] ONFI flash detected [ 11.355305] ONFI param page 0 valid [ 11.358815] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xda (Micron MT29F2G08AAD) [ 11.366527] Scanning device for bad blocks [ 11.522753] 4 cmdlinepart partitions found on MTD device orion_nand [ 11.529050] Creating 4 MTD partitions on "orion_nand": [ 11.534228] 0x000000000000-0x000000100000 : "u-boot" [ 11.540036] 0x000000100000-0x000000500000 : "uImage" [ 11.545836] 0x000000500000-0x000002500000 : "rootfs" [ 11.551664] 0x000002500000-0x000010000000 : "data" [ 11.558098] mousedev: PS/2 mouse device common for all mice [ 12.570366] rtc-mv rtc-mv: internal RTC not ticking [ 12.575362] i2c /dev entries driver [ 12.579004] cpuidle: using governor ladder [ 12.583253] cpuidle: using governor menu [ 12.588191] TCP cubic registered [ 12.591458] NET: Registered protocol family 17 [ 12.595928] Registering the dns_resolver key type [ 12.601137] registered taskstats version 1 [ 12.605696] /build/buildd-linux_3.2.35-2-armel-th89m3/linux-3.2.35/drivers/rtc/hctosys.c: unable to open rtc device (rtc0) [ 12.616858] Initializing network drop monitor service [ 12.622534] Freeing init memory: 144K Loading, please wait... [ 12.680908] udevd[48]: starting version 175 [ 12.784830] mv643xx_eth: MV-643xx 10/100/1000 ethernet driver version 1.4 [ 12.830408] mv643xx_eth smi: probed [ 12.863507] usbcore: registered new interface driver usbfs [ 12.869102] usbcore: registered new interface driver hub [ 12.881278] mv643xx_eth_port mv643xx_eth_port.0: eth0: port 0 with MAC address 00:10:75:1a:ca:9f [ 12.930838] usbcore: registered new device driver usb [ 12.937913] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 12.990386] orion-ehci orion-ehci.0: Marvell Orion EHCI [ 12.995710] orion-ehci orion-ehci.0: new USB bus registered, assigned bus number 1 [ 13.040387] orion-ehci orion-ehci.0: irq 19, io mem 0xf1050000 [ 13.060353] orion-ehci orion-ehci.0: USB 2.0 started, EHCI 1.00 [ 13.066370] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 [ 13.073207] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 13.080472] usb usb1: Product: Marvell Orion EHCI [ 13.085195] usb usb1: Manufacturer: Linux 3.2.0-4-kirkwood ehci_hcd [ 13.091503] usb usb1: SerialNumber: orion-ehci.0 [ 13.097028] hub 1-0:1.0: USB hub found [ 13.100834] hub 1-0:1.0: 1 port detected [ 13.420361] usb 1-1: new high-speed USB device number 2 using orion-ehci [ 13.571708] usb 1-1: New USB device found, idVendor=05e3, idProduct=0608 [ 13.578445] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0 [ 13.585625] usb 1-1: Product: USB2.0 Hub [ 13.593783] hub 1-1:1.0: USB hub found [ 13.603698] hub 1-1:1.0: 4 ports detected [ 13.880604] usb 1-1.2: new high-speed USB device number 3 using orion-ehci [ 13.992957] usb 1-1.2: New USB device found, idVendor=090c, idProduct=1000 [ 13.999865] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 14.007219] usb 1-1.2: Product: USB DISK [ 14.011180] usb 1-1.2: Manufacturer: SMI Corporation [ 14.016174] usb 1-1.2: SerialNumber: AA04012700008370 [ 14.046495] SCSI subsystem initialized [ 14.055152] Initializing USB Mass Storage driver... [ 14.060414] scsi0 : usb-storage 1-1.2:1.0 [ 14.065921] usbcore: registered new interface driver usb-storage [ 14.071983] USB Mass Storage support registered. [ 15.061924] scsi 0:0:0:0: Direct-Access SMI USB DISK 1100 PQ: 0 ANSI: 0 CCS [ 15.086504] sd 0:0:0:0: [sda] 7864320 512-byte logical blocks: (4.02 GB/3.75 GiB) [ 15.094731] sd 0:0:0:0: [sda] Write Protect is off [ 15.100228] sd 0:0:0:0: [sda] No Caching mode page present [ 15.105758] sd 0:0:0:0: [sda] Assuming drive cache: write through [ 15.116729] sd 0:0:0:0: [sda] No Caching mode page present [ 15.122262] sd 0:0:0:0: [sda] Assuming drive cache: write through [ 15.131111] sda: sda1 sda2 [ 15.137728] sd 0:0:0:0: [sda] No Caching mode page present [ 15.143260] sd 0:0:0:0: [sda] Assuming drive cache: write through [ 15.149378] sd 0:0:0:0: [sda] Attached SCSI removable disk [ 15.164631] sd 0:0:0:0: Attached scsi generic sg0 type 0 Begin: Loading essential drivers ... done. Begin: Running /scripts/init-premount ... done. Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done. Begin: Running /scripts/local-premount ... done. Begin: Running /scripts/local-bottom ... done. done. Begin: Running /scripts/init-bottom ... done. INIT: version 2.88 booting [info] Using makefile-style concurrent boot in runlevel S. [....] Starting the hotplug events dispatcher: udevd[ 24.225836] udevd[227]: starting version 175 . ok [ ok ] Synthesizing the initial hotplug events...done. [ ok ] Waiting for /dev to be fully populated...done. [....] Activating swap...[ 25.379596] Adding 265068k swap on /dev/sda2. Priority:-1 extents:1 across:265068k done. [....] Checking root file system...fsck from util-linux 2.20.1 /dev/sda1: clean, 13408/228928 files, 107584/915200 blocks done. [ ok ] Cleaning up temporary files... /tmp. [ ok ] Activating lvm and md swap...done. [....] Checking file systems...fsck from util-linux 2.20.1 done. [ ok ] Mounting local filesystems...done. [ ok ] Activating swapfile swap...done. [ ok ] Cleaning up temporary files.... [ ok ] Setting kernel variables ...done. [....] Configuring network interfaces...[ 31.862288] mv643xx_eth_port mv643xx_eth_port.0: eth0: link up, 1000 Mb/s, full duplex, flow control disabled dhcpcd.sh: interface eth0 has been configured with new IP=192.168.17.185 [ 37.106353] NET: Registered protocol family 10 done. [ ok ] Cleaning up temporary files.... INIT: Entering runlevel: 2 [info] Using makefile-style concurrent boot in runlevel 2. [ ok ] Starting OpenBSD Secure Shell server: sshd. Debian GNU/Linux 7.0 debian ttyS0 debian login:
Utilities, blparam
Introduction
Blparam was included in the Pogoplug 2.0 update. Blparam both displays and allows you to change the U-Boot parameter block stored in NAND flash. Any changes that you make to the boot parameters will take effect on the next reboot. If you make any changes to the parameters that cause the Pogoplug to not boot, you will need a serial cable to recover the device.
Note: Blparam only exists on the stock Pogoplug firmware, not Plugbox Linux. You also need a working plug to use it, so if your is bricked, you'll need to make a serial cable.
Installation of blparam
The programm must be downloaded first.
-bash-3.2# cd /sbin -bash-3.2# mount -o rw,remount / # make flash writeable -bash-3.2# wget http://plugapps.com/os/pogoplug/uboot/blparam -bash-3.2# chmod 755 ./blparam -bash-3.2# mount -o remount,ro / # make flash readonly
Usage
Blparam is located in /sbin or originally /usr/local/cloudengines/bin/ in the Pogoplug 2.0 firmware.
And can be downloaded here.
If use without parameters it will show all set boot paramerters. The output is the same if using the serial console and typing printenv.
blparam (no arguments) Outputs all the u-boot parameters without changing them. -bash-3.2# /sbin/blparam baudrate=115200 loads_echo=0 ipaddr=169.254.254.253 serverip=169.254.254.254 rootpath=/mnt/ARM_FS/ netmask=255.255.0.0 run_diag=yes console=console=ttyS0,115200 CASset=min MALLOC_len=1 ethprime=egiga0 bootargs_root=root=/dev/mtdblock2 ro ethmtu=1500 usb0Mode=host nandEcc=1bit ethact=egiga0 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 ethaddr=00:10:75:1A:CE:XX cesvcid=LH5AUGG5K5N82WZ83QE2GWZUYN ceserialno=2GEP1GHF ceboardver=REDSTONE:1.0 bootcmd=nand read.e 0x800000 0x100000 0x300000; setenv bootargs $(console) $(bootargs_root); bootm 0x800000
blparam [paramname[=paramvalue]] Arguments without a value are REMOVED from the parameter block (i.e. set to empty). Arguments with a value are added or changed.
Example (change the root partition to /dev/mtdblock3 and set it read-only on boot):
blparam "bootargs_root=root/dev/mtdblock3 ro"
List of pages in this category:
-- RudolfReuter 2010-08-29 17:52:35
Go back to CategoryDockStar or FrontPage ; KontaktEmail (ContactEmail)