[ARMedslack] slackwarearm on seagate dosckstar

Gregg Levine gregg.drwho8 at gmail.com
Thu Apr 18 02:00:09 UTC 2013


On Wed, Apr 17, 2013 at 9:32 PM, Richard Lapointe
<richard.lapointe at gmail.com> wrote:
> Maybe you need a new uboot :
> http://forum.doozan.com/read.php?3,6965oot
>
> I use this uboot in my dockstar and 2 pogoplug P21 (E02) kirkwood base NAS.
> All three are running Slackwarearm 14.0
>
> I also use these for my serial connection.
> http://www.ebay.com/sch/i.html?_trksid=p2047675.m570.l1313.TR0.TRC0&_nkw=USB+2.0+to+TTL+UART&_sacat=0&_from=R40
>
>
> root at pogo-161:/home/rich# uname -a
> Linux pogo-161 3.4.11-kirkwood #2 PREEMPT Sat Sep 15 21:42:15 BST 2012
> armv5tel Feroceon 88FR131 rev 1 (v5l) Marvell SheevaPlug Reference Board
> GNU/Linux
>
> root at pogo-161:/home/rich# fw_printenv
> ethact=egiga0
> bootdelay=3
> baudrate=115200
> mainlineLinux=yes
> console=ttyS0,115200
>
> led_init=green blinking
> led_exit=green off
> led_error=orange blinking
> mtdparts=mtdparts=orion_nand:1M(u-boot),4M(uImage),32M(rootfs),-(data)
> mtdids=nand0=orion_nand
> partition=nand0,2
> stdin=serial
> stdout=serial
> stderr=serial
> rescue_set_bootargs=setenv bootargs console=$console ubi.mtd=2
> root=ubi0:rootfs ro rootfstype=ubifs $mtdparts $rescue_custom_params
> 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
> pogo_bootcmd=if fsload uboot-original-mtd0.kwb; then go 0x800200; fi
> 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
> ubifs_mtd=3
> ubifs_set_bootargs=setenv bootargs console=$console ubi.mtd=$ubifs_mtd
> root=ubi0:rootfs rootfstype=ubifs $mtdparts $ubifs_custom_params
> 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
> 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_list=1 2 3 4
> 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_init=run usb_scan
>
> usb_device=0:1
> usb_root=/dev/sda1
> usb_rootfstype=ext2
> usb_rootdelay=10
> usb_set_bootargs=setenv bootargs console=$console root=$usb_root
> rootdelay=$usb_rootdelay rootfstype=$usb_rootfstype $mtdparts
> $usb_custom_params
> usb_bootcmd=run usb_init; run usb_set_bootargs; run usb_boot
> 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
> bootcmd=usb start; run force_rescue_bootcmd; run ubifs_bootcmd; run
> usb_bootcmd; usb stop; run rescue_bootcmd; run pogo_bootcmd; reset
> ethaddr=00:25:31:xx:xx:xx
> arcNumber=2097
> ipaddr=192.168.1.161
> if_netconsole=ping $serverip
> start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin
> nc; setenv stdout nc; setenv stderr nc; version;
> preboot=run if_netconsole start_netconsole
> serverip=192.168.1.71
> set_bootargs_rescue=setenv bootargs console=$console ubi.mtd=2
> root=ubi0:rootfs ro rootfstype=ubifs $mtdparts
> bootcmd_rescue=run set_bootargs_rescue; nand read.e 0x800000 0x100000
> 0x400000; bootm 0x800000
> bootcmd_pogo=run bootcmd_rescue
> rescue_installed=1
> force_rescue=0
> usb_custom_params=nic=auto:eth0:dhcp kbd=us
>
>
> Regards
>
> Rich Lapointe
>
>
>
> On 04/17/2013 11:15 AM, Davide wrote:
>>> Uncompressing Linux... done, booting the kernel.
>>>
>>> And that's it ... nothing more on the serial console and nothing on the
>>> network .... actually it does not even appear to mount the root
>>> filesystem as the last mount seems to be coherent with the last time I
>>> mounted it on my PC Do I need to recompile the kernel (I'm using the
>>> kirkwood uImage) or is there something else wrong ?
>
>>This usually happens when the kernel +initrd does not fit into the
>>allocated memory locations.  Make sure you have the u-boot memory settings
>>correctly set:
>
>>    Marvell>>  tftpboot 0x01100000 %SLACKTREE%/uinitrd-kirkwood.img
>>    Marvell>>  tftpboot 0x00800000 %SLACKTREE%/uImage-kirkwood
>>    Marvell>>  setenv bootargs console=ttyS0,115200 nodhcp kbd=uk
>> root=/dev/ram rw
>>    Marvell>>  bootm 0x00800000 0x01100000
>
>>I haven't tried the latest Kirkwood kernel on a Plug machine, but I know
>>it does work on the OpenRD client.  I added the 'earlyprintk' debugging to
>>the Tegra20 kernel which'd show you what was wrong, but I don't think this
>>is available in the kirkwood implementation (although I'll have a look
>>again later).
>
> O possibly the sizes matched what i was using 2 years back ... might nit fit
> the new images
> I've lost familiarity with uboot command line ....
> I load them from usb with something that looks like this:
>
> ${dev}
> $part
> ${usb_boot_dir}
> get populated somewhere along the execution of the script
>
> ext2load usb ${dev}:$part 0x800000 ${usb_boot_dir} /uImage
> ext2load usb ${dev}:$usb_dev_part 0x1100000 ${usb_boot_dir}/uinitrd
> setenv usb_boot_address 0x800000 0x1100000
> bootm $usb_boot_address
>
> but they do look as if they are ok ....
>
> The images got into /boot when by installing the packages from the versatile
> virtual machine (I then manually linked with the correct names my uboot
> looks for)
> root at darkstar:/mnt/floppy/boot# ls
> System.map@                 config-kirkwood-3.4.11  uImage-kirkwood-3.4.11
> uinitrd-kirkwood-3.4.11
> System.map-kirkwood-3.4.11  uImage@                 uinitrd@
> root at darkstar:/mnt/floppy/boot#  md5sum uinitrd-kirkwood-3.4.11
> uImage-kirkwood-3.4.11
> 0ff11c800fa6745b04676787596246de  uinitrd-kirkwood-3.4.11
> 0c5e9a376a92e49863e2989875564a12  uImage-kirkwood-3.4.11
> root at darkstar:/mnt/floppy/boot#
>
> so I'm supposing that it's not an issue on how they got into the image.
>
> anyway just incase anyone is intrested on the script I'm using for booting
> from usb stick if present (and correctly setup) or from internal flash
> here's a dump of printenv:
> Marvell>> printenv
> usb_device=0:1
> usb_root=/dev/sda1
> usb_rootfstype=ext2
> usb_rootdelay=10
> bootcmd_pogo=fsload uboot-original-mtd0.kwb; go 0x800200
> bootdelay=3
> baudrate=115200
> console=console=ttyS0,115200
> mtdids=nand0=orion_nand
> partition=nand0,2
> led_init=green blinking
> led_exit=green off
> led_error=orange blinking
> ethact=egiga0
> arcNumber=2998
> usb_boot_0=setenv root_fs root=/dev/sda${usb_dev_part}
> usb_boot_1=setenv root_fs root=/dev/sdb${usb_dev_part}
> usb_boot_2=setenv root_fs root=/dev/sdc${usb_dev_part}
> usb_boot_3=setenv root_fs root=/dev/sdd${usb_dev_part}
> usb_boot_4=setenv root_fs root=/dev/sde${usb_dev_part}
> usb_boot_5=setenv root_fs root=/dev/sdf${usb_dev_part}
> usb_boot_6=setenv root_fs root=/dev/sdg${usb_dev_part}
> set_usb_bootargs=setenv bootargs ${console} ${mtdparts} ${root_fs} ro
> ${root_fstype}
> mtdparts=mtdparts=orion_nand:1M(u-boot),4M at 1M(uImage),32M at 5M(rootfs),219M at 37M(data)
> root_fs=root=/dev/mtdblock2
> root_fstype=rootfstype=jffs2
> bootcmd=run usb_scan; run set_flash_bootargs; run boot_flash_kernel
> ethaddr=00:10:75:1A:21:B7
> usb_part_list=4 3 2 1
> usb_dev_list=6 5 4 3 2 1 0
> usb_dev_part=0
> usb_scan=usb start; setenv usb_boot_dev none; for dev in  $usb_dev_list; do
> for part in $usb_part_list; do if ext2ls usb ${dev}:$part /etc; then setenv
> usb_boot_dir; ext2ls usb ${dev}:$part /boot && setenv usb_boot_dir /boot; if
> ext2load usb ${dev}:$part 0x800000 ${usb_boot_dir}
> /uImage; then setenv usb_dev_part $part; setenv usb_boot_dev $dev; setenv
> usb_boot_address 0x800000; setenv root_fstype rootfstype=ext2; run
> usb_boot_$dev ; run set_usb_bootargs; fi; ext2load usb ${dev}:$usb_dev_part
> 0x1100000 ${usb_boot_dir}/uinitrd; && setenv usb_boot_address
> 0x800000 0x1100000; fi; done; done; if test "$usb_boot_dev" = "none"; then
> echo "No USB bootable device found"; else echo "USB device
> ${usb_boot_dev}:$usb_dev_part is bootable"; bootm $usb_boot_address; fi;
> flash_root_fstype=rootfstype=jffs2
> flash_kernel_size=0x300000
> flash_kernel_load_addr=0x6400000
> set_flash_bootargs=setenv bootargs ${console} ${mtdparts} ${flash_root_fs}
> ro ${flash_root_fstype}
> boot_flash_kernel=nand read $flash_kernel_load_addr $flash_kernel_offest
> $flash_kernel_size; bootm $flash_kernel_load_addr
> flash_root_fs=root=/dev/mtdblock2
> flash_kernel_offest=0x100000
> stdin=serial
> stdout=serial
> stderr=serial

Hello!
Makes sense. However I've already decided what my plans are for adding
a serial port to mine. As it happens I have here a breakout board for
the FT232R (Or FT232RL) device. So that's what I'll be using. As for
the other ideas. Time will tell.

-----
Gregg C Levine gregg.drwho8 at gmail.com
"This signature fought the Time Wars, time and again."


More information about the ARMedslack mailing list