In einem Forum bin ich günstig an ein neues Spielzeug gekommen. In diesem Fall ist es eine Alix 2d13 von PC Engines.
Das Board hat zwar schon einige Jahre auf dem Buckel, ist aber dennoch sparsam und für meine Zwecke als Ersatzfirewall ausreichend. Mit dabei war netterweise noch ein Gehäuse und ein Netzteil, sodass das Gerät passiv gekühlt in einem schicken Metallkistchen in der Ecke stehen kann. Ebenfalls mit an Board ist Support für POE (Power Over Etherner), sodass das Netzteil ganz entfallen könnte, hätte ich einen passenden Switch.
Naja und wenn man etwas neu bekommt, dann guckt man ja eigentlich direkt, ob man das Gerät mit der neusten Firmware versorgen kann, bevor es in Betrieb geht. Zumal ich bei dem Alter schon davon ausging, dass da bereits lange nichts mehr Neues angeboten wird. Glücklicherweise habe ich falsch gedacht. Alleine das Changelog zeigt, dass die Boards auch Jahre nach ihrem Erscheinen noch immer gepflegt werden – auch wenn schon ein deutlich potenterer Nachfolger (z.B. APU2C4 – Specs) auf dem Markt ist.
Hier ein kleines Log, wie man das BIOS Upgrade vornimmt.
Bios update
Als erstes brauchen wir das passende Image. PC Engines hat eine Supportseite für Boards der ALIX 2 Familie: http://www.pcengines.ch/alix2.htm. Da ich z.B. nur eine CF Karte zur Hand hatte, habe ich zuerst das BIOS aufgespielt (Version 0.99m aus 2014), dann erst die Firewalldistribution.
Das BIOS-Image nämlich auf die CF-Karte geschrieben werden und würde in diesem Fall meine bisherige Installation zerstören.
CF Disk vorbereiten
dd if=freedos_alixupdate_0.99.img of=/dev/sde bs=4M
1+1 Datensätze ein
1+1 Datensätze aus
8225280 bytes (8,2 MB, 7,8 MiB) copied, 1,29117 s, 6,4 MB/s
Vorher:
Festplatte /dev/sde: 485,8 MiB, 509386752 Bytes, 994896 Sektoren
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Festplattenbezeichnungstyp: dos
Festplattenbezeichner: 0x00000000
Gerät Boot Anfang Ende Sektoren Größe Kn Typ
/dev/sde1 * 1 16383 16383 8M 83 Linux
/dev/sde2 16384 77823 61440 30M 83 Linux
/dev/sde4 77824 993279 915456 447M 83 Linux
Nachher:
Festplatte /dev/sde: 485,8 MiB, 509386752 Bytes, 994896 Sektoren
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Festplattenbezeichnungstyp: dos
Festplattenbezeichner: 0x00000000
Gerät Boot Anfang Ende Sektoren Größe Kn Typ
/dev/sde1 * 63 31359 31297 15,3M 6 FAT16
Changes:
ALIX tinyBIOS revision history
——————————v0.99 pd 071210 Setup: changed description from Etherboot to PXE boot
v0.98j pd 071206 Setup: add late PCI init option to support
FPGA based miniPCI cards that take a long time
to wake up… (symptom: no interrupt assigned)v0.98h pd 071203 Change to BIOS controlled PXE module
v0.98g pd 071126 Fix CS5536 serial port flow control
v0.98f pd 071126 Disable audio section
v0.98e pd 071125 Serial console: allow Int 14 init to disable interrupt.
Setup: add UDMA optionv0.98d pd 071115 Setup: change HDD slave to V (avoid accidental change)
Setup: add MFGPT workaround optionv0.98c pd 071113 Alternate version without MFGPT reset
v0.98b pd 071101 Fix UART initialization
v0.98 pd 071031 Skip DLL status check
v0.97 pd 071026 Back to 400 MHz DRAM clock for ALIX.3*2
v0.96 pd 071025 Always do HDD wait if enabled
v0.95 pd 071024 Use 333 MHz DRAM clock for ALIX.3*2
v0.94 pd 071023 Force MFGPT timer reset (undocumented MSR 5140002B per
workaround in AMD Linux driver)Fixed a bug in PCI BIOS find device function
Auto detect DRAM clock to set correct refresh interval
v0.93 pd 071021 Add port 92 reset support
Setup: add 19200 baud option
v0.92 pd 071003 Add HDD wait option, adds some delay to allow
detection of conventional HDDs.Disable CS5536 diverse device power management
to avoid MFGPT / interrupt issues.MFGPT issues: please observe AMD CS5536 data book
section 5.16.3, incorrect initialization sequence
will HANG the system.v0.90 pd 070925 Remap audio and USB interrupts to offload regular
PCI interrupts.IRQ7 is no longer directed to the LPC bus, used
as a default interrupt for MFGPT high resolution timer.Implement BIOS setup. Press S during memory test
to enter.Add UMB (upper memory block) support.
Upgradevorgang:
Hier ein Mitschnitt von Minicom:
PC Engines ALIX.2 v0.99h
640 KB Base Memory
261120 KB Extended Memory
01F0 Master 044A TRANSCEND
Phys C/H/S 987/16/63 Log C/H/S 987/16/63
……………………………………………………………………………….123FreeDOS kernel build 2036 cvs [version Aug 18 2006 compiled Aug 18 2006]
Kernel compatibility 7.10 – WATCOMC – 80386 CPU required – FAT32 support
(C) Copyright 1995-2006 Pasquale J. Villani and The FreeDOS Project.
All Rights Reserved. This is free software and comes with ABSOLUTELY NO
WARRANTY; you can redistribute it and/or modify it under the terms of the
GNU General Public License as published by the Free Software Foundation;
either version 2, or (at your option) any later version.
– InitDiskWARNING: using suspect partition Pri:1 FS 06: with calculated values 31-1-49 instead of 1-242-49
C: HD1, Pri[ 1], CHS= 0-1-1, start= 0 MB, size= 15 MB
FreeDOS HIMEM64 3.26 [Aug 25 2006] (c) 1995, Till Gerken 2001-2006 tom ehlert
HIMEM – Always On A20 method used
Kernel: allocated 43 Diskbuffers = 22876 Bytes in HMA
FreeCom version 0.84-pre2 XMS_Swap [Aug 28 2006 00:29:00]
C:\>sb.com
ALIX flash update (C)2007 PC Engines GmbH
Flash ID = 1 FFFF GPI = FF
Flash ID = 0 9D37 GPI = 01
Reading 512KB flash image alix1.bin…………….
Compare Erase Program Verify – update OK.
C:\>
*Neustart*
PC Engines ALIX.2 v0.99
640 KB Base Memory
153603174448128645128089697280113664130048146432162816179200195584211968228352244736261120 KB Extended Memory
01F0 Master 044A TRANSCEND
Phys C/H/S 987/16/63 Log C/H/S 987/16/63
BIOS setup:
(9) 9600 baud (2) 19200 baud *3* 38400 baud (5) 57600 baud (1) 115200 baud
*C* CHS mode (L) LBA mode (W) HDD wait (V) HDD slave (U) UDMA enable
(M) MFGPT workaround
(P) late PCI init
*R* Serial console enable
(E) PXE boot enable
(X) Xmodem upload
(Q) Quit
(9) 9600 baud (2) 19200 baud (3) 38400 baud (5) 57600 baud *1* 115200 baud
*C* CHS mode (L) LBA mode (W) HDD wait (V) HDD slave (U) UDMA enable
(M) MFGPT workaround
(P) late PCI init
*R* Serial console enable
(E) PXE boot enable
(X) Xmodem upload
(Q) Quit
Save changes Y/N ?
Writing setup to flash… OK
nâb.*WqÔEî“bþñÙ“ÿU3ÿÝu]ÿÙTÿ“õDõÙÄ÷ÙÔ÷Ù3õUü³õÍ÷ÙÌ÷Ù3ª&“Ýþñ+³.Dæ·F“DD“DD“DÄÿì1ãõuwôb1ãõuwñýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýó.îbãn“îg“sãnÿÇjLqD1~“ºLqDýn“ÿn3³SÄq*\ª*1n;n“äêÄææQÕ?3¢ÌUWD*w»tq»;lFos“æïÝw¢#.æbd3qd“?înbÆ.;l[o¢ô“ª25ìnâæn“ÆŠsü~3Æç.öä.ãFïQo&o;Uö£³ïìäö{F*öd“?înfçªßÑ;.nÿGFQüÆæ_b³»Fî»]“:æÿ¢ªÅ¿âs3n~»d31#Tv&ïo“n.Ä»;î“F;uUQ+;u#UÅDQl³D*ÑìïÄQýæb£ªÝLwüßÄqDíQ³~Çâ&DDþlo^U\¢3|l*Æ7ñoÅ“7″L²?æî\wM1»ãGñQîÖäî»DUu.ÿwƺDqDQTuÄñ«ýÿ
PC Engines ALIX.2 v0.99
640 KB Base Memory
261120 KB Extended Memory
01F0 Master 044A TRANSCEND
Phys C/H/S 7899/16/63 Log C/H/S 987/128/63
GRUB loading..
GNU GRUB version 2.00
+————————————————————————–+||||||||||||||||||||||||+————————————————————————–+
Use the ^ and v keys to select which entry is highlighted.
Press enter to boot the selected OS, `e‘ to edit the commands
before booting or `c‘ for a command-line.
IPFire 2.17 (i586) – core97 GNU/Linux Advanced options for IPFire 2.17 (i586) – core97 GNU/Linux The highlighted entry will be executed automatically in 5s.
The highlighted entry will be executed automatically in 4s.
Loading Linux 3.14.57-ipfire …
Loading initial ramdisk …
Initializing cgroup subsys cpuset
Initializing cgroup subsys cpu
Initializing cgroup subsys cpuacct
Linux version 3.14.57-ipfire (root@helena.ipfire.org) (gcc version 4.4.7 (GCC) ) #1 SMP Thu Jan 28 16:21:50 GMT 2016
e820: BIOS-provided physical RAM map:
BIOS-e820: [mem 0x0000000000000000-0x000000000009ffff] usable
BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
BIOS-e820: [mem 0x0000000000100000-0x000000000fffffff] usable
BIOS-e820: [mem 0x00000000fff00000-0x00000000ffffffff] reserved
Notice: NX (Execute Disable) protection missing in CPU!