Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Sep 2011 10:35:11 -0400
From:      Naoyuki Tai <ntai@smartfruit.com>
To:        mrossi@swin.edu.au
Cc:        freebsd-arm@freebsd.org
Subject:   Re: GlobalScale DreamPlug + FreeBSD 8.2 release
Message-ID:  <4E85D39F.1010606@smartfruit.com>
In-Reply-To: <4E85949F.1000004@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> <4E85949F.1000004@swin.edu.au>

next in thread | previous in thread | raw e-mail | index | archive | help
On 09/30/11 06:06, Mattia Rossi 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.
>>
>
> I don't know.. it just doesn't work for me.
>
> U-Boot 2011.06-02334-g8f495d9-dirty (Mar 28 2011 - 05:21:06)
> Marvell-DreamPlug
>
> SoC:   Kirkwood 88F6281_A0
> DRAM:  512 MiB
> SF: Detected MX25L1606 with page size 256, total 1 MiB
> In:    serial
> Out:   serial
> Err:   serial
> Net:   egiga0, egiga1
> 88E1121 Initialized on egiga0
> 88E1121 Initialized on egiga1
> Hit any key to stop autoboot:  0
> Marvell>> set ipaddr 192.168.12.80
> Marvell>> set serverip 192.168.12.81
> Marvell>> tftpboot 0x900000 kernel.bin
> No link on egiga0
> Using egiga1 device
> TFTP from server 192.168.12.81; our IP address is 192.168.12.80
> Filename 'kernel.bin'.
> Load address: 0x900000
> Loading: 
> #################################################################
>          
> #################################################################
>          
> #################################################################
>          ###################################
> done
> Bytes transferred = 3366392 (335df8 hex)
> Marvell>> go 0x900000
> ## Starting application at 0x00900000 ...
>
>
> And there it just hangs.
> Kernel compiled with:
> KERNCONF=DB-88F6XXX
> TARGET=arm
> TARGET_ARCH=arm
>
> Help?
>
> Mat
>

I have luck with SheevaPlug based kernel config.
Here is the kernel config file I'm using. It's based on SheevaPlug.
You probably need to adjust the root FS, network protocol.

Good luck.

-- Tai

-- CUT HERE --

#
# Custom kernel for Marvell DreamPlug devices.
#

ident        DREAMPLUG
include        "../mv/kirkwood/std.sheevaplug"

options     SOC_MV_KIRKWOOD
makeoptions    MODULES_OVERRIDE=""

#makeoptions    DEBUG=-g        #Build kernel with gdb(1) debug symbols
makeoptions    WERROR="-Werror"

options     SCHED_4BSD        #4BSD scheduler
options     INET            #InterNETworking
options     INET6            #IPv6 communications protocols
options     FFS            #Berkeley Fast Filesystem
options     NFSCLIENT        #Network Filesystem Client
options     NFSLOCKD        #Network Lock Manager
options     NFS_ROOT        #NFS usable as /, requires NFSCLIENT
#options     BOOTP
#options     BOOTP_NFSROOT
#options     BOOTP_NFSV3
#options     BOOTP_WIRED_TO=mge0

# Root fs on a disk
options     ROOTDEVNAME=\"ufs:/dev/ad0s1a\"

options     SYSVSHM            #SYSV-style shared memory
options     SYSVMSG            #SYSV-style message queues
options     SYSVSEM            #SYSV-style semaphores
options     _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions
options     MUTEX_NOINLINE
options     RWLOCK_NOINLINE
options     NO_FFS_SNAPSHOT
options     NO_SWAPPING

# Debugging
options     ALT_BREAK_TO_DEBUGGER
options     DDB
options     KDB

# Pseudo devices
device        random
device        pty
device        loop

# Serial ports
device        uart

# Networking
device        ether
device        mge            # Marvell Gigabit Ethernet controller
device        mii
device        e1000phy
device        bpf
options        HZ=1000
options        DEVICE_POLLING
device        vlan

# USB
#options     USB_DEBUG    # enable debug msgs
device        usb
device        ehci
device        umass
device        uhid
#device        ukbd
device        ulpt
#device        udbp
device        usfs
device        ums

#
#device        pci
#device        kbdmux        # keyboard multiplexer
#device        sc
#device        dcons        # dumb console driver
#options     KBD_INSTALL_CDEV    # install a CDEV entry in /dev

# SCSI
device        scbus        # SCSI bus (required for SCSI)
device        da        # Direct Access (disks)
device        cd        # CD
device        pass


# USB sound
device        sound
device        snd_uaudio

#
device        ahci
device        mvs
device        ata
device        atadisk

#
device        if_bridge
#
options     SOFTUPDATES
options     UFS_GJOURNAL
options     UFS_ACL            #Support for access control lists
options     UFS_DIRHASH        #Improve performance on big directories
#
options     LIBICONV
options     LIBMCHAIN
#
options     NETATALK        #Appletalk communications protocols
options     NETSMB            #SMB/CIFS requester
options     MSDOSFS            #MS DOS File System (FAT, FAT32)
options     PROCFS            #Process filesystem (requires PSEUDOFS)
options     SMBFS            #SMB/CIFS filesystem
options     GEOM_PART_GPT        # GPT partitioning
options     EXT2FS
device        mem
options     CD9660            #ISO 9660 filesystem
options     VFS_AIO
options     PSEUDOFS        #Pseudo-filesystem framework

options     CD9660_ICONV


# iic
device        iic
device        iicbus    # Bus support, required for ic/iic/iicsmb below.
device        icee


device        firmware

-- CUT HERE --




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E85D39F.1010606>