Debian on GoFlex net - any full noob how to?

This forum is for Marvell Kirkwood devices such as the GoFlex Home/Net, PogoPlug v1/v2, SheevaPlug, and ZyXEL devices.

Re: Debian on GoFlex net - any full noob how to?

Postby tomcheng76 » Fri Dec 31, 2010 5:57 pm

Unluckily the modules don't run. I need tun.ko for openvpn :oops:

dmesg shows
$this->bbcode_second_pass_code('', '
[ 26.702568] tun: unknown relocation: 3
[ 27.373326] ipv6: unknown relocation: 3
')

http://sourceware.org/ml/binutils/2008-12/msg00216.html
wrong complier flag ??
something wrong in this guide?
btw, I didn't cross compile it, I compile in goflexnet.
tomcheng76
 
Posts: 130
Joined: Mon Dec 13, 2010 11:24 am

Re: Debian on GoFlex net - any full noob how to?

Postby peaslaker » Fri Dec 31, 2010 6:02 pm

Looks like it just didn't find the kernel sitting at /boot/uImage on your boot device. The device is OK as it is picking up on the ramdisk, so I would just check you have got it in the boot subdirectory and it has the appropriate case sensitive naming. The boot device should be ext2.

The v0.4 UBIT kernel includes a large number of compiled modules. Which one were you after? It may be included in which case there is a ready-made solution for kernel v2.6.36.

$this->bbcode_second_pass_quote('tomcheng76', '
')I discovered the Arch Linux ARM install linux doesn't have any kernel module shipped.

The kernel that your boot system is defaulting to is the UBIT v0.3 kernel which was stripped down to the bare minimum. This is not the official Arch Linux ARM install Linux kernel. It is my kernel build that I supply as a third party. The v0.4 kernel is a lot closer to the official Arch Linux ARM install Linux kernel, based on the "sheevaplug withlinux" configuration but with the extra tweaks needed to get the UBIT boot system working.

The sources for the UBIT kernel build are at:
https://github.com/peaslaker/linux-2.6/ ... .6.36-ubit

$this->bbcode_second_pass_quote('tomcheng76', '
')$this->bbcode_second_pass_code('', '
cd /boot
mkimage -A arm -O linux -T kernel -C none -a 0x8000 -e 0x8000 -n "vmlinuz-2.6.35.4" -d /vmlinuz /boot/uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0 -e 0 -n "initrd.img-2.6.35.4" -d initrd.img-2.6.35.4 /boot/uInitrd
')


The mkimage for the kernel is unnecessary. Just run $this->bbcode_second_pass_code('', ' make uImage') in the kernel tree and it will place a ready-made uImage file in ./arch/arm/boot
peaslaker
 
Posts: 101
Joined: Tue Sep 07, 2010 10:40 pm

Re: Debian on GoFlex net - any full noob how to?

Postby peaslaker » Fri Dec 31, 2010 6:06 pm

The error you had is a U-Boot error of not being able to find the file. That is all. It is nothing to do with the kernel.

U-Boot does not know that the file it is loading from the hard disk is a kernel. It is just a file. The error is that it did not find the file. This is a simple file naming issue.

Best of luck.

P.S. Run fsck on your boot media.
peaslaker
 
Posts: 101
Joined: Tue Sep 07, 2010 10:40 pm

Re: Debian on GoFlex net - any full noob how to?

Postby tomcheng76 » Sat Jan 01, 2011 4:51 am

$this->bbcode_second_pass_quote('peaslaker', 'T')he error you had is a U-Boot error of not being able to find the file. That is all. It is nothing to do with the kernel.

U-Boot does not know that the file it is loading from the hard disk is a kernel. It is just a file. The error is that it did not find the file. This is a simple file naming issue.

Best of luck.

P.S. Run fsck on your boot media.


thanks peaslaker. the Uboot find the UImage now, and as you said, there is no need to mkimage the kernel, i found the uImage in arch/arm/boot

Do you want why loading kernel module failed ? may be the oldconfig have some problem? i didn't modify things in make menuconfig, i just press Y for the marvell sata driver :)
tomcheng76
 
Posts: 130
Joined: Mon Dec 13, 2010 11:24 am
Top

Re: Debian on GoFlex net - any full noob how to?

Postby tomcheng76 » Sat Jan 01, 2011 4:52 am

$this->bbcode_second_pass_quote('peaslaker', 'T')he error you had is a U-Boot error of not being able to find the file. That is all. It is nothing to do with the kernel.

U-Boot does not know that the file it is loading from the hard disk is a kernel. It is just a file. The error is that it did not find the file. This is a simple file naming issue.

Best of luck.

P.S. Run fsck on your boot media.


thanks peaslaker. the Uboot find the UImage now, and as you said, there is no need to mkimage the kernel, i found the uImage in arch/arm/boot

Do you know why loading kernel module failed ? may be the oldconfig have some problem? i didn't modify things in make menuconfig, i just press Y for the marvell sata driver :)

Edit: I guess i am affected by new gcc4.4 changes, applied the patch here ( i didnt use marm and i use goflextnet_defconfig), lets see if it works, have to wait several hours...
tomcheng76
 
Posts: 130
Joined: Mon Dec 13, 2010 11:24 am
Top

Re: Debian on GoFlex net - any full noob how to?

Postby tomcheng76 » Sat Jan 01, 2011 9:24 am

It works now, for those who use gcc 4.4+ to complie. Add the following to Makefile

$this->bbcode_second_pass_code('', '# FIXME: the module load should be taught about the additional relocs
# generated by this.
# revert to pre-gcc-4.4 behaviour of .eh_frame
KBUILD_CFLAGS += $(call cc-option,-fno-dwarf2-cfi-asm)

# Do not use arch/arm/defconfig - it's always outdated.
# Select a platform tht is kept up-to-date
KBUILD_DEFCONFIG := goflexnet_defconfig')

Add it before warn-assign :)
tomcheng76
 
Posts: 130
Joined: Mon Dec 13, 2010 11:24 am

Re: Debian on GoFlex net - any full noob how to?

Postby squeezeplug » Thu Feb 17, 2011 10:35 pm

Hi,
I got lost while trying to install Debian on GoFlex Net. So far I think I understood all steps and I've created a USB stick. It seems that the stick boots, but the system don't get an IP by DHCP. So I like to install netconsole on the device and got lost. Arch Linux ARM install Linux is already installed on the NAND. Could someone tell me what exactly to do on the GoFlex device to activate netconsole?

Thx a lot,
Greetings Thomas
squeezeplug
 
Posts: 27
Joined: Thu Feb 17, 2011 6:42 am

Re: Debian on GoFlex net - any full noob how to?

Postby peaslaker » Thu Feb 17, 2011 10:43 pm

The netconsole is configured by default and the device will be sending out console information to network addresses. All you need to do is configure the machine you're working on to pick up those messages:

These instructions are all from the point of view of the machine you are using to attach to the Arch Linux ARM install system.

http://Arch Linux ARM.com/index.php5?title=Monitoring_UBIT_boot_using_netcat
peaslaker
 
Posts: 101
Joined: Tue Sep 07, 2010 10:40 pm

Re: Debian on GoFlex net - any full noob how to?

Postby squeezeplug » Sat Feb 19, 2011 11:33 am

Hi,
I've got netconsole running now, but I can't get an IP-Address from my router while booting from an USB-Stick. Booting PlugBoxLinux from NAND works fine and I get an IP-Address.

Here is the output from netconsole (ubooot):

$this->bbcode_second_pass_code('', 'U-Boot 2010.09 (Feb 06 2011 - 19:25:33)
UBIT v0.5 for Seagate GoFlex Net by Peter Carmichael
(Re)start USB...
USB: Register 10011 NbrPorts 1
USB EHCI 1.00
scanning bus for devices... 2 USB Device(s) found
scanning bus for storage devices... 1 Storage Device(s) found
Hit any key to stop autoboot: 0
UBIFS error (pid 0): ubifs_get_sb: cannot open "ubi:fast", error -19
Error reading superblock on volume 'ubi:fast'!
UBIFS not mounted, use ubifs mount to mount volume first!
Loading file "/boot/uImage" from usb device 0:1 (usbda1)
2895764 bytes read
Loading file "/uInitrd" from usb device 0:1 (usbda1)
4736777 bytes read
## Booting kernel from Legacy Image at 00680000 ...
Image Name: Linux-2.6.36-ubit-01575-gd36fea8
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2895700 Bytes = 2.8 MiB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 01100000 ...
Image Name: initramfs-2.6.32-5-kirkwood
Image Type: ARM Linux RAMDisk Image (gzip compressed)
Data Size: 4736713 Bytes = 4.5 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK

Starting kernel ...')

Here is the output from netconsole (kernel):

$this->bbcode_second_pass_code('', 'Linux version 2.6.36-ubit-01575-gd36fea8 (root@vmdebian-cli) (gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67) ) #1 Fri Dec 17 17:43:50 GMT 2010
CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053977
CPU: VIVT data cache, VIVT instruction cache
Machine: Seagate GoFlex Net
Memory policy: ECC disabled, Data cache writeback
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512
Kernel command line: console=ttyS0,115200 mtdparts=orion_nand:1M(u-boot),4M(uImage),32M(pogoplug),-(root) root=/dev/sda1 rootdelay=10 netconsole=@10.10.10.6/eth0,@10.10.10.4/
PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 128MB = 128MB total
Memory: 118848k/118848k available, 12224k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xffc00000 - 0xffe00000 ( 2 MB)
vmalloc : 0xc8800000 - 0xfe800000 ( 864 MB)
lowmem : 0xc0000000 - 0xc8000000 ( 128 MB)
modules : 0xbf000000 - 0xc0000000 ( 16 MB)
.init : 0xc0008000 - 0xc002e000 ( 152 kB)
.text : 0xc002e000 - 0xc052a000 (5104 kB)
.data : 0xc0550000 - 0xc0585880 ( 215 kB)
SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
RCU-based detection of stalled CPUs is disabled.
Verbose stalled-CPUs detection is disabled.
NR_IRQS:114
Console: colour dummy device 80x30
Calibrating delay loop... 1192.75 BogoMIPS (lpj=5963776)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
Kirkwood: MV88F6281-A1, TCLK=200000000.
Feroceon L2: Cache support initialised.
bio: create slab <bio-0> at 0
vgaarb: loaded
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
cfg80211: Calling CRDA to update world regulatory domain
Switching to clocksource orion_clocksource
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
Trying to unpack rootfs image as initramfs...
Freeing initrd memory: 4624K
JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
aufs 2.1-36
msgmni has been set to 241
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0xf1012000 (irq = 33) is a 16550A
console [ttyS0] enabled
brd: module loaded
loop: module loaded
sata_mv sata_mv.0: version 1.28
sata_mv sata_mv.0: slots 32 ports 2
scsi0 : sata_mv
scsi1 : sata_mv
ata1: SATA max UDMA/133 irq 21
ata2: SATA max UDMA/133 irq 21
NAND device: Manufacturer ID: 0x2c, Chip ID: 0xda (Micron NAND 256MiB 3,3V 8-bit)
Scanning device for bad blocks
Bad eraseblock 513 at 0x000004020000
4 cmdlinepart partitions found on MTD device orion_nand
Creating 4 MTD partitions on "orion_nand":
0x000000000000-0x000000100000 : "u-boot"
0x000000100000-0x000000500000 : "uImage"
0x000000500000-0x000002500000 : "pogoplug"
0x000002500000-0x000010000000 : "root"
MV-643xx 10/100/1000 ethernet driver version 1.4
mv643xx_eth smi: probed
net eth0: port 0 with MAC address 00:10:75:26:3d:4e
netconsole: local port 6665
netconsole: local IP 10.10.10.6
netconsole: interface 'eth0'
netconsole: remote port 6666
netconsole: remote IP 10.10.10.4
netconsole: remote ethernet address ff:ff:ff:ff:ff:ff
netconsole: device eth0 not up yet, forcing it
ata1: SATA link down (SStatus 0 SControl F300)
ata2: SATA link down (SStatus 0 SControl F300)
eth0: link up, 1000 Mb/s, full duplex, flow control disabled
console [netcon0] enabled
netconsole: network logging started
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
orion-ehci orion-ehci.0: Marvell Orion EHCI
orion-ehci orion-ehci.0: new USB bus registered, assigned bus number 1
orion-ehci orion-ehci.0: irq 19, io mem 0xf1050000
orion-ehci orion-ehci.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver ums-datafab
usbcore: registered new interface driver ums-freecom
usbcore: registered new interface driver ums-jumpshot
usbcore: registered new interface driver ums-sddr09
usbcore: registered new interface driver ums-sddr55
mice: PS/2 mouse device common for all mice
usb 1-1: new high speed USB device using orion-ehci and address 2
scsi2 : usb-storage 1-1:1.0
rtc-mv rtc-mv: internal RTC not ticking
i2c /dev entries driver
cpuidle: using governor ladder
cpuidle: using governor menu
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
mv_xor_shared mv_xor_shared.0: Marvell shared XOR driver
mv_xor_shared mv_xor_shared.1: Marvell shared XOR driver
mv_xor mv_xor.0: Marvell XOR: ( xor cpy )
mv_xor mv_xor.1: Marvell XOR: ( xor fill cpy )
mv_xor mv_xor.2: Marvell XOR: ( xor cpy )
mv_xor mv_xor.3: Marvell XOR: ( xor fill cpy )
usbcore: registered new interface driver hiddev
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
oprofile: hardware counters not available
oprofile: using timer interrupt.
TCP cubic registered
NET: Registered protocol family 17
lib80211: common routines for IEEE802.11 drivers
Registering the dns_resolver key type
registered taskstats version 1
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
Freeing init memory: 152K
scsi 2:0:0:0: Direct-Access Kingston DataTraveler 410 1.00 PQ: 0 ANSI: 2
sd 2:0:0:0: [sda] 7571944 512-byte logical blocks: (3.87 GB/3.61 GiB)
sd 2:0:0:0: [sda] Write Protect is off
sd 2:0:0:0: [sda] Assuming drive cache: write through
sd 2:0:0:0: Attached scsi generic sg0 type 0
sd 2:0:0:0: [sda] Assuming drive cache: write through
sda: sda1 sda2 sda3
sda: p3 size 6273024 extends beyond EOD, enabling native capacity
sd 2:0:0:0: [sda] Assuming drive cache: write through
sda: sda1 sda2 sda3
sda: p3 size 6273024 extends beyond EOD, truncated
sd 2:0:0:0: [sda] Assuming drive cache: write through
sd 2:0:0:0: [sda] Attached SCSI removable disk')

Anyone an idea what's going wrong here?

Thanks a lot,
Greetings,
Thomas
squeezeplug
 
Posts: 27
Joined: Thu Feb 17, 2011 6:42 am

Re: Debian on GoFlex net - any full noob how to?

Postby squeezeplug » Sat Feb 19, 2011 3:19 pm

$this->bbcode_second_pass_quote('tomcheng76', 'I') followed this guide with little changes and it works :lol: ...


Hi I've followed your method and everything seems to work great. After Starting I got the following message:

$this->bbcode_second_pass_code('', 'Loading file "/boot/uImage" from usb device 0:1 (usbda1)
** File not found /boot/uImage
')

So I made a /boot directory on the boot partition and moved uImage there. After that the failure was gone but the system don't boot either. The LED is dark all the time.

Any idea?

Greetings,
Thomas
squeezeplug
 
Posts: 27
Joined: Thu Feb 17, 2011 6:42 am
Top

PreviousNext

Return to Marvell Kirkwood

Who is online

Users browsing this forum: No registered users and 10 guests