User Tools

Site Tools


goflex:start

This is an old revision of the document!


I started this 4/23 so this is a work-in-progress, aka a severely disorganized page. Wiki clean-up usually happens after I put the device back together, and that could take awhile since my free time is limited.

debian

only thing missing is our arch type in the kernel. let's start with debian stable kernel sources and rebuild with goflex patch. http://packages.debian.org/squeeze/linux-source-2.6.32

it says it includes the debian patches, but it comes up as normal 2.6.32… meh. I added a bit also to arch/arm/kernel/head-common.S so that we need not pass arcNumber. This would help later for making installable without editing bootloader. :P

We can start serial commands at u-boot to load USB key with my kernel+initrd. For example:

usb start;ext2load usb 0:1 $(loadaddr) /boot/uImage;set bootargs console=ttyS0,115200 root=UUID=93f87267-e952-437c-a87a-76712671784f;bootm $(loadaddr)

Here is full clean boot. debianboot

Creation of the USB key or even ext2 partition on the SATA can be easy with debootstrap. I will attempt emdebian's soon to see if it's dependencies are a bit less a tangled web of bloat. ;)

http://packages.debian.org/search?arch=armel&keywords=debootstrap http://www.emdebian.org/release/squeeze.html

You can download debootstrap .deb from whatever Linux you are booted hopefully, and extract it with “ar x debootstrap.deb” and you find data.tar.gz which you can extract to current directory. It is much easier to go ahead to do the entirety of it on the native machine if you can, verus doing a two stage.. but I've done both with success. cdebootstrap is even better. “apt-get cdebootstrap” in Ubuntu or Debian and insert and ext2 format a USB key.

cdebootstrap --foreign --arch armel --include=linux-image-2.6-kirkwood squeeze /mnt http://ftp.debian.org/debian/

including kirkwood image ensures you get all the modules and initramfs things, you can use my uMulti to do actual booting.

external serial port

ok i had to put it back together before the kids come home for the weekend. what can carry 3-wire serial and be small? RadioShack catalog #274-0245 is 3-conductor stereo submini audio jack, and #274-244 is submini phone plug (3/32“). Visit here for the pics: Serial port install.

goflex mods

Lots of people working on this. But the information is scattered, and I've not seen the point to some of it… Guess if you want something done right, you have to do it yourself? ;)

Just captured this: bootlog

U-Boot seems to already support USB and IDE booting… I dunno why people are flashing these things? FAT and EXT2…

I'm going to try using this:

http://www.codesourcery.com/sgpp/lite/arm/portal/package2549/public/arm-none-linux-gnueabi/arm-2008q1-126-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

Looking to match their toolchain. I'm not sure why it's not included in the GPL tarball. I need gcc 4.3.2 and glibc2.5 and hopefully the rest works OK… ;)

jfs

Working on JFS module… http://scottn.us/downloads/GoFlex-JFS.tar.gz

Module and utilities work. Will need to analysis start-up scripts to see how to make it continue to function correctly. /usr/lib/spd/scripts/usb/usbToolbox.php seems to be a good start.

Some tinkering with scripts and still no normal success… It did somewhat begin to work.

mountdebug

external boot without uboot replacement

really don't want to have to JTAG this. i'm scurred. took about 30min to do 64kB on my router. would probably take all day to do 512kB on this..

This is example only. Probably you want to change it some. This example uses FAT on partition 1, and sets root to be partition 2. You maybe want ext2 on 1 partition. Replace 'fatload' with 'ext2load' and '-part2' with '-part1' .. just throwing ideas out there..

set boot_nand $(bootcmd)
set usb_start 'usb start; fatload usb 0:1 $(loadaddr) /uImage'
set boot_usb 'echo usb success; set bootargs $(console) root=/dev/disk/by-path/platform-orion-ehci.0-usb-0:1:1.0-scsi-0:0:0:0-part2; bootm $(loadaddr)'
set ide_start 'ide reset; fatload ide 0:1 $(loadaddr) /uImage'
set ide_boot 'echo ide success;set bootargs $(console) root=/dev/disk/by-path/platform-sata_mv.0-scsi-0:0:0:0-part2;bootm $(loadaddr)'
set bootcmd 'run usb_start boot_usb; run ide_start ide_boot; run boot_nand'

Look at it all first with 'printenv' before invoking 'saveenv'. many terminal emulators will paste too fast. So I modified picocom to usleep() some between writes. I later edited it to help with UART loading into the BootROM.

x86_64 binary toolchain

Ubuntu 10.10 has: apt-get install gcc-arm-linux-gnueabi

serial recovery

you never need a JTAG. since this device can boot from UART. You have to first activate the BootROM's XMODEM receive by sending a special string (0xBB11223344556677). Then, it will begin sending XMODEM packets (NAK, ASCII 0x15). Obviously that string has to be sent over and over before you press the power button, since you only have a few milliseconds (or microseconds? heh).

So I edited picocom to make this super easy in Linux. http://goflex.scottn.us/picocom-debug.tar.gz and you begin by pressing CTRL+A CTRL+E. It asks for filename, sends the DEBUG string for about 5 seconds, then sends the file.

Oh you'll also need http://goflex.scottn.us/uboot.uart since the header is changed. It specifies UART boot vs NAND boot. This is the GoFlex Net original U-boot.

As you see from this log, the header must be changed to boot from serial: uartboot.

goflex/start.1304446885.txt.gz · Last modified: 2023/11/04 22:29 (external edit)

Except where otherwise noted, content on this wiki is licensed under the following license: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki