mein Alix bootet nicht. Ich habe ein analoges Vorgehen zu
https://lists.spline.inf.fu-berlin.de/pipermail/fli4l/2008-March/203946.html
versucht. Mein Host ist openSuSE, Windows ist nicht vorhanden.
Folgendes habe ich gemacht:
(1) Editieren aller Config-Dateien. BOOT_TYPE='hd'.
(2) Ausfuehren vom mkfli4l.sh
(3) Anschliessen der CF-Karte ueber einen USB-Leser. Mounten
unter /media/KINGSTON. Das device ist /dev/sda1
(4) Ausfuehren von syslinux /dev/sda1 (als root)
(5) Kopieren der folgenden Dateien nach /media/KINGSTON
syslinux.cfg
rootfs.img
opt.img
rc.cfg
hd.cfg
Die Datei hd.cfg habe ich "von Hand" erstellt, sie enthaelt
hd_boot=sda1
(6) Zusammenbauen des Alix (2c3) und einschalten. Ich erhalte folgendes
ueber die serielle Console (der erste Versuch ohne gedrueckte S-Taste, der
zweite mit) (output via screen /dev/ttyS0 38400)
PC Engines ALIX.2 v0.99
640 KB Base Memory
261120 KB Extended Memory
01F0 Master 044A CF CARD 1GB
Phys C/H/S 1934/16/63 Log C/H/S 967/32/63
jPC Engines ALIX.2 v0.99
640 KB Base Memory
261120 KB Extended Memory
01F0 Master 044A CF CARD 1GB
Phys C/H/S 1934/16/63 Log C/H/S 967/32/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
Was habe ich falsch gemacht?
-Karl
Karl Weber wrote:
> Die Datei hd.cfg habe ich "von Hand" erstellt, sie enthaelt
>
> hd_boot=sda1
^^also mein Alix hat ja keinen SCSI-Controller...
Vielleicht erklärst Du kurz Deine Motivation, hier nicht hda1 zu verwenden.
> (6) Zusammenbauen des Alix (2c3) und einschalten. Ich erhalte folgendes
> ueber die serielle Console (der erste Versuch ohne gedrueckte S-Taste, der
> zweite mit) (output via screen /dev/ttyS0 38400)
>
> PC Engines ALIX.2 v0.99
> 640 KB Base Memory
> 261120 KB Extended Memory
>
> 01F0 Master 044A CF CARD 1GB
> Phys C/H/S 1934/16/63 Log C/H/S 967/32/63
> jPC Engines ALIX.2 v0.99
Also hier sollte dann syslinux anspringen. Evtl. nochmal überprüfen...
[..]
> (M) MFGPT workaround
^^hier hilft Dir evtl. [1]
hth, Christian
[1]
https://lists.spline.inf.fu-berlin.de/mailman/htdig/fli4l_dev/2008-January/024902.html
[...]
>
> (4) Ausfuehren von syslinux /dev/sda1 (als root)
Ich habe auch syslinux -s /dev/sda1 probiert, und in zeitlicher Reihenfolge
natuerlich (4) nach (5).
>
> (5) Kopieren der folgenden Dateien nach /media/KINGSTON
>
> syslinux.cfg
> rootfs.img
> opt.img
> rc.cfg
> hd.cfg
Hier fehlt auch noch kernel.
>
> Die Datei hd.cfg habe ich "von Hand" erstellt, sie enthaelt
>
> hd_boot=sda1
Auf hda1 geaendert, gemaess dem Hinweis von Christian Schuermann.
[...]
>
> (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
MFGPT aktiviert, gemaess dem Hinweis von Christian Schuermann.
[...]
Es funktioniert unveraendert nicht. Hat das einsame "j" eine Bedeutung?
PC Engines ALIX.2 v0.99
640 KB Base Memory
261120 KB Extended Memory
01F0 Master 044A CF CARD 1GB
Phys C/H/S 1934/16/63 Log C/H/S 967/32/63
j
-Karl.
Karl Weber wrote:
> Es funktioniert unveraendert nicht. Hat das einsame "j" eine Bedeutung?
vielleicht...
> PC Engines ALIX.2 v0.99
> 640 KB Base Memory
> 261120 KB Extended Memory
>
> 01F0 Master 044A CF CARD 1GB
> Phys C/H/S 1934/16/63 Log C/H/S 967/32/63
> j
Meine Glaskugel sagt mir, dass mit Deiner seriellen Konsole irgendwas
nicht stimmt (wahrscheinlich verwendest Du zwei verschiedene Baudraten).
Mit einem Auszug aus Deiner config (ohne comments!) müsste ich nicht raten.
Gruß, Christian
>> PC Engines ALIX.2 v0.99
>> 640 KB Base Memory
>> 261120 KB Extended Memory
>>
>> 01F0 Master 044A CF CARD 1GB
>> Phys C/H/S 1934/16/63 Log C/H/S 967/32/63
>> j
>
> Meine Glaskugel sagt mir, dass mit Deiner seriellen Konsole irgendwas
> nicht stimmt (wahrscheinlich verwendest Du zwei verschiedene Baudraten).
> Mit einem Auszug aus Deiner config (ohne comments!) müsste ich nicht
> raten.
#
# generated by mkfli4l (Revision: 3.2.1) running under Linux Version
2.6.18.8-0.9-default
#
# package 'base'
#
AUTO='99'
BASE='yes'
HOSTNAME='fli4l'
PASSWORD=[...]
BOOT_TYPE='hd'
MOUNT_BOOT='ro'
BOOTMENU_TIME='20'
TIME_INFO='MEZ-1MESZ,M3.5.0,M10.5.0/3'
KERNEL_VERSION='2.6.16.56'
KERNEL_BOOT_OPTION='nokbd reboot=bios'
COMP_TYPE_KERNEL='gzip'
COMP_TYPE_ROOTFS='gzip'
COMP_TYPE_OPT='bzip2'
IP_CONNTRACK_MAX=''
POWEROFF_ON_HALT='no'
REAL_MODE_POWEROFF='no'
LOCALE='de'
OPT_MOUNTFLOPPY='no'
CONSOLE_BLANK_TIME=''
BEEP='no'
SER_CONSOLE='yes'
SER_CONSOLE_IF='0'
SER_CONSOLE_RATE='38400'
DEBUG_STARTUP='yes'
DEBUG_LOG=''
KEYBOARD_LOCALE='auto'
[...]
Reicht das? Auf der anderen Seite (openSuSE 10.2) verwende ich, wie gesagt,
screen /dev/ttyS0 38400
als root.
-Karl
>> (4) Ausfuehren von syslinux /dev/sda1 (als root)
>
> Ich habe auch syslinux -s /dev/sda1 probiert, und in zeitlicher Reihenfolge
> natuerlich (4) nach (5).
Ist die Partition auch als bootable markiert?
MfG
Gerd
Nach allem, was ich davon verstehe, ja, denn wenn ich die CF-Karte in den
USB-Leser des openSuSE-Systems stecke, liefert hwinfo dazu folgendes:
0: udi = '/org/freedesktop/Hal/devices/volume_uuid_FC30_3DA9'
block.minor = 1 (0x1)
volume.label = 'KINGSTON'
volume.ignore = false
org.freedesktop.Hal.Device.Volume.method_names =
{ 'Mount', 'Unmount', 'Eject' }
info.capabilities = { 'volume', 'block' }
volume.partition.flags = { 'boot' }
volume.is_partition = true
volume.mount_point = '/media/KINGSTON'
info.category = 'volume'
info.product = 'KINGSTON'
volume.is_disc = false
volume.is_mounted = true
volume.partition.type = '0x06'
block.is_volume = true
volume.linux.is_device_mapper = false
block.storage_device
= '/org/freedesktop/Hal/devices/storage_serial_Multi_Flash_Reader_058F0O1111B1'
info.parent
= '/org/freedesktop/Hal/devices/storage_serial_Multi_Flash_Reader_058F0O1111B1'
volume.block_size = 512 (0x200)
volume.partition.number = 1 (0x1)
volume.num_blocks = 1948401 (0x1dbaf1)
volume.fsversion = 'FAT16'
block.device = '/dev/sda1'
volume.uuid = 'FC30-3DA9'
volume.partition.label = ''
volume.partition.scheme = 'mbr'
volume.partition.media_size = 998129664ull (0x3b7e4000ull)
volume.partition.uuid = ''
volume.fsusage = 'filesystem'
volume.is_mounted_read_only = false
org.freedesktop.Hal.Device.Volume.method_argnames = { 'mount_point fstype
extra_options', 'extra_options', 'extra_options' }
info.interfaces = { 'org.freedesktop.Hal.Device.Volume' }
storage.model = ''
volume.size = 997581312ull (0x3b75e200ull)
info.udi = '/org/freedesktop/Hal/devices/volume_uuid_FC30_3DA9'
volume.mount.valid_options =
{ 'ro', 'sync', 'dirsync', 'noatime', 'nodiratime', 'noexec', 'quiet', 'remount', 'exec', 'utf8', 'flush', 'shortname=', 'codepage=', 'iocharse
t=', 'umask=', 'dmask=', 'fmask=', 'uid=' }
org.freedesktop.Hal.Device.Volume.method_signatures =
{ 'ssas', 'as', 'as' }
block.major = 8 (0x8)
volume.fstype = 'vfat'
org.freedesktop.Hal.Device.Volume.method_execpaths =
{ 'hal-storage-mount', 'hal-storage-unmount', 'hal-storage-eject' }
volume.unmount.valid_options = { 'lazy' }
linux.hotplug_type = 3 (0x3)
volume.partition.start = 32256ull (0x7e00ull)
linux.sysfs_path = '/sys/block/sda/sda1'
linux.sysfs_path_device = '/sys/block/sda/sda1'
-Karl
> volume.partition.flags = { 'boot' }
Vielleicht liegt es an der CF wie bei meinen Soekris, da wird sie als
/dev/hdb(1) erkannt.
Wenn das der Fall ist, in den Bootoptionen noch ein 'boot=/dev/hdb1'
reinschreiben.
MfG
Gerd
>>>>> (4) Ausfuehren von syslinux /dev/sda1 (als root)
>>>> Ich habe auch syslinux -s /dev/sda1 probiert, und in zeitlicher
>>>> Reihenfolge natuerlich (4) nach (5).
>>> Ist die Partition auch als bootable markiert?
>
>> volume.partition.flags = { 'boot' }
>
> Vielleicht liegt es an der CF wie bei meinen Soekris, da wird sie als
> /dev/hdb(1) erkannt.
> Wenn das der Fall ist, in den Bootoptionen noch ein 'boot=/dev/hdb1'
> reinschreiben.
>
Macht leider keinen Unterschied. das Booten haengt immer noch.
-Karl
Karl Weber wrote:
> Christian Schürmann wrote:
>> Meine Glaskugel sagt mir, dass mit Deiner seriellen Konsole irgendwas
>> nicht stimmt (wahrscheinlich verwendest Du zwei verschiedene Baudraten).
>> Mit einem Auszug aus Deiner config (ohne comments!) müsste ich nicht
>> raten.
>
[..]
> SER_CONSOLE='yes'
> SER_CONSOLE_IF='0'
> SER_CONSOLE_RATE='38400'
[..]
meine Glaskugel hat sich offensichtlich geirrt :(
Schau Dir mal die syslinux.cfg auf der CF-Karte an, ob da wirklich die
serielle Konsole aktiviert wird.
Was auch evtl. noch nützlich wäre, ist die ausgabe von fdisk -l <device>
Ansonsten fällt mir jetzt nicht mehr allzuviel ein.
Gruß, Christian
Christian Schürmann wrote:
[..]
>
> meine Glaskugel hat sich offensichtlich geirrt :(
> Schau Dir mal die syslinux.cfg auf der CF-Karte an, ob da wirklich die
> serielle Konsole aktiviert wird.
SERIAL 0 38400
# add tar_verbose to append line to make inittar verbose
DEFAULT n
TIMEOUT 20
PROMPT 1
DISPLAY boot.msg
ONERROR n
LABEL n
KERNEL kernel
APPEND noapic load_ramdisk=1 initrd=rootfs.img fli4l_mode=normal
console=ttyS0,38400n8 nokbd reboot=bios fli4ldebug=yes
[...]
> Was auch evtl. noch nützlich wäre, ist die ausgabe von fdisk -l <device>
>
fdisk -l /dev/sda
Disk /dev/sda: 998 MB, 998129664 bytes
1 heads, 63 sectors/track, 30944 cylinders
Units = cylinders of 63 * 512 = 32256 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 2 8369 263592 6 FAT16
Ich habe die Partition mit YaST verkleinert -- war auch so ein Versuch. Ist
dabei vielleicht was kaput gegangen? Fdisk gibt eine Warnung wegen der
grossen Zylinderzahl...
Ich weiss nicht, ob die Hardware vielleicht einen Defekt hat. Vielleicht
kann mir jemand nur zum Test ein bootfaehiges Image zuschicken? Das hat mir
zwar schon jemand per PM angeboten, ich kann ihm jedoch keine Mails
zuruecksenden -- sie werden immer abgewiesen.
Vielleicht kann mir jemand so ein Image zusenden? Oder ist ein
Hardwarefehler ausgeschlossen?
-Karl
http://fabaff.blogspot.com/2007/12/firmware-update-alix2c3-auf-098g.html
und im speziellen das freedos-image unter
http://210.109.84.3/download/freedos_alixupdate_16.img
hth, Christian
FreeDOS booted wunderbar. Damit sollte doch klar sein, dass Hardware und
Konfiguration der seriellen Schnittstelle in Ordnung sind. Soweit also erst
mal vielen Dank fuer die Hilfe!
Damit sollte das Problem wohl an der urspruenglichen Formatierung der
CF-Karte zu liegen. Oder kann es auch mit meinem syslinux zusammenhaengen?
Ich werde nun versuchen, auf Basis des FreeDOS Images ein bootfaehiges fli4l
zu erstellen.
Trotzdem wuerde ich mich freuen, wenn mir jemand sagen kann, wie ich die
CF-Karte unter Linux (openSuSE) formatieren muss, damit das Booten
funktioniert. Da ich die Hardware inklusive CF-Karte bei tronico.net
gekauft habe, sollte doch eigentlich jeder, der dort seine Hardware kauft,
dasselbe Problem beim Booten haben, oder nicht?
-Karl
> Damit sollte das Problem wohl an der urspruenglichen Formatierung der
> CF-Karte zu liegen. Oder kann es auch mit meinem syslinux zusammenhaengen?
>
Es muss die Formatierung sein.
> Ich werde nun versuchen, auf Basis des FreeDOS Images ein bootfaehiges
> fli4l zu erstellen.
fli4l booted auf dieser Basis nun auch.
Damit bleibt die Frage, wie ich die CF-Karte mit openSuSE formatieren muss,
damit das Booten funktioniert.
-Karl
Karl Weber wrote:
> FreeDOS booted wunderbar. Damit sollte doch klar sein, dass Hardware und
> Konfiguration der seriellen Schnittstelle in Ordnung sind. Soweit also erst
> mal vielen Dank fuer die Hilfe!
gerne doch
> Damit sollte das Problem wohl an der urspruenglichen Formatierung der
> CF-Karte zu liegen. Oder kann es auch mit meinem syslinux zusammenhaengen?
Warum sollte die Formatierung der CF-Karte daran Schuld sein, dass
syslinux nicht bootet. Oder andersrum: Was bringt Dich auf den Gedanken,
das Syslinux nicht schuld ist?
> Ich werde nun versuchen, auf Basis des FreeDOS Images ein bootfaehiges fli4l
> zu erstellen.
Huh? Erklär doch mal kurz, was du damit meinst...
> Trotzdem wuerde ich mich freuen, wenn mir jemand sagen kann, wie ich die
> CF-Karte unter Linux (openSuSE) formatieren muss, damit das Booten
> funktioniert.
Das bleibt letztendlich Dir überlassen, wie Du die Karte formatieren
möchtest. Syslinux kann von fast allem booten. fli4l legt mit dem
hdinstall script sowas in dieser Art an
$ ssh fli4l@fli4l fdisk -l
Disk /dev/hda: 4095 MB, 4095737856 bytes
255 heads, 63 sectors/track, 497 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 9 72261 1 FAT12
/dev/hda2 10 83 594405 83 Linux
Also eine bootalbe FAT12 Partition mit (cmiiw) max 32MB (obwohl das hier
größer ist) und optional eine Datenpartition.
hth, Christian
>> Ich werde nun versuchen, auf Basis des FreeDOS Images ein bootfaehiges
>> fli4l zu erstellen.
>
> Huh? Erklär doch mal kurz, was du damit meinst...
>
Ich habe die CF-Karte mit openSuSE gemounted und alle FreeDOS-Dateien
mittels rm gelöscht. Anschließend habe ich alle fli4l Dateien (kernel,
rootfs.ing, ..) mittels cp auf die CF-Karte kopiert und nach dem unmounten
syslinux -s /dev/sda1
ausgeführt. Voila, fli4l booted.
[...]
> $ ssh fli4l@fli4l fdisk -l
> Disk /dev/hda: 4095 MB, 4095737856 bytes
> 255 heads, 63 sectors/track, 497 cylinders
> Units = cylinders of 16065 * 512 = 8225280 bytes
>
> Device Boot Start End Blocks Id System
> /dev/hda1 * 1 9 72261 1 FAT12
> /dev/hda2 10 83 594405 83 Linux
>
Ich bin leider kein fdisk Experte. Wenn ich etwas von der Doku richtig
verstanden habe, kennt Linux so etwas wie Cylinder, Köpfe und Sektoren
nicht. Die Partitionsdaten werden nun wohl unabhängig voneinander "linear"
(für z.B. Linux) und übertragen in C/H/S Parameter auf das Medium
geschrieben. Letztere sind durch die "linearen" Angaben nicht eindeutig
bestimmt und müssen beim Formatieren explizit vorgegeben werden. Wenn nun
tinyBIOS mit den C/H/S Parametern arbeiten sollte (ich weiß nicht, wie es
arbeitet) könnte es mit einer Übertragung klar kommen, mit der anderen
nicht.
Vielleicht lag es aber auch einfach an der Größe der Partition. Vielleicht
kommt tinyBIOS mit größeren Partitionen nicht klar.
Wie gesagt, ich bin auf diesem Feld leider kein Experte....
-Karl