Hardware/ARMEBS/3/DebianQuickStart

From UIT
Jump to: navigation, search

Contents

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).

 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:
 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
Personal tools
Namespaces
Variants
Actions
Navigation
Browse
Toolbox