Hardware/ARMEBS/3/DebianQuickStart
|
Debian quick start
How to install Debian on the ARMEBS3 - a quick start guide
- Supported hardware
- Ethernet (10/100 MBit/s)
- USB
- HID: tested with keyboard and mouse
- storage: usb stick or hard drive
- Video frame buffer (MEZZA_LCD)
- by default, the video output is on the VGA output (change by command line)
- X and KDE should work using the fbdev driver ([attachment:wiki:Files:xorg.conf /etc/xorg/xorg.conf])
- Mezza_lcd_keyboard
- Serial ports (/dev/ttyS0 and /dev/ttyS1)
- Buttons are seen as keyboard events
- Leds
- led 0 blinks at 1Hz and led 1 is the cpu usage
- leds functions are runtime configurable using the sys interface
- SD/MMC
- at least storage
- Compact flash
- storage only
Get all the necessary hardware and host software
- An ARMEBS3
- 5V power supply, minimum 1A
- u-boot revision MUST be >=915
- Ethernet 10 or 100 MBit/s + internet connectivity (for packages retieval)
- Storage
- >= 256Mo
- USB or Compact flash (-> not tested with mmc/sd)
- A computer
- RS232, terminal emulator, 115200 bps, 8 data bits no parity
- for the network install method: network connectivity and tftp server (for win32: [attachment:wiki:Files:tftpsrv.exe?format=raw tftpsrv.exe])
- for the usb install method: an usb port
1) Get all the necessary files
You need 2 files:
1) The Linux kernel for the armebs3, you can compile your own or use this one: Linux-Kernel
2) The debian installer initial ram-disk (d-i stands for debian-installer).
- Here is a tested version : d-i.img
- You can build you own
- The latest installer can be found here : http://people.debian.org/~joeyh/d-i/armel/images/daily/iop32x/netboot/initrd.gz
- Then it must be converted into an u-boot image, using mkimage mkimage
mkimage -A arm -T ramdisk -C gzip -O Linux -d initrd.gz -n "debian-testing" d-i.img
2) Transfer the files to the ARMEBS3
2 variants:
2.a Using the network
2.a.1 Setup the tfp server of your choice on your host machine (here is a tftp server for win32: download)
2.a.2 Copy uImage and d-i.img into the tftp server directory
2.a.3a using DHCP : Load them into ARMEBS3 ram, using the u-boot shell
set serverip YOUR_SERVER_IP bootp 0x21000000 uImage ; bootp 0x23000000 d-i.img
2.a.3b using fixed IP address : Load them into ARMEBS3 ram, using the u-boot shell
set ipaddr YOUR_ARMEBS3_IP set serverip YOUR_SERVER_IP tftpboot 0x21000000 uImage ; tftpboot 0x23000000 d-i.img
2.b) Using an USB (flash-)drive
2.b.1 Format the USB drive in FAT16
2.b.2 Copy uImage and d-i.img into the USB drive
2.b.3 Plug the drive into an USB port of the ARMEBS3 (This will probably work better if nothing else is connected to the USB ports).
usb start ; fatload usb 0 0x21000000 uImage ; fatload usb 0 0x23000000 d-i.img
3) Flash the kernel
The same kernel will be used for running the installer and for running the debian system. 3.1 Erase the flash
erase 0x10060000 +0x200000 cp.b 0x21000000 0x10060000 0x200000
3.2a Setup the kernel command line for debian, and make sure debian will be started at next reset (Your filesystem will be on the USB drive).
set bootcmd bootm 0x10060000 set bootargs "console=ttyS0,115200 root=/dev/sda1 rootdelay=5" save
3.2b Setup the kernel command line for debian, and make sure debian will be started at next reset (Your filesystem will be on the compact flash)
set bootcmd bootm 0x10060000 FIXME set bootargs "console=ttyS0,115200 root=/dev/hda1 rootdelay=5" save
4) run the installer
4.1 Set the kernel command line for running the installer, don't save it, this is only for the installer!
set bootargs "console=ttyS0,115200 root=/dev/ram"
4.2 Run the installer
bootm 0x21000000 0x23000000
5) Inside d-i
5.1 Plug the device which will hold the fileystem (USB or compact flash)
5.2 Choose the hostname.
5.3 Choose the domain name.
5.4 Setup a password for remote install (you need to enter a password, even if you continue the install over the serial port).
5.5 Either connect using ssh or continue with the serial port.
5.6 Choose the mirror + proxy.
5.7 Debian does not manage our kernel, so choose "Contiue the install without loading kernel module? -> yes".
5.8 Choose the l18n, if you choose something else than C or english, I can't help you anymore.
5.9 Choose the region (this is very important, since this will choose the time zone!).
5.11 Ignore the complaint about the default type of partition and about LVM (logical volume manager), you probably don't want to run sofware RAID on an armebs3.
5.12 Do the partitioning manually, use the whole media (USB or compact flash) as /, formated in ext3, without swap.
5.13 Ignore complaints about no swap, write to disk and format.
5.14 Ignore complaints about no kernel, continue.
5.15 Choose standard system, wait for the installer to finish
5.16 reboot and enjoy ;)
- on the armebs3 run:
- copy kernel to flash
erase 0x10060000 +0x200000 cp.b 0x21000000 0x10060000 0x200000
- on next reboot use the flashed kernel
set bootcmd "bootm 0x10060000"
- setup kernel command line for the debian final system ("root=/dev/hda1" for cf, "root=/dev/uba1 rootdelay=5" for usb)
- for booting with the console on the serial port:
- setup kernel command line for the debian final system ("root=/dev/hda1" for cf, "root=/dev/uba1 rootdelay=5" for usb)
set bootargs "console=ttyS0,115200 root=/dev/hda1 rw video=s1d13x06fb:lcd,mode:640x480-8"
- for booting with the console on the mezza_lcd+lcd (requieres an usb keyboard):
set bootargs "console=tty root=/dev/hda1 rw video=s1d13x06fb:lcd,mode:640x480-8"
- don't forget that:
save
Starting the installer
- on the armebs3 run:
- installer on the serial port:
set bootargs "console=ttyS0,115200 root=/dev/ram0 ro ramdisk_size=16384 video=s1d13x06fb:lcd,mode:640x480-8 mirror/udeb/suite=etch mirror/suite=lenny" ; bootm 0x21000000 0x23000000
- installer on the mezza_lcd+lcd (requieres an usb keyboard):
set bootargs "console=tty root=/dev/ram0 ro ramdisk_size=16384 video=s1d13x06fb:lcd,mode:640x480-8 mirror/udeb/suite=etch mirror/suite=lenny" ; bootm 0x21000000 0x23000000
- installer on the mezza_lcd+crt (requieres an usb keyboard):
set bootargs "console=tty root=/dev/ram0 ro ramdisk_size=16384 video=s1d13x06fb:crt,mode:800x600-8 mirror/udeb/suite=etch mirror/suite=lenny" ; bootm 0x21000000 0x23000000
About mirror/udeb/suite & mirror/suite
- These are not kernel parameters.
- mirror/udeb/suite, tells the installer which files it must uses for the install process. At this time there is no lenny installer package, so it must be set to etch.
- mirror/suite tells the installer which version of the distribution must be installed, and we want lenny.
Follow the steps
- no more modules, no kernel, no bootloader, no swap
- Select a file system supported (compiled into) your kernel
- cat /proc/filesystems | grep -v nodev to have a list, don't even think about a Windows(tm) filesystem)
- When asked to reboot, select <back> and in the menu choose "execute a shell" and edit /etc/inittab file to enable login on the serial port.
chroot /target /bin/sh nano -w /etc/inittab ... # Example how to put a getty on a serial line (for a terminal) # T0:23:respawn:/sbin/getty -L ttyS0 115200 vt100 #T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100 ...
- ctrl-o for save, enter for confirm, ctrl-x for exit
- exit # from the chroot
- exit # from the shell
Cleanup unecessary files
- after reboot, login as root and do :
apt-get clean 171 Mo used