wiki:howto/Embedded

Version 31 (modified by Edwin Eefting, 14 years ago) (diff)

--

Installatie op embedded systeem via serial en PXE

pxe server op syn3

Fix pxelinux in /home/shares/tftp:

[Syn-3] root@kantoor2.datux.nl /home/shares/tftp# ls -l pxelinux.0
-rwxr-xr-x  1 root root 16794 Apr 12 11:14 pxelinux.0*

[Syn-3] root@kantoor2.datux.nl /home/shares/tftp# cat pxelinux.cfg/default
TIMEOUT 100
PROMPT 1
DEFAULT embedded
SERIAL 0 38400
DISPLAY boot.txt
LABEL embedded
        KERNEL embedded/bzImage
        APPEND initrd=embedded/initrd.gz net_server=gateway net_iso=embedded/install.iso sup console=ttyS0,38400 ro root=/dev/ram0 init=/linuxrc ramdisk_size=64000 text cdroot cdboot
LABEL embeddedboot
        KERNEL embedded/bzImage
        APPEND initrd=embedded/initrd.gz net_server=gateway net_iso=embedded/install.iso sup console=ttyS0,38400 ro root=/dev/ram0 init=/linuxrc ramdisk_size=64000 text
LABEL normal
        KERNEL normal/bzImage
        APPEND initrd=normal/initrd.gz net_server=gateway net_iso=normal/install.iso sup console=tty1 ro root=/dev/ram0 init=/linuxrc ramdisk_size=64000 cdroot cdboot text
LABEL normalboot
        KERNEL normal/bzImage
        APPEND initrd=normal/initrd.gz net_server=gateway net_iso=normal/install.iso sup console=tty1 ro root=/dev/ram0 init=/linuxrc ramdisk_size=64000 text
LABEL bko
        KERNEL gpxe.0

[Syn-3] root@kantoor2.datux.nl /home/shares/tftp# ls embedded/
bzImage  initrd.gz  install.iso

[Syn-3] root@kantoor2.datux.nl /home/shares/tftp# cat boot.txt

     _/_/_/  _/      _/  _/      _/            _/_/_/
   _/          _/  _/    _/_/    _/                  _/
    _/_/        _/      _/  _/  _/  _/_/_/_/_/  _/_/
       _/      _/      _/    _/_/                  _/
_/_/_/        _/      _/      _/            _/_/_/

                                   ENTERPRISE LINUX
                                   Network boot

Please choose your boot method below:
 embedded    Boot installer for embedded devices (serial 38400,8,n,1)
 normal      Boot installer for normal pc's
 bko         Boot via http://boot.kernel.org

Embedded kernel + init zitten in initrd_embedded en linux_embedded.

Iso is normale installer iso.

Zorg dat guest/guest-account bij tftp samba share kan.

Via SCC dhcp aanpassen zodat hij bootp doet en pxelinux.0 laad.

Installatie embedded ALIX kastje

Seriele connectie:

#  screen /dev/ttyS0 38400

Start het kastje en druk tijdens de mem-test 1x op 'n'.

Nu boot het kastje via de nieuwe pxe server.

Normale installer start en initrd moet ook bereikbaar zijn via telnet.

Installeer met de juiste waarden:

Use software RAID?	Yes
Root partition size:	1G
Swap partition size:	(blank)
Home partition size:	(blank)
Free space:	(blank)

Aanpassingen voor embedded kastje na install en 1e boot

Installeer linux_embedded en initrd_embedded

Pas grub aan:

[Syn-3] root@darkstar.example.net /boot/grub# cat menu.lst
serial --unit=0 --speed=38400
terminal serial
timeout 10
default saved

title Normal boot
 root (hd0,0)
 savedefault 0
 kernel /bzImage console=ttyS0,38400 root=/dev/ram0 init=/linuxrc ramdisk_size=64000
 initrd /initrd.gz

title Test new kernel
 root (hd0,0)
 savedefault 0
 kernel /bzImage.test console=ttyS0,38400 root=/dev/ram0 init=/linuxrc ramdisk_size=64000
 initrd /initrd.gz.test

title Use safemode kernel (use with caution!)
 root (hd0,0)
 savedefault 0
 kernel /bzImage.safe console=ttyS0,38400 root=/dev/ram0 init=/linuxrc ramdisk_size=64000
 initrd /initrd.gz.safe

Pas inittab aan om te kunnen inloggen als root via serial:

# Local serial lines:
s1:12345:respawn:/sbin/agetty -L ttyS0 38400 vt100

andere agetty's uitzetten.

afwerking

space en overbodige packages

removepkg jdk ocaml squid
touch /var/log/packages/ocaml.lock /var/log/packages/ocaml-1
touch /var/log/packages/jdk.lock /var/log/packages/jdk-1
touch /var/log/packages/squid.lock /var/log/packages/squid-1
removepkg postgresql mysql 
cd /var/log/packages
touch postgresql.lock postgresql-1
touch initrd-1 initrd.lock linux-1 linux.lock
removepkg initrd linux
rm -r /service/postgresql/
rm -r /service/squid/
touch grub-1 grub.lock
touch syn3_scripts.lock
touch webint.lock
rm -r /usr/share/doc/*
find / -name *.a -exec rm "{}" \;
find / -name *.la -exec rm "{}" \;

alix leds boven in rc.S:

( cd /sys/class/leds/alix\:2/ ; echo timer > trigger ; echo 500 > delay_on ; echo 500 > delay_off ) 2>/dev/null

alix leds in rc.apache_webint, voor start en na stop

( cd /sys/class/leds/alix\:2/ ; echo none > trigger ; echo 1 > brightness ) 2>/dev/null
...start...
( cd /sys/class/leds/alix\:2/ ; echo timer > trigger ; echo 200 > delay_on ; echo 200 > delay_off ) 2>/dev/null

alix led betekenis

alix firmware:

  • 3 leds aan: bios/pre-boot
  • 1e led aan: postbios, ready to boot

syn3 initrd:

  • 1e led word en blijft ide-led.
  • 3e led knippert: in initrd
  • 3e led knippert snel: in installer
  • 3e led aan: initrd klaar, start normale init

syn3 init:

  • 2e led knippert: begonnen met rc.S
  • 2e led aan: SCC gestart
  • 2e led knippert snel: SCC gestopt

Als alles goed is, branden dus de laatste 2 leds en is de 1e ide-led.

SYN-3 lichtbar op alix kastjes

Aansluiten:

  • Sluit de netwerk aansluiting aan waar de syn3 driekhoek naar wijst. (middelste)
  • Let op: 1 van de adapters past op beide apparaten!
  • Sluit eerst de adapter aan die alleen op het zwarte kastje past.
  • Sluit de andere adapter aan op de lichtkrant.
  • Sluit de seriele kabel tussen het kastje en de lichtbar aan.
  • Schakel nu de power in op beide aparaten: wacht enige minuten af totdat het IP getoond word op de lichtbar. (het kastje krijgt zn ip via dhcp)
  • Een SYN-3 medewerker helpt u mee het kastje af te configureren.

Asterisk lichtkrant status

De configuratie van de lichtkrant status vind u in /service/apef/apef-config.php

Hierna apef restarten. De connectie status word getoond op de lichtbar.