KuroBoxPro
Contents
Kuro Box Pro International Main Page
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: AC110V (Internal) Output: Max.25W (5V 1.5A, 12V 1.5A) |
Note : Some Kurobox Pro are 110V and some are 100-240V compatible. Be carefull before using a Kurobox Pro with a 220V plug.
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 |
|
Date and Time |
|
Root access |
|
SWAT |
|
Samba Share Folder |
|
Switches
Power Switch
Outline | Software switch for switching the power on/off |
---|---|
Method for switching when power ON | Connect the power cable correctly, and hold down the power switch for 0.3 seconds when the power is OFF to start-up the system |
Method for forcing power OFF | When the power is on (possible even if the system is not started), hold down the switch for 9 seconds to force the power to switch OFF |
Initialize Switch
Outline | Switch for initializing the HDD |
---|---|
Method for initializing the HDD | After the system has started normally, hold down the initialize switch for 5 seconds to initialize and mount the internal HDD. |
Notes |
|
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].
- p1 : /boot (16MB)
- p2 : /rootfs (3GB)
- p4 : extend (others)
- p5 : swap (128MB)
- p6 : /share (others)
Buffalo Provided Developer System
- Connect up the blank unformatted hard drive and power on.
- Access the Samba share on the kurobox named mtd_device
- Copy over these files to the samba share from the provided CD-ROM
- hddrootfs.tar.gz (this file probably could be replaced with an alternate rootfs, see below)
- ChangeMeDevHDD
- ChangeMyUbootEnv
- uImage.buffalo
- Press the red init button on the back till it beeps
- 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
- Reboot System.
GenLink (Gentoo)
![]() |
I think you could use this method to install GenLink, although I'm not sure that 3GB is a large enough root file space
- Connect up the blank unformatted hard drive and power on.
- Access the Samba share on the kurobox named mtd_device
- Download the GenLink Tarball: http://downloads.nas-central.org/LSPro_ARM9/Distributions/Genlink/Rootfs/GenLink_arm9-1.0pre6-20070227.tar.bz2
- Then rename it to hddrootfs.tar.gz and copy it over to the Samba Share
- Copy over these files to the samba share from the provided CD-ROM
- Press the red init button on the back till it beeps
- The Info LED will flash and the drive will be partitoned and Genlink Installed
- Reboot System.
- Then follow the directions for the First boot of the new GenLink rootfs
FreeLink (Debian)
Japanese Kuro-Box Interface
Webserver
http://kuroip
gives
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 test
References
- Kurobox Pro specification document
- KuroboxPro User's Guide in English
- Kurobox Pro microprocessor interface specifications
- Debian on the Kurobox - Debian install
- Change of starting device (1)
- Marvell>> printenv At the time of Flash starting
- Marvell>> printenv At the time of HDD starting
- NAS-Central: GenLink
- NAS-Central: FreeLink for the Linkstation Pro
- KuroBox Pro GPL Sources
- KuroBox Photos
- PDF of SCION USB serial access kit -SCION USB serial access kit