Difference between revisions of "Armel Debian for the Kurobox Pro - Manual install"
m (→Reboot and Change uboot settings) |
m (→Partitioning) |
||
Line 67: | Line 67: | ||
==Partitioning== | ==Partitioning== | ||
− | There are detailed instructions on partitioning in EM Mode<ref>[[Custom Partitions on the LS Pro]]</ref><ref>[http://www.tldp.org/HOWTO/Partition/fdisk_partitioning.html Linux Partition HOWTO - Partitioning with fdisk]</ref> or using Parted on an external workstation<ref>[[Resizing the system partition with parted magic live cd]]</ref>. We want to create the following partition scheme: | + | There are detailed instructions on partitioning in EM Mode<ref>[[Custom Partitions on the LS Pro]]</ref><ref name=fdisk>[http://www.tldp.org/HOWTO/Partition/fdisk_partitioning.html Linux Partition HOWTO - Partitioning with fdisk]</ref> or using Parted on an external workstation<ref>[[Resizing the system partition with parted magic live cd]]</ref>. We want to create the following partition scheme: |
{| class=wikitable | {| class=wikitable | ||
! Partition !! Type !! Size | ! Partition !! Type !! Size |
Revision as of 10:56, 12 July 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, 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
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)
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 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 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 [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. ~ #
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[11].
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
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[12]
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
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 [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
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.
Cross-compiling a kernel
Kernel-cross-compile-kurobox-pro
References
- ↑ (Towards) an armel root-fs image for Freelink
- ↑ 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
- ↑ Linux Partition HOWTO - Partitioning with fdisk
- ↑ Resizing the system partition with parted magic live cd
- ↑ Linux Partition HOWTO. Partitioning with fdisk
- ↑ KuroBoxPro: Default Settings