Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Sep 2011 22:57:40 +0300
From:      Aleksandr Rybalko <ray@ddteam.net>
To:        mrossi@swin.edu.au
Cc:        freebsd-arm@freebsd.org
Subject:   Re: GlobalScale DreamPlug + FreeBSD 8.2 release
Message-ID:  <20110923225740.d083838b.ray@ddteam.net>
In-Reply-To: <4E791CFA.7080703@swin.edu.au>
References:  <4E782686.6070500@smartfruit.com> <20110920160544.b8d6d969.ray@dlink.ua> <op.v131qha6i1oka3@luxor.smartfruit.com> <20110920173523.4043c0be.ray@dlink.ua> <op.v1324co3i1oka3@luxor.smartfruit.com> <4E791CFA.7080703@swin.edu.au>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 21 Sep 2011 09:08:42 +1000
Mattia Rossi <mrossi@swin.edu.au> wrote:

> On 21/09/11 00:42, Naoyuki Tai wrote:
> > On Tue, 20 Sep 2011 10:35:23 -0400, Aleksandr Rybalko
> > <ray@dlink.ua> wrote:
> >
> >> On Tue, 20 Sep 2011 10:12:07 -0400
> >> "Naoyuki Tai" <ntai@smartfruit.com> wrote:
> >>
> >>>> On Tue, 20 Sep 2011 09:05:44 -0400, Aleksandr Rybalko
> >>>> <ray@dlink.ua> wrote:
> >>>>
> >>>> > On Tue, 20 Sep 2011 01:37:10 -0400
> >>>> > Naoyuki Tai <ntai@smartfruit.com> wrote:
> >>>> >
> >>>> >>> Hello,
> >>>> >>>
> >>>> >>> I'm new to the FreeBSD/arm, bought a DreamPlug from
> >>>> >>> GlobalScale, hoping to turn it into a FreeBSD file server.
> >>>> >>>
> >>>> >>> I followed the "http://wiki.freebsd.org/FreeBSDMarvell", and
> >>>> >>> created kernel.bin. After giving it a "go", it hangs.
> >>>> >>>
> >>>> >>> I must have built the kernel.bin wrong but I have no clue as
> >>>> >>> to what I did wrong.
> >>>> >>> Any clue/help is appreciated.
> >>>> >>>
> >>>> >>> Thanks!
> >>>> >>>
> >>>> >>> -- Tai
> >>>> >>>
> >>>> >>> U-Boot 2011.06-02334-g8f495d9-dirty (May 31 2011 - 02:06:26)
> >>>> >>> Marvell-DreamPlug
> >>>> >>>
> >>>> >>> SoC: Kirkwood 88F6281_A0
> >>>> >>> CPU running @ 1200Mhz L2 running @ 400Mhz
> >>>> >>> SysClock = 400Mhz , TClock = 200Mhz
> >>>> >>> DRAM: 512 MiB
> >>>> >>> SF: Detected MX25L1606 with page size 256, total 1 MiB
> >>>> >>> In: serial
> >>>> >>> Out: serial
> >>>> >>> Err: serial
> >>>> >>> Net: egiga0, egiga1
> >>>> >>> 88E1116 Initialized on egiga0
> >>>> >>> 88E1116 Initialized on egiga1
> >>>> >>> Hit any key to stop autoboot: 0
> >>>> >>> Marvell>> setenv serverip 192.168.10.3
> >>>> >>> Marvell>> setenv ipaddr 192.168.10.55
> >>>> >>> Marvell>> tftpboot 6400000 arm/kernel.bin
> >>>> >>> Using egiga0 device
> >>>> >>> TFTP from server 192.168.10.3; our IP address is
> >>>> >>> 192.168.10.55 Filename 'arm/kernel.bin'.
> >>>> >>> Load address: 0x6400000
> >>>> >>> Loading:
> >>>> >>> #################################################################
> >>>> >>> #################################################################
> >>>> >>> #################################################################
> >>>> >>> ############################
> >>>> >>> done
> >>>> >>> Bytes transferred = 3272884 (31f0b4 hex)
> >>>> >>> Marvell>> go 0x6400000
> >>>> >>> ## Starting application at 0x06400000 ...
> >>>> >>>
> >>>> >
> >>>> > Hi,
> >>>> >
> >>>> > Did you try address 0x900000 instead of 6400000?
> >>>> >
> >>>> > WBW
> >>>>
> >>>> I tried 90000 and it works.
> >>>> Thanks.
> >>>>
> >>>> I don't understand the memory space allocation. 640000 is used
> >>>> for the linux, and I imagined that's the base address for kernel.
> >>>>
> >>>> Where can I learn the reason why it's 90000?
> >>
> >> 0x00000000 is physical memory location, so if MMU turned off,
> >> memory operations not translated (virtual <--> physical). Physical
> >> memory location may vary between different ARM CPUs, IIRC.
> >> But for Kirkwood - this is true.
> >>
> >> And also important which base we set in kernel while compiling,
> >> because code may start to work on every location, but first jump
> >> will call some black hole :)
> >>
> >>
> >>>> Thanks!
> >>>>
> >>>> -- Tai
> >
> >
> > Got it. It is mentioned in
> >
> > /usr/src/sys/arm/mv/kirkwood/std.kirkwood
> >
> > makeoptions KERNPHYSADDR=0x00900000
> >
> > Thanks.
> >
> 
> Good to know, I have a dreamplug as well, but didn't have the time to 
> tinker with it so far. As I see it, the dreamplug has 2 major
> problems which might make FreeBSD on it unusable for my purposes:
> 
> a) the SPI flash is only 1MB, which means 300K are used for uboot,
> and there are only 700K left for the kernel. I've not been able to
> get a FreeBSD kernel under 1MB, even without any non crucial options
> in it.

In most cases U-Boot use 2-4 64K blocks, mostly 3 with another one
block for environment, so i bet in your case 256K. If so and if
U-Boot support LZMA it possible to fit LZMA-ed kernel into 768K left.

If not, you will need to flash loader instead of kernel (but seems
we need to teach loader for NAND support, or pass FS queries to U-Boot) 

> 
> What's the workaroound for that?
> 
> b) NAND support. World needs to reside on the NAND flash. Does that 
> already work?

I bet, depend on SPI flash size 1M, your flashed U-Boot can use NAND
for boot. If so, you will be able to store read-only FS on NAND+kernel
or kernel+RAMdisk for now.

> 
> I would love to be just a bit behind and to hear people come up and
> say: no it's all solved :-)

No way, without you this will never happen :)

> 
> Mat

WBW
-- 
Aleksandr Rybalko <ray@ddteam.net>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110923225740.d083838b.ray>