Armel Debian for the Kurobox Pro - Manual install
From Buffalo NAS-Central
Contents |
[edit] Armel Debian on the KuroPro
Lenny-armel*-Debian rootfs image for testing available...[1]
[edit] Features
- Enough Debian to get you up and running, with ssh access and scp for easy file tranfer in & out of the box
- 2.6.25+ kernel w/ a fairly wide variety of modules, courtesy of foonas/OE/bitbake, or you could cross-compile your own[2]
- Built-in kernel support for ext2/3, jfs & reiserfs
- micro_evtd (fan & temperature control, LED's, buttons)
- u-boot utils (fw_{print|set}env)
- no initrd
[edit] What you will need
Install using the native EM mode (or foonas-em[3] if you have it) via command line (manually). You will need Serial port[4] access to have control over the Uboot settings [5]. Serial access will provide a safety net, it is strongly suggested that you have serial access already, and you know how to safely change uboot env vars. It is not a good idea to try to install this without understanding completely, get into a problem, and then try to get serial access and try to learn this. Note that for Buffalo's stock U-Boot, if you change bootcmd from the default values, you will have to either edit them w/ fw_setenv while in foonas-em, or use serial access and reset them all to defaults.
Prerequisites:
- KuroboxPro (of course)
- SATA Hard Drive (bigger is better) installed[6]
- Serial port access (one of the following)
[edit] Installation
[edit] Get it
| Another Archive |
| Another Lenny drop of Debian for the LS PRO also exists at: downloads: ALL_ARM9/ARMel Lenny |
- Connect up the blank unformatted hard drive
- Connect ethernet to your network (it would be best to use the 192.168.11.x subnet)
- Connect serial cable for serial console and power on.
- Access the Samba share on the Kurobox Pro named mtd_device, the flash memory is available via Samba with the native EM mode at:
| smb://kuroip/mtd_device |
- Download the archive and updated Kernel/modules and Copy over to the samba share
[edit] Log in to EM
Using a Kurobox that is booting into EM (the default) you should login first over the serial console [7]
KUROBOX-PRO login: root Password: kuroadmin login[756]: root login on `ttyS0' BusyBox v1.1.1 (2007.04.06-12:02+0000) Built-in shell (ash) Enter 'help' for a list of built-in commands. ~ #
[edit] Partitioning
There are detailed instructions on partitioning in EM Mode[8][9] or using Parted on an external workstation[10]. We want to create the following partition scheme:
| Partition | Type | Size |
|---|---|---|
| /dev/sda1 | ext2 | 100M |
| /dev/sda2 | ext3 | 10,000M |
| /dev/sda4 | W95 Ext'd (LBA) | REST |
| /dev/sda5 | swap | 512M |
| /dev/sda6 | ext3 | REST |
You could pretty much follow this guide keystroke for keystroke to do it. It is suggested that you read the man pages for fdisk & read up on it, as well[9].
[edit] Primary Partitions
Start up fdisk
fdisk /dev/sda
And use the following commands
Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-30401, default 1): <enter> Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-30401, default 30401): +100MB Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 2 First cylinder (124-30401, default 124): <enter> Using default value 124 Last cylinder or +size or +sizeM or +sizeK (124-30401, default 30401): +10GB
[edit] Extended Partitions
Command (m for help): n Command action e extended p primary partition (1-4) e Partition number (1-4): 4 First cylinder (1341-30401, default 1341): <enter> Using default value 1341 Last cylinder or +size or +sizeM or +sizeK (1341-30401, default 30401): <enter> Using default value 30401 Command (m for help): n Command action l logical (5 or over) p primary partition (1-4) l First cylinder (1341-30401, default 1341): Using default value 1341 Last cylinder or +size or +sizeM or +sizeK (1341-30401, default 30401): +512MB Command (m for help): n Command action l logical (5 or over) p primary partition (1-4) l First cylinder (1404-30401, default 1404): <enter> Using default value 1404 Last cylinder or +size or +sizeM or +sizeK (1404-30401, default 30401): <enter> Using default value 30401
[edit] Change sda5 to Swap
The default type of partition is Ext3 (83), so we only need to change the type on partition 5, to Swap (82).
Command (m for help): t Partition number (1-7): 5 Hex code (type L to list codes): 82 Changed system type of partition 5 to 82 (Linux swap)
[edit] Print the partition map
To see that it is what we want
Command (m for help): p Disk /dev/sda: 250.0 GB, 250059350016 bytes 255 heads, 63 sectors/track, 30401 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 1 123 987966 83 Linux /dev/sda2 124 1340 9775552+ 83 Linux /dev/sda4 1341 30401 233432482+ 5 Extended /dev/sda5 1341 1403 506016 82 Linux swap /dev/sda6 1404 30401 223150851 83 Linux
[edit] Write the partitions to the hard drive
Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table
[edit] Create Filesystems
Once you are done w/ making partitions, create the filesystems on them. We will assume you created exactly the partition above. Do the following:
mkfs.ext2 /dev/sda1 mkfs.ext3 /dev/sda2 mkswap /dev/sda5 mkfs.ext3 /dev/sda6
[edit] Extract everything over to the Hard Drive
Log into the Kurobox using the default settings[11]
| Kurobox PRO | |
| IP Settings |
|
| Date and Time |
|
| Serial Settings |
|
| Root access |
|
| SWAT |
|
| Samba Share Folder |
|
and go to the directory that you transferred your files over to (likely /mnt/mtd)
cd /mnt/mtd
[edit] Mount Hard Drive
mkdir /mnt/sda1 mkdir /mnt/sda2 mount -t ext2 /dev/sda1 /mnt/sda1 mount -t ext3 /dev/sda2 /mnt/sda2
[edit] Move everything over
mv armel-lenny*.tgz /mnt/sda2
[edit] Untar the rootfs
cd /mnt/sda2 tar -xvzf armel-lenny*.tgz
[edit] Copy the uImage over Modules
cp /mnt/sda2/boot/* /mnt/sda1
[edit] Reboot and Change uboot settings
reboot
The final step is to modify your uboot environment to boot into the rootfs (Debian). Interrupt uboot over the serial console [7] and type the following to configure your Kurobox Pro to boot from the hard disk with the new kernel:
setenv bootcmd 'ide reset; ext2load ide 0:1 0x00100000 /uImage; setenv bootargs console=ttyS0,115200 root=/dev/sda2 rw ; bootm 0x00100000' saveenv boot
[edit] Login
Reboot and use ssh to login to your newly Debianized KuroBox Pro with an SSH session. In windows PuTTY is a good client. Networking is set up for static ip.
Open an SSH session to:
- Static IP: 192.168.11.50
Login with:
- login:root
- password: armel
[edit] Post install
[edit] EM Mode Issues
[edit] Can't Set UBoot Env Vars Because of the 16-arg Limit?
Buffalo gave us a UBoot that has some shortcomings...including the 16-arg limit... While in foonas-em, set bootcmd with fw_setenv, which gets around this limit, by executing the following:
fw_setenv bootcmd 'ide reset; ext2load ide 0:1 0x00100000 /uImage; setenv bootargs console=ttyS0,115200 root=/dev/sda2 rw ; bootm 0x00100000'
Executing the following will allow you to see if you were successful:
fw_printenv bootcmd
[edit] Original EM Mode
By the way, the command set to get it to boot from the flash (like it was originally) should you ever want to is:
setenv default_kernel_addr 0x00100000 setenv bootargs_base console=ttyS0,115200 setenv bootargs_root root=/dev/mtdblock2 rw setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver) setenv uImage_block 0 setenv uImage_offset 0x00020000 setenv bootcmd 'nboot $(default_kernel_addr) $(uImage_block) $(uImage_offset); bootm $(default_kernel_addr)'
[edit] Foonas EM
Should you be doing this from foonas EM (and have fw_setenv installed):
To get to foonas-em from debian:
fw_setenv bootcmd ide reset \; ext2load ide 0:1 0x00100000 /boot/uImage \; setenv bootargs console=ttyS0,115200 \;nboot 0x00100000 0 0x01000000 \; bootm 0x00100000; reboot
[edit] Changing the hostname
nano /mnt/drive2/etc/hostname
Edit it to be something more KuroPro-ish, like kpro-armel.
[edit] Fstab
If you want some other setup, do so, but remember to adjust your /etc/fstab, and anything else that matters.
[edit] Dhcp
If necessary, adjust /etc/network/interfaces to your network and your needs, either static or dhcp. By default, it is set for a 192.168.11.0 network, with an IP of 192.168.11.50. It currently reads as follows:
# we always want the loopback interface
#
auto lo
iface lo inet loopback
# default dynamic setup (no adjustment necessary)
#
#
# auto eth0
# iface eth0 inet dhcp
# hostname `hostname`
#
# default static setup (adjust to your network settings)
#
auto eth0
iface eth0 inet static
address 192.168.11.50
netmask 255.255.255.0
broadcast 192.168.255.255
network 192.168.11.0
gateway 192.168.11.1
You may also need to check your etc/resolv.conf contents and adjust them to your network and ISP.
[edit] Netcat
Kernel has netcat/nc capability, so you can monitor part of the boot process that way without needing any serial connection. Also excellent with netconsole-enabled u-boot.
[edit] Depmod
Run depmod after cd-ing to the appropriate directory, so that any new modules are recognized.
[edit] Foonas-em
Option: (highly suggested!) : add a foonas-em on some read-only partition (like sda1 in the default setup) so you have an em-image to fall back on. Also, consider learning how to tftp-boot into foonas-em, procedure shown here.
[edit] Samba tuning
Filesharing : for faster samba, include in /etc/samba/smb.conf - [global]:socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=4096 SO_SNDBUF=8192
[edit] Problems?
Problems? This is not a supported distro - just a test run. If you see problems and can relay a solution back, that would be great. If you see problems but can't give a fix, that's appreciated also.
[edit] Cross-compiling a kernel
Cross compile your own kernel and modules for the Kurobox Pro with whatever modules you like[2]
Kernel-cross-compile-kurobox-pro
[edit] References
- ↑ (Towards) an armel root-fs image for Freelink
- ↑ 2.0 2.1 Kernel-cross-compile-kurobox-pro
- ↑ Foonas Wiki:TFTPBoot kuropro
- ↑ Serial Port Use daughterboard or Use bottom Slot
- ↑ Kurobox Pro u-boot environment variable settings
- ↑ KuroboxPro User's Guide in English
- ↑ 7.0 7.1 Kurobox Pro UBoot/Linux Console Message - bootup
- ↑ Custom Partitions on the LS Pro
- ↑ 9.0 9.1 Linux Partition HOWTO - Partitioning with fdisk
- ↑ Resizing the system partition with parted magic live cd
- ↑ KuroBoxPro: Default Settings
Categories: All Pages | Howto | KuroboxPro | FreeLink | Debian

