GlobalScale DreamPlug + FreeBSD 8.2 release
Naoyuki Tai
ntai at smartfruit.com
Fri Sep 30 14:35:12 UTC 2011
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 at dlink.ua>
>> wrote:
>>
>>> On Tue, 20 Sep 2011 10:12:07 -0400
>>> "Naoyuki Tai" <ntai at smartfruit.com> wrote:
>>>
>>>>> On Tue, 20 Sep 2011 09:05:44 -0400, Aleksandr Rybalko <ray at dlink.ua>
>>>>> wrote:
>>>>>
>>>>> > On Tue, 20 Sep 2011 01:37:10 -0400
>>>>> > Naoyuki Tai <ntai at 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 --
More information about the freebsd-arm
mailing list