Discussion:
How to Install NetBSD on ARM (SheevaPlug)?
Sergei G
2014-07-16 08:09:30 UTC
Permalink
I bought SheevaPlug in the hope of running a nice low power server for
personal needs, so it is my 1st exposure to ARM device.

I use FreeBSD on Intel machine, but arm is Tier2 support, so I decided to
give NetBSD a try. Unfortunately I am completely confused by the
installation procedure. The instructions are focused on TFTP server, but I
am trying to use USB stick formatted with FAT 16.

I am just trying to boot into NetBSD without installing it on SDHC card.
I don't know if it is the best way to go.

I don't know which file I need to copy onto FAT16, so I copied 2 files:

gzcat /Volumes/NETBSD_614/EVBARM/BINARY/KERNEL/NETBSD_IQ80321.BIN_GZ >
NETBSD_IQ80321.BIN

gzcat /Volumes/NETBSD_614/EVBARM/BINARY/KERNEL/NETBSD_IQ80321.GZ >
NETBSD_IQ80321

I then tried loading both files and failed.

On Boot:

U-Boot 2011.12 (Mar 11 2012 - 18:59:46)
Marvell-Sheevaplug - eSATA - SD/MMC

SoC: Kirkwood 88F6281_A1
DRAM: 512 MiB
WARNING: Caches not enabled
NAND: 512 MiB
In: serial
Out: serial
Err: serial
Net: egiga0
88E1116 Initialized on egiga0
Hit any key to stop autoboot: 0
No MMC card found
** Bad partition 1 **
** Bad partition 1 **
Wrong Image Format for bootm command
ERROR: can't get kernel image!

The autoload errors are coming from missing SDHC card with Debian Linux on
it.

I then try loading what I think kernel files are and the system hangs. I am
sure I just don't do it right.

Marvell>> fatls usb 0
4096 ._.trashes
.trashes/
.spotlight-v100/
4649600 netbsd_sheevaplug.bin
5148787 netbsd_sheevaplug

3 file(s), 2 dir(s)

Marvell>> fatload usb 0 0x900000 netbsd_sheevaplug
reading netbsd_sheevaplug

5148787 bytes read
Marvell>> go 0x900000
## Starting application at 0x00900000 ...

And that's when it hangs. I see nothing, so I pull the plug and try again.

The installation document references memory 0x60660000. If that's the case,
then I don't know which memory address to load into. I use 0x900000,
because it works with Linux kernel, which is probably not right.

Several months ago I compiled custom FreeBSD image, and was able to boot it
(don't remember much about it). Unfortunately, I found that I could not
boot FreeBSD from SDHC and abandoned that route. I hope NetBSD is better in
that respect.


thank you
Andy Ruhl
2014-07-16 16:50:38 UTC
Permalink
Post by Sergei G
I bought SheevaPlug in the hope of running a nice low power server for
personal needs, so it is my 1st exposure to ARM device.
I use FreeBSD on Intel machine, but arm is Tier2 support, so I decided to
give NetBSD a try. Unfortunately I am completely confused by the
installation procedure. The instructions are focused on TFTP server, but I
am trying to use USB stick formatted with FAT 16.
I am just trying to boot into NetBSD without installing it on SDHC card.
I don't know if it is the best way to go.
gzcat /Volumes/NETBSD_614/EVBARM/BINARY/KERNEL/NETBSD_IQ80321.BIN_GZ >
NETBSD_IQ80321.BIN
gzcat /Volumes/NETBSD_614/EVBARM/BINARY/KERNEL/NETBSD_IQ80321.GZ >
NETBSD_IQ80321
I then tried loading both files and failed.
U-Boot 2011.12 (Mar 11 2012 - 18:59:46)
Marvell-Sheevaplug - eSATA - SD/MMC
SoC: Kirkwood 88F6281_A1
DRAM: 512 MiB
WARNING: Caches not enabled
NAND: 512 MiB
In: serial
Out: serial
Err: serial
Net: egiga0
88E1116 Initialized on egiga0
Hit any key to stop autoboot: 0
No MMC card found
** Bad partition 1 **
** Bad partition 1 **
Wrong Image Format for bootm command
ERROR: can't get kernel image!
The autoload errors are coming from missing SDHC card with Debian Linux on
it.
I then try loading what I think kernel files are and the system hangs. I am
sure I just don't do it right.
Marvell>> fatls usb 0
4096 ._.trashes
.trashes/
.spotlight-v100/
4649600 netbsd_sheevaplug.bin
5148787 netbsd_sheevaplug
3 file(s), 2 dir(s)
Marvell>> fatload usb 0 0x900000 netbsd_sheevaplug
reading netbsd_sheevaplug
5148787 bytes read
Marvell>> go 0x900000
## Starting application at 0x00900000 ...
And that's when it hangs. I see nothing, so I pull the plug and try again.
The installation document references memory 0x60660000. If that's the case,
then I don't know which memory address to load into. I use 0x900000, because
it works with Linux kernel, which is probably not right.
Several months ago I compiled custom FreeBSD image, and was able to boot it
(don't remember much about it). Unfortunately, I found that I could not boot
FreeBSD from SDHC and abandoned that route. I hope NetBSD is better in that
respect.
thank you
I don't have a Sheevaplug, I have a Dockstar which is similar. So I
don't know exactly how to help you.

However, if you search on netbsd sheevaplug boot, I think you'll find
interesting info.

If you build a Sheevaplug kernel, you should get something called
netbsd.ub which is uboot friendly. I believe you can tftp boot it or
boot it from a FAT partition.

Your command to boot the kernel might work if you use 0x2000000, given
that the kernel is uboot friendly.

In my case I have to hardcode the root device into the kernel, not
sure if you have to do that on Sheevaplug.

Andy
Martin Husemann
2014-07-16 18:41:11 UTC
Permalink
Post by Andy Ruhl
If you build a Sheevaplug kernel, you should get something called
netbsd.ub which is uboot friendly. I believe you can tftp boot it or
boot it from a FAT partition.
Yes, you fatload the .ub image, which will tell you the start
address and then you bootm that address:

http://nyftp.netbsd.org/pub/NetBSD-daily/HEAD/201407150330Z/evbarm-earm/binary/kernel/netbsd-SHEEVAPLUG.ub.gz

is the latest daily build for that (as of right now).

I am not sure why there is no shevaplug install kernel - must be missing in
some makefile.

Martin

Loading...