Armel Debian for the Kurobox Pro - Manual install
From NAS-Central Buffalo - The Linkstation Wiki
m (→Login) |
m (→What you will need) |
||
| Line 26: | Line 26: | ||
==What you will need== | ==What you will need== | ||
| - | Install using the native [[EM mode]] (or [[foonas]]-em if you have it) via command line (manually). You will need [[Serial port]]<ref> Serial Port [[SCON-KIT/ PRO quick manual | Use daughterboard]] or [[Add a Serial port to the ARM9 Linkstation| Use bottom Slot]]</ref> | + | Install using the native [[EM mode]] (or [[foonas]]-em<ref>[http://www.foonas.org/index.php/Foonas-em:TFTPBoot-kuropro Foonas Wiki:TFTPBoot kuropro]</ref> if you have it) via command line (manually). You will need [[Serial port]]<ref> Serial Port [[SCON-KIT/ PRO quick manual | Use daughterboard]] or [[Add a Serial port to the ARM9 Linkstation| Use bottom Slot]]</ref> |
access to have control over the [[:Category:UBoot|Uboot]] settings <ref>[[Kurobox Pro u-boot environment variable settings]]</ref>. 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. | access to have control over the [[:Category:UBoot|Uboot]] settings <ref>[[Kurobox Pro u-boot environment variable settings]]</ref>. 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. | ||
Revision as of 05:10, 23 June 2008
Contents |
Armel Debian on the KuroPro
Lenny-armel*-Debian rootfs image for testing available...[1]
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
- 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
What you will need
Install using the native EM mode (or foonas-em[2] if you have it) via command line (manually). You will need Serial port[3] access to have control over the Uboot settings [4]. 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[5]
- Serial port access
Installation
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 to your network (it would be best to use the 192.168.11.x subnet) 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 these files to the samba share
Log in to EM
Using a Kurobox that is booting into EM (the default) you should login first over the serial console
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. ~ #
Partitioning
There are detailed instructions on partitioning in EM Mode[6][7] or using Parted on an external workstation[8].
| 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].
Primary Partitions
$ fdisk /dev/sda 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
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
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)
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
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 $
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
Extract everything over to the Hard Drive
Log into the Kurobox using the default settings[10] and go to the directory that you transferred your files over to (likely /mnt/mtd)
cd /mnt/mtd
Mount Hard Drive
mkdir /mnt/sda1 mkdir /mnt/sda2 mount -t ext2 /dev/sda1 /mnt/sda1 mount -t ext3 /dev/sda2 /mnt/sda2
Move everything over
mv armel-lenny*.tgz /mnt/sda2 mv kernel_and_modules_for_debian*.tar.gz /mnt/sda2
Untar the rootfs
cd /mnt/sda2 tar -xvzf armel-lenny*.tgz tar -xvzf kernel_and_modules_for_debian*.tar.gz
Copy the uImage over Modules
cp /mnt/sda2/boot/* /mnt/sda1
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[11] 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
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
Post install
EM Mode Issues
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
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)'
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
Changing the hostname
nano /mnt/drive2/etc/hostname
Edit it to be something more KuroPro-ish, like kpro-armel.
Fstab
If you want some other setup, do so, but remember to adjust your /etc/fstab, and anything else that matters.
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.
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.
Depmod
Run depmod after cd-ing to the appropriate directory, so that any new modules are recognized.
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.
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
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.
References
- ↑ (Towards) an armel root-fs image for Freelink
- ↑ 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
- ↑ Custom Partitions on the LS Pro
- ↑ Linux Partition HOWTO - Partitioning with fdisk
- ↑ Resizing the system partition with parted magic live cd
- ↑ Linux Partition HOWTO. Partitioning with fdisk
- ↑ KuroBoxPro: Default Settings
- ↑ Kurobox Pro UBoot/Linux Console Message - bootup


