KuroBoxPro

From NAS-Central Buffalo - The Linkstation Wiki
Revision as of 17:47, 9 June 2007 by Ramuk (Talk | contribs)

Jump to: navigation, search
Kuro Box Pro

Contents

Kuro Box Pro

Hardware Specifications

Kurobox PRO
Case 60(W) x 163.6(H) x 215.5(D) mm
CPU Type Marvell 88F5182 (400MHz)
CPU Speed 400MHZ
RAM 128MB (DDR2-SDRAM)
Hard Drive Not included
IDE Host Controller Sata - Marvell
Ethernet Controller 1000BASE-T/100BASE-TX/10BASE-T (RJ-45)x1 (AUTO-MDIX)
USB Ports USB2.0 (Type A) x2 + SATA + PCIExpressx1
Interface PCI-Express X1 x1, SATA x1, Through Hall (Pin Header)
(UART x1, GPIO x2), I2C x1)
Flash ROM 256KB (NOR), 256MB (NAND)
Internal Bay 3.5” SATA-HDD Bay x1 Internal Cooling FAN
Power supply Input: AC100-220V (50/60Hz) (Internal)
Output: Max.25W (5V 1.5A, 12V 1.5A)

Software Specifications

Kurobox PRO
Boot Loader u-boot
Software Linux kernel 2.6.12
busybox , samba3.0 , mtd-utils , bash , xfs-progs, libtermcap , libncurses , glibc , gcc

Default Settings

Kurobox PRO
IP Settings
  • KURO-BOX/PRO Name: KUROBOX-PRO
  • IP Address: DHCP client
    (If there is no DHCP server, it will default to 192.168.11.150.)
Date and Time
  • Super Capacitor Backup
  • Initialized value : January 1, 1970
Root access
  • Console Administrator: root
  • Password: kuroadmin
SWAT
  • SWAT User: root
  • Password: kuroadmin
Samba Share Folder
  • Workgroup Name: KUROBOX
  • /mnt/mtd: mtd device (NAND FLASH),
  • /mnt/disk1: share (HDD)

Accessing Partions from Samba

There is no FTPd to ftp files into the KuroBox at this point. But there is Samba!

The flash memory is available at

smb://kuroip/mtd_device

The newly installed hard drive is at

smb://kuroip/share

You could stop here if you wanted to, after all you have a network share with samba/swat for administration.

Install a root file system (Distribution)

The following procedure creates the following partition scheme, and untars a root file system onto p2 (/dev/sda2). Somehow it rewrites the uboot variables allowing a boot from the hard drive. Console access would be the preferred way to change these uboot settings. Netcat does not seem to work to access uboot. Serial Console access would be a must [1].


  1. p1 : /boot (16MB)
  2. p2 : /rootfs (3GB)
  3. p4 : extend (others)
  4. p5 : swap (128MB)
  5. p6 : /share (others)
Nuvola apps important.png 
WARNING!

The provided documentation says that this process is not recommended.



Buffalo Provided Developer System

  1. Connect up the blank unformatted hard drive and power on.
  2. Access the Samba share on the kurobox named mtd_device
  3. Copy over these files to the samba share from the provided CD-ROM
    1. hddrootfs.tar.gz (this file probably could be replaced with an alternate rootfs, see below)
    2. ChangeMeDevHDD
    3. ChangeMyUbootEnv
    4. uImage.buffalo
  4. Press the red init button on the back till it beeps
  5. The Info LED will flash the drive will be partitoned to the above scheme, afterwards the above partition scheme was created and hddrootfs.tar.gz was untarred into /dev/sda2
  6. Reboot System.

GenLink (Gentoo)

Kurobrick.png
WARNING!

There is a possibility that you could brick your NAS with these instructions. Please make sure that you read the entire page carefully. this is as of yet untested

I think you could use this method to install GenLink, although I'm not sure that 3GB is a large enough root file space

  1. Connect up the blank unformatted hard drive and power on.
  2. Access the Samba share on the kurobox named mtd_device
  3. Download the GenLink Tarball: http://downloads.linkstationwiki.net/LSPro_ARM9/Distributions/Genlink/Rootfs/GenLink_arm9-1.0pre6-20070227.tar.bz2
  4. Then rename it to hddrootfs.tar.gz and copy it over to the Samba Share
  5. Copy over these files to the samba share from the provided CD-ROM
    1. ChangeMeDevHDD
    2. ChangeMyUbootEnv
    3. uImage.buffalo
  6. Press the red init button on the back till it beeps
  7. The Info LED will flash and the drive will be partitoned and Genlink Installed
  8. Reboot System.
  9. Then follow the directions for the First boot of the new GenLink rootfs

FreeLink (Debian)

Kurobrick.png
WARNING!

There is a possibility that you could brick your NAS with these instructions. Please make sure that you read the entire page carefully. this is as of yet untested, however the method has been reported to work by a few japanese kuroboxpro users.


  1. Connect up the blank unformatted hard drive and power on.
  2. Access the Samba share on the kurobox named mtd_device
  3. Download the FreeLink zip archive: http://downloads.linkstationwiki.net/LSPro_ARM9/Distributions/Freelink/FreeLink_arm9-1.0rev2.zip
  4. Unzip it and find the hddrootfs.img file
  5. Rename it to have the .tgz extension
  6. Extract this file with the following password:
    IeY8omJwGlGkIbJm2FH_MV4fLsXE8ieu0gNYwE6Ty
  7. Rename the resultant file tohddrootfs.tar.gz and copy it over to the Samba Share
  8. Copy over these files to the samba share from the provided CD-ROM
    1. ChangeMeDevHDD
    2. ChangeMyUbootEnv
    3. uImage.buffalo
  9. Press the red init button on the back till it beeps
  10. Reboot and use ssh to login to your newly FreeLinked KuroBox Pro with login:root and password:lspro
  11. Remember to change the /etc/fstab to reflect the location of linux swap
  12. Then follow the directions for FreeLink for the Linkstation Pro: Update of the debian packages

Japanese Kuro-Box Interface

Webserver

http://kuroip

gives

Kuro.gif

linked to http://www.kuroutoshikou.com/


this could be changed the index.html and gif is in:

./www:
drw-r--r--    3 root     root            0 Feb  9 10:17 .
drwxr-xr-x   18 root     root            0 May 23 01:57 ..
drwxrwxrwx    2 root     root            0 Feb  9 22:35 img
-rwxrwxrwx    1 root     root           95 Feb  9 10:17 index.html

./www/img:
drwxrwxrwx    2 root     root            0 Feb  9 22:35 .
drw-r--r--    3 root     root            0 Feb  9 10:17 ..
-rwxrwxrwx    1 root     root         4587 Feb  9 22:35 kuro.gif

Starting Beep

The KuroPro makes a distinctive starting beep. You can use the beeper to play sounds at any time if you want it uses miconapl


PlayBeep.sh /usr/local/music/SW_ON.msc 


/usr/local/bin/Playbeep.sh

#!/bin/sh

if [ -f "$1" ] ; then
        TEMPO=`grep "TEMPO=" $1|sed -e "s/TEMPO=//"`
        MELODY=`grep -v "TEMPO=" $1`
        PLAYDATA="${TEMPO} ${MELODY}"
else
        MELODY=`echo $*| sed -e "s/$0//"`
        PLAYDATA=${MELODY}
fi

miconapl -a bz_melody ${PLAYDATA}

/usr/local/music/SW_ON.msc

TEMPO=30
b4 b5 b4 b6


dmesg

These are from a Japanese Kuro Pro the American and European versions may be different

/mnt/mtd # dmesg
pj=1331200)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
serial_initialize_ttyS1 (Debug): ttyS1 is initialized.
 config_device_cs Error : Unknown board 

CPU Interface
-------------
SDRAM_CS0 ....base 00000000, size 128MB 
SDRAM_CS1 ....disable
SDRAM_CS2 ....disable
SDRAM_CS3 ....disable
PEX0_MEM ....base e0000000, size 128MB 
PEX0_IO ....base f2000000, size   1MB 
PCI0_MEM ....base e8000000, size 128MB 
PCI0_IO ....base f2100000, size   1MB 
INTER_REGS ....base f1000000, size   1MB 
DEVICE_CS0 ....base fa000000, size   2MB 
DEVICE_CS1 ....base f4000000, size  32MB 
DEVICE_CS2 ....base fa800000, size   1MB 
DEV_BOOCS ....base ff800000, size   8MB 
CRYPTO ENG ....no such
Flash bankwidth 1, base ff800000, size 400000
KUROBOX FLASH size 4096[KB]

  Marvell Development Board (LSP Version 1.10.3.patch5_DB_NAS)-- KUROBOX_BOARD_KUROBOX  Soc: 88F5182 A2

 Detected Tclk 166664740 and SysClk 250000000 
Marvell USB EHCI Host controller #0: c04e4b00
Marvell USB EHCI Host controller #1: c04e4a40
pexBarOverlapDetect: winNum 2 overlap current 0
mvPexInit:Warning :Bar 2 size is illigal
it will be disabled
please check Pex and CPU windows configuration
PCI: bus0: Fast back to back transfers enabled
PCI: bus1: Fast back to back transfers enabled
SCSI subsystem initialized
usbcore: registered new driver usbfs
usbcore: registered new driver hub
Use the XOR engines (offloading) for enhancing the following functions:
  o RAID 5 Xor calculation
  o kernel memcpy
  o kenrel memzero
  o copy user to/from kernel buffers
Number of XOR engines to use: 2
cesadev_init(c00122e4)
Fast Floating Point Emulator V0.9 (c) Peter Teichmann.
inotify device minor=63
JFFS2 version 2.2. (NAND) (C) 2001-2003 Red Hat, Inc.
SGI XFS with no debug enabled
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
ttyS0 at MMIO 0x0 (irq = 3) is a 16550A
ttyS1 at MMIO 0x0 (irq = 4) is a 16550A
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered
RAMDISK driver initialized: 3 RAM disks of 32768K size 1024 blocksize
loop: loaded (max 8 devices)
Marvell Gigabit Ethernet Driver 'egiga':
  o Ethernet descriptors in DRAM
  o DRAM SW cache-coherency
  o Checksum offload enabled
  o Loading network interface ** egiga_init_module (10)
'eth0' 
Intergrated Sata device found
scsi0 : Marvell SCSI to SATA adapter
scsi1 : Marvell SCSI to SATA adapter
physmap flash device: 400000 at ff800000
CFI: Found no phys_mapped_flash device at location zero
Found: SST 39LF020
phys_mapped_flash: Found 1 x8 devices at 0x0 in 8-bit bank
phys_mapped_flash: Found an alias at 0x40000 for the chip at 0x0
phys_mapped_flash: Found an alias at 0x80000 for the chip at 0x0
phys_mapped_flash: Found an alias at 0xc0000 for the chip at 0x0
phys_mapped_flash: Found an alias at 0x100000 for the chip at 0x0
phys_mapped_flash: Found an alias at 0x140000 for the chip at 0x0
phys_mapped_flash: Found an alias at 0x180000 for the chip at 0x0
phys_mapped_flash: Found an alias at 0x1c0000 for the chip at 0x0
phys_mapped_flash: Found an alias at 0x200000 for the chip at 0x0
phys_mapped_flash: Found an alias at 0x240000 for the chip at 0x0
phys_mapped_flash: Found an alias at 0x280000 for the chip at 0x0
phys_mapped_flash: Found an alias at 0x2c0000 for the chip at 0x0
phys_mapped_flash: Found an alias at 0x300000 for the chip at 0x0
phys_mapped_flash: Found an alias at 0x340000 for the chip at 0x0
phys_mapped_flash: Found an alias at 0x380000 for the chip at 0x0
phys_mapped_flash: Found an alias at 0x3c0000 for the chip at 0x0
number of JEDEC chips: 1
cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
RedBoot partition parsing not available
Debug nand_scan : nand_flash_ids[i].pagesize is exist
Debug nand_scan : mtd->erasesize=0x00020000
Debug nand_scan : mtd->oobblock=0x00000800
Debug nand_scan : mtd->oobsize=0x00000040
NAND device: Manufacturer ID: 0x20, Chip ID: 0xda (ST Micro NAND 256MiB 3,3V 8-bit)
Scanning device for bad blocks
Using static partition definition
Creating 3 MTD partitions on "nand_mtd":
0x00000000-0x00400000 : "uImage"
0x00400000-0x04400000 : "rootfs"
0x04400000-0x10000000 : "extra"
usbmon: debugs is not available
ehci_platform ehci_platform.4523: EHCI Host Controller
ehci_platform ehci_platform.4523: new USB bus registered, assigned bus number 1
ehci_platform ehci_platform.4523: irq 17, io mem 0x00000000
ehci_platform ehci_platform.4523: park 0
ehci_platform ehci_platform.4523: USB 0.0 initialized, EHCI 1.00, driver 10 Dec 2004
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
ehci_platform ehci_platform.16781: EHCI Host Controller
ehci_platform ehci_platform.16781: new USB bus registered, assigned bus number 2
ehci_platform ehci_platform.16781: irq 12, io mem 0x00000000
ehci_platform ehci_platform.16781: park 0
ehci_platform ehci_platform.16781: USB 0.0 initialized, EHCI 1.00, driver 10 Dec 2004
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
ohci_hcd: 2004 Nov 08 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
USB Universal Host Controller Interface driver v2.2
Initializing USB Mass Storage driver...
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.01:USB HID core driver
mice: PS/2 mouse device common for all mice
md: raid0 personality registered as nr 2
md: raid1 personality registered as nr 3
md: raid5 personality registered as nr 4
raid5: measuring checksumming speed
   arm4regs  :   309.200 MB/sec
   8regs     :   217.600 MB/sec
   32regs    :   252.400 MB/sec
raid5: using function: arm4regs (309.200 MB/sec)
md: md driver 0.90.1 MAX_MD_DEVS=256, MD_SB_DISKS=27
Buffalo Platform Linux Driver(Light) 0.01 installed.
MICON ctrl (C) BUFFALO INC. V.1.00 installed.
Kernel event proc (C) BUFFALO INC. V.1.00 installed.
MICON V2 (C) BUFFALO INC. V.1.00 installed.
NET: Registered protocol family 2
IP: routing cache hash table of 1024 buckets, 8Kbytes
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
NET: Registered protocol family 1
NET: Registered protocol family 17
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
Empty flash at 0x00df85f8 ends at 0x00df8800
VFS: Mounted root (jffs2 filesystem).
Freeing init memory: 112K
jffs2_get_inode_nodes(): Data CRC failed on node at 0x01dc1308: Read 0xca66d714, calculated 0xc26a5721
eth0: link down
eth0: link up<5>, full duplex<5>, speed 1 Gbps<5>


File Structure

http://www.kurobox.com/mwiki/images/b/b4/Kuroboxprofilestructure.txt

Uboot Settings

Marvell>> printenv At the time of Flash starting

baudrate=115200
loads_echo=0
ipaddr=192.168.11.150
serverip=192.168.11.1
rootpath=/nfs/arm
cpuName=926
CASset=min
MALLOC_len=4
bootargs_end=:::DB88FXX81:eth0:none
ethact=egiga0
ethaddr=00:16:01:A4:C2:4A
buffalo_ver=BOOTVER=1.091
build_time=15:59:38
initrd=initrd.buffalo
kernel=uImage.buffalo
bootargs_base=console=ttyS0,115200
bootargs_root=root=/dev/mtdblock2 rw panic=5
bootargs=$(bootargs_base) $(bootargs_root) $(buffalo_ver)
nand_uImage_offset=20000
default_kernel_addr=0x00100000
default_initrd_addr=0x02000000
def_tftp=tftp $(default_kernel_addr) $(kernel); tftp $(default_initrd_addr) $(initrd); setenv bootargs $(bootargs_base) $(bootargs_root)  rw initrd=0x02000040,20M panic=5 $(buffalo_ver); bootm $(default_kernel_addr) $(default_initrd_addr)
nand_boot=yes
stdin=serial
stdout=serial
stderr=serial
enaMonExt=no
enaFlashBuf=yes
enaCpuStream=no
ethprime=egiga0
bootdelay=3
disaMvPnp=no
overEthAddr=no
usb0Mode=host
usb1Mode=host
force_tftp=1
bootcmd=tftp $(default_kernel_addr) $(kernel); tftp $(default_initrd_addr) $(initrd); setenv bootargs $(bootargs_base) $(bootargs_root)  rw initrd=0x02000040,20M panic=5 $(buffalo_ver); bootm $(default_kernel_addr) $(default_initrd_addr)

Environment size: 1192/4092 bytes

Marvell>> printenv At the time of HDD starting

baudrate=115200
loads_echo=0
ipaddr=192.168.11.150
serverip=192.168.11.1
rootpath=/nfs/arm
cpuName=926
CASset=min
MALLOC_len=4
bootargs_end=:::DB88FXX81:eth0:none
ethact=egiga0
ethaddr=00:16:01:A4:C2:4A
buffalo_ver=BOOTVER=1.091
build_time=15:59:38
initrd=initrd.buffalo
kernel=uImage.buffalo
bootargs_base=console=ttyS0,115200
bootargs_root=root=/dev/sda2 rw panic=5
bootargs=console=ttyS0,115200 root=/dev/sda2 rw panic=5 BOOTVER=1.09
nand_uImage_offset=20000
default_kernel_addr=0x00100000
default_initrd_addr=0x02000000
def_tftp=tftp $(default_kernel_addr) $(kernel); tftp $(default_initrd_addr) $(initrd); setenv bootargs $(bootargs_base) $(bootargs_root)  rw initrd=0x02000040,20M panic=5 $(buffalo_ver); bootm $(default_kernel_addr) $(default_initrd_addr)
nand_boot=no
stdin=serial
stdout=serial
stderr=serial
enaMonExt=no
enaFlashBuf=yes
enaCpuStream=no
ethprime=egiga0
bootdelay=3
disaMvPnp=no
overEthAddr=no
usb0Mode=host
usb1Mode=host
force_tftp=1
bootcmd=tftp $(default_kernel_addr) $(kernel); tftp $(default_initrd_addr) $(initrd); setenv bootargs $(bootargs_base) $(bootargs_root)  rw initrd=0x02000040,20M panic=5 $(buffalo_ver); bootm $(default_kernel_addr) $(default_initrd_addr)

Environment size: 1197/4092 bytes

References