1. Problemstellung
In der Vorlesung wurde erläutert, welche Möglichkeiten es gibt, das
grundsätzliche Schema einer Host-Target-Entwicklungssituation
umzusetzen (Target als SBC, als Mobile, als eigener PC,...).
Cross-Plattform-Entwicklungsumgebung und Zielsystem
Im Rahmen der
Übungaufgabe Nr. 4 wird die Entwicklungsumgebung ELinOS v2.2
der Firma Sysgo AG vorgestellt
(mittlerweile gibt es Versionen die Version
4.0). Dieses Werkzeug ist ein Beispiel dafür, wie man den Vorgang
der
Auswahl, Zusammenstellung und Kompilierung von Softwarequellen für eine
bestimmte Zielplattform weitgehend automatisieren kann. Um zu
verdeutlichen, welch hoher Aufwand für die Erstellung einer
eigenen Entwicklung getrieben werden muss, soll dies an einem
konkreten Beispiel nachvollzogen werden. Anhand dieses Beispiels sollte
hinreichend klar werden, dass es sich lohnt, in der professionellen
Praxis mit einem entsprechend professionellen Partner in der Industrie
zusammenzuarbeiten, da ansonsten die Dauer der Entwicklung sowie
die Qualitätsprobleme den Projektrahmen kleiner
Firmen sprengen können.
2. Projektidee
Bei der Suche nach einem geeignetem Übungsprojekt
wurde für die Variante optiert, als Target
einen normalen Intel-PC zu nehmen, der mittels bootfähiger Medien
(CD-ROM, DVD, USB-Stick...) mit einem hybriden Betriebssystem Linux +
RTAI gebootet werden soll. Dies bietet den Vorteil, dass jeder die
notwendigen Arbeiten an einem eigenen (auch älteren, ausgemusterten) PC
vornehmen kann (Im Falle des Bootens von einer DVD oder einem USB-Stick
geht dies natüerlich nur mit neuerer Hardware, da die älteren Boards
dies nicht unterstützen).
Das Ganze soll wie ein Projekt anhand konkreter
Hardware und mit konkreter SW organisiert werden.
Sofern sich Studenten an dem Projekt aktiv beteiligen,
können sie ihre Beiträge auch im Rahmen der Vorlesung einbringen.
Ziel ist es, eine bootfähige Linux-RTAI-Distribution zu
schaffen, die dann im weiteren Verlauf mit Software erweitert werden
kann. Alle Versionen sollen entsprechenden Tests unterzogen werden.
START
3. Anforderungen
Folgende erste Anforderungen an das Projekt wurden formuliert:
-
Zielplattform ist zunächst die Intel-Plattform. Später auch
andere (z.B. auch mobile Plattformen)
-
Als Betriebssysteme sollen benutzt werden Linux Kernel 2.6.x
(alternativ auch Linux Kernel 2.4.x) und
der dazu passende RTAI-Kernel.
-
Entsprechend diesen Versionen ist auch alle andere
Software
auszuwaehlen, insbesondere auch die Entwicklungswerkzeuge.
-
Es soll aus den Quellen ein bootfähiges System erstellt werden,
das mittels CD/DVD/USB-Stick auf dem Zielsystem gebootet werden kann.
Das System bekommt den Codenamen 'FH-FFM-BlueBird'.
-
FH-FFM-BlueBird soll erweiterungsfähig sein.
-
Die einsetzbare Version von FH-FFM-BlueBird soll auf einem
öffentlich zugänglichen cvs-Server zum Download angeboten werden
-
FH-FFM-BlueBird soll in Form eines opensource-Projektes
organisiert werden.
-
Nach dem Booten des Systems soll mindestens ein
Anwendungsprogramm automatisch gestartet werden können, das sich als
FH-FFM-BlueBird meldet.
-
Es soll mindestens ein Programm verfügbar sein, das es erlaubt,
Realzeitvorgänge zu messen und auf definierte Ereignisse zu reagieren.
START
4. Roadmap
Folgende Milestones wurden ins Auge gefasst:
-
Klären, mit welcher verfügbaren Linux-Distribution sich am
schnellsten eine bootfähige Version erstellen lässt
-
Einbindung von RTAI
-
Erstellen eines ersten Realzeitprogramms
START
5. Liste von ausgewählten Linux-Distributionen
(aus Wikipedia
- Linuxdistributionen (http://de.wikipedia.org/wiki/Linux_Distributio),
der freien
Enzyklopädie. Eine andere Übersicht findet sich hier:
http://distrowatch.com/index.php?language=DE ). Am 4.Jan 2006
umfasste die Liste von Linuxdistributionen 100 Positionen!
- Arch Linux: Nichtkommerzielle Distribution auf GPL-Basis, optimiert für
Prozessoren ab Typ i 586/i686
- Ark
Linux: Workstation/Desktop-Distribution, für Anfänger
geeignet.
- Caldera|SCO: Eingestellte Distribution.
- Conectiva:
Weitverbreitete Distribution in Lateinamerika und auf der iberischen
Halbinsel.
- CRUX Linux: einfach gehaltene Distribution
für erfahrene Benutzer
- Debian GNU/Linux: Nichtkommerzielle
Distribution, die auf Basis der GPL entwickelt wird.
- c't-Debian-Server:
Spezielle Server- und Firewall-Distribution der Zeitschrift c't ohne
GUI auch zur Installation auf leistungsschwachen Rechnern.
- Kurumin:
Eine Debian-basierte Distribution, deren Sprache portugiesisch ist.
Lässt sich ähnlich wie Knoppix (siehe unten) auch ohne
Installation
direkt von CD starten.
- MEPIS:
Eine Debian-basierte Live-CD und Desktop-Linux-Distribution
- LinEx:
Offizielle Debian-basierte Distribution der spanischen
Region Extremadura
- Libranet: Eine debianbasierte Distribution aus
Kanada mit guter Hardware-Erkennung und einfacher Bedienung.
- Progeny:
Debianbasierte Distribution
- Skolelinux: Eine debianbasierte Distribution,
die sich zum Ziel gesetzt hat, den Einsatz von Linux in Schulen zu
fördern.
- SphinxOS: Eine Debian-basierte Live-CD und
Desktop-Linux-Distribution.
- Ubuntu:
Eine auf Debian basierte Distribution mit Gnome
- Kubuntu:
Eine auf Debian basierte Distribution wie Ubuntu, nur mit KDE
- Edubuntu: Eine auf Debian basierte Distribution,
für den Einsatz in Schulen optimiert.
- WIENUX: Eine auf Debian basierte
Distribution. Open Source Software am Arbeitsplatz der Stadt Wien.
- Desktop Light Linux (DeLi Linux):
Linux-Distribution für ältere Rechner
- Eisfair:
Menügesteuerte Konfiguration eines Internet-/Intranet-Servers,
auch geeignet für Einsteiger
- Foresight Linux: auf rpath basierend, verwendet Conary als Paketmanagementsystem und
ist in der Regel sehr aktuell.
- Freedows: Eine Microsoft Windows
ähnliche, brasilianische Distribution
- Gentoo Linux: Nichtkommerzielle Quelltext-Distribution
(Meta-Distribution), die auf Basis der GPL entwickelt wird. Für
fortgeschrittene Benutzer, die ihr System komplett individuell
einrichten wollen.
- VidaLinux Desktop OS: Gentoo-basiertes Desktop-Betriebssystem
für Endanwender
- GoboLinux:
Quelltext-Distribution,
welche eine neuartige Verzeichnis-Hierarchie nutzt. Für
fortgeschrittene Nutzer.
- Linspire:
Die Microsoft Windows ähnlichste Distribution (ehemals "Lindows").
- Linux-Musterlösung:
Eine ausschließlich für Schulen vom Kultusministerium in
Baden-Württemberg vertriebene Linuxversion, die auf Suse aufbaut
und
mit einem selbstheilenden Netzwerk (via PXE)
ausgeliefert wird.
- Lycoris:
Eine Microsoft Windows ähnliche Distribution.
- Mandriva Linux: Eine ehemals auf Red Hat
aufbauende Distribution aus Frankreich, auch für Anfänger
geeignet.
- Red Flag Linux: Eine chinesische Variante,
die vor allem in China ein Ersatz für Microsoft Windows werden
soll.
- Red Hat Linux: Im amerikanisch-englischen
Raum meistgenutzte Distribution, ebenfalls auch für Anfänger
geeignet.
- Aurox Linux: Um multimedia-, lern- und
wissenschaftliche Software erweitertes Red Hat aus Polen.
- CentOS:
eine Enterprise Distribution, die auf den Quellen von Red Hat aufbaut
- ClarkConnect:
eine auf Red Hat aufbauende Distribution, die auf Server- und
Gatewaybetrieb ausgelegt ist, und ein eigens Web-Konfigurationswerkzeug
mitbringt
- Fedora Core: Consumer-Version der Red
Hat Linux Distribution als Community-Projekt.
- Scientific Linux: RHEL-basierte
Distribution mit Schwerpunkt auf wissenschaftliche Institutionen wie
Universitäten
- White Box Linux: eine auf Red
Hat Enterprise-Quellen aufbauende Distribution
- Yellow Dog Linux: Red Hat-basierende
Distribution für PowerPC-CPUs (z. B. Apple Macintosh ab dem
G3-Prozessor).
- Vietkey Linux: eine auf Red Hat
basierende Distribution, die auf die vietnamesische Sprache angepasst
wurde
- Slackware:
Älteste Distribution, minimalistisch, Linux-Grundwissen sollte
vorhanden sein.
- CollegeLinux: Für
Schüler und Studenten optimiert
- RootLinux: Minimalistische, auf i586
optimierte Distribution.
- Vector Linux: einfaches Linux System, welches
"out of the box" läuft
- Zenwalk:
Für jeden Anwendungsbereich nur eine Anwendung; vormals Minislack.
- Server optimized Linux:
Kleine, für den Serverbetrieb optimierte Distribution.
- Sourcemage Gnu/Linux: Eine
quellenbasierte Distribution, die sich an erfahrene Anwender richtet.
- SuSE Linux: Im deutschen Raum meistgenutzte
Distribution, für Anfänger geeignet
- kmLinux:
Für den Einsatz in Schulen optimierte Distribution.
- SESUSE: Auf SELinux basierendes
Suse-Derivat.
- Trustix Secure Linux: Sicherheitsbetonte Serverversion
- Turbolinux: Weitverbreitete Distribution in
China und Japan
- Xandros:
Microsoft-ähnliche Distribution, basiert auf Corel
Linux.
- Yoper
(Your Operating System): Eine auf Schnelligkeit optimierte
neuseeländische Distribution
Startmedium CD oder DVD
- AGNULA (A GNU/Linux Audio Distribution)
stellt mit DeMuDi
live eine für Audioproduktionen angepasste Live-Distribution zur
Verfügung.
- amaroK Live: eine Distribution, die die
Fähigkeiten von amaroK, einen freien Audio
Player, demonstrieren soll.
- AUSTRUMI:
Eine auf Slackware basierende, ca. 50 MB große,
Puppy-ähnliche Distribution.
- Basilisk Live-CD:
eine auf Fedora Core 3 aufbauende Distribution, die ähnlich wie
Knoppix
gut für Linux Einsteiger geeignet ist oder für Leute, die Red
Hat bzw.
Fedora Core ausprobieren wollen.
- BeatrIX Linux: Eine auf Ubuntu
basierende Live-CD [1].
- Berry Linux: Ein bootfähige CD Linux von
460 bzw. 162 MB in Japanisch und Englisch auf Fedora-Basis.
- Conservix: Eine Lösung zum
langfristigen Speichern von digitaler Kultur.
- dyne:bolic
- GeeXboX:
Eine kleine Multimedia-Distribution
- Gentoo Live-CD:
Dient als Installationsmedium für Gentoo, eignet sich aber auch
zur
Reparatur von anderen Linux-Installationen, Web-Zugriff ist
möglich,
keine graphische Oberfläche. Alternativ steht auch eine Live-CD
mit KDE
zur Verfügung.
- Kate OS: Eine auf Slackware
aufbauende Live-Distribution aus Polen [2].
- Knoppix:
Distribution, die direkt von der CD startet, keine Installation auf der
Festplatte nötig. Sehr geeignet für Anfänger und
Demo-Zwecke.
- ClusterKnoppix: Knoppix mit
OpenMosix Kernel zur Bildung von Linux Clustern.
- Damn Small Linux: Eine nur 50 MB
große, aber erweiterbare Distribution.
- Edu Knoppix:
eine direkt bootbare Live-CD mit OpenSource-Software aus dem
Bildungsbereich. Enthält ausser dem Knoppix-Terminalserver auch
noch
den LTSP-Terminalserver
- Feather Linux: Eine etwa 120 MB große
Distribution.
- GIS Knoppix: GIS-Knoppix ist eine
bootfähige Linux-CD mit vorinstallierter Open-Source GIS Software.
- Gnoppix:
Knoppix-ähnliche Distribution, die als Desktop GNOME
anstatt KDE benutzt.
- Grml:
grml [sprich: grummel] enthält eine gut ausgewählte Sammlung
an GNU/Linux-Software
besonders für Nutzer der Kommandozeile
und Systemadministratoren.
- Kaella: Knoppix-basierte Distribution,
auf Französisch.
- Kanotix
nutzt die Knoppix-Technologie, basiert aber auf Debian Sid, versucht
vor allem die Festplatteninstallation zu verbessern - Auch als DVD-Distribution
erhältlich.
- Auditor: Kanotix-basierte Distribution mit
etlichen Werkzeugen für Netzwerk- und WLAN-Analyse,
-test und -forensik
- Knoppix STD: Knoppix Security Tools
Distribution, ähnlich Knoppix mit Schwerpunkt auf OpenSource
Sicherheits-Tools
- Knoppicillin:
Bootfähige Linux-CD mit drei vorinstallierten kommerziellen
Virenscannern und einer menügesteuerten Bedienoberfläche.
Damit lässt
sich jeder PC mit wenigen Tastendrücken auf Viren untersuchen.
- LAMPPIX:
Ein vollständiger LAMP-Server (um auf der CD gespeicherte Webseiten zu
betrachten; siehe Wikipedia-CD).
- Morphix:
Ein modulares Knoppix.
- Oralux:
Knoppix-basierte Distribution für Sehbehinderte
- PHLAK: Professional Hacker's Linux
Assault Kit, ähnlich Knoppix
STD
- TYPO3-LIVE Vollständig lauffähiges
System des CMS TYPO3
- Xfld [3],
Knoppix-System mit Benutzeroberfläche Xfce statt KDE
- LNX-BBC:
Eine Mini-Distribution, z. B. für Wartungsarbeiten geeignet.
- Luit Linux: eine 50MB
Mini-Distribution[4].
- MEPIS:
Eine auf Debian basierende Distribution, die keine Installation
benötigt aber auch installiert werden kann.
- M0n0wall
- MoviX:
Eine Mini-Distribution, die mit einer Videodatei auf eine CD gebrannt
wird und diese nach dem Booten abspielt.
- PunkrockLinux:
Eine vom Amarok-Live Project inspirierte Distribution, die alternative
Musik wie Punk und Ska mit freier Software verbinden möchte [5]
- Puppy Linux: Eine Windows-ähnliche, etwa
60 MB große und erweiterbare Distribution.
- SAM Mini-Live-CD: Eine auf
Mandrake Linux / Mandriva Linux aufbauende Distribution aus Deutschland[6].
- SLAX:
Von CD startbare Version von Slackware, sie passt auf eine Mini-CD.
- StreamBOX [7] ("specially
designed to stream MP3")
- SphinxOS:
Eine auf Debian basierende Distribution, die keine Installation
benötigt aber auch installiert werden kann. Besonders für
Einsteiger
geeignet, auf Deutsch.
- TUDix: TU Dresden Linux Live System. Die
Programme sind für typische Studenten- und Büroaufgaben
zusammengestellt worden.
- WHAX
(früher WHoppiX) - für Penetration Tests
- XORP
Startmedium: Diskette, USB-Stick, Flash-Karte
- Damn Small Linux: Sehr kleine
Linux-Distribution, die auch gut für Speichermedien wie CF-Karten
oder Disks on Chip geeignet ist.
- Insert Linux
Distribution mit 50 MB, passt auf CD im Visitenkartenfomat und
USB-Stick: Sicherheits-CD mit NTFS-Treiber, Virensoftware,
unterschiedlichen Werkzeugen für Platte und Netz und Grafischer
Oberfläche.
- Puppy Linux: Kleine Linux-Distribution, die
auch für Speichermedien wie CF-Karten
oder ZIP-Disketten geeignet ist.
- fli4l:
Linux, welches auf einer Diskette Platz hat und vornehmlich als Router
eingesetzt wird.
- Flonix:
USB Edition
- muLinux:
Linux, welches auf einer Diskette Platz hat.
- SPBLinux: Eine Mini-Linux
Distribution, die von einem USB-Stick, CF-
oder SD- Karte gebootet werden kann.
- KPHUSB:
Eine Linux/Knoppix Distribution, die von einem USB-Stick gebootet
werden kann. Die Knoppix-Version ist fast vollständig, verlangt
aber
einen 1 GB grossen Memory Stick
- FlashLinux: Eine auf Gentoo
Linux basierende Binärdistribution die von einem USB-Stick,
CF- oder SD- Karte bootet.
- Trinux: findet auf 3 Disketten Platz
[deshalb Tri], enthält die wichtigsten Linux-Kommandozeilen-Tools
plus Programme für Sicherheits-Tests [nmap, netcat, dsniff usw.]
Sonstige
Unter Windows start- oder lauffähige Distributionen
- Linux-Distributionen
- Linux-ähnliche
- Virtuelle Maschinen
Siehe auch
Weblinks
..
START
6. Linux-Distributionen: USB-Kandidaten
Für das weitere Vorgehen wollen wir uns auf diejenigen
Distributionen beschränken, die sich von USB-Sticks booten lassen.
- Damn Small Linux: Sehr kleine
Linux-Distribution, die auch gut für Speichermedien wie CF-Karten
oder Disks on Chip geeignet ist. (
Kommentar: Sehr
interessant; Frei und kommerziell; USB-Version praktisch nicht
dokumentiert
).
- feather-Linux;
Feather Linux is a Linux distribution which runs completely off a CD or
a USB pendrive and takes up under 128Mb of space. It is a Knoppix
remaster (based on Debian), and tries to include software which most
people would use every day on their desktop. (
Kommentar: Seite
verfügbar;
Dokumentation begrenzt; Booten bereitet von USB-Stick Probleme
).
- Flonix:
USB Edition (
Kommentar: Leider
kommerziell
)
- SPBLinux: Eine Mini-Linux
Distribution, die von einem USB-Stick, CF-
oder SD- Karte gebootet werden kann.(
Kommentar:
Seite am
4.Jan 2006 nicht verfügbar
)
- KPHUSB:
Eine Linux/Knoppix Distribution, die von einem USB-Stick gebootet
werden kann. Die Knoppix-Version ist fast vollständig, verlangt
aber
einen 1 GB grossen Memory Stick (
Kommentar: Seite am 4.Jan.
2006 nicht
verfügbar
)
- FlashLinux: Eine auf
Gentoo
Linux basierende Binärdistribution die von einem USB-Stick,
CF- oder SD- Karte bootet. (
Kommentar: Sehr gute Seite verfügbar; sehr
gute
Dokumentation; Booten klappt von CD-ROM auf einigen Rechnern, ebenso
vom USB-Stick. Allerdings extrem hardwareabhängig, d.h. auf einigen
Rechnern geht nur das Booten von CD, auf anderen nicht; dann wieder
geht ein Booten vom USB-Stick, aber nur mit Vorbereitung durch die
CD-ROM. Schliesslich booten PCs mit dem Stick, aber bei diesem Booten
werden bestimmte Treiber nicht gefunden.
).
Aufgrund dieser Sachlage werden wir versuchen, das Projekt am
Beispiel
des FlashLinux-Projektes weiter zu entwickeln.
START
7. Booten mit
flashLinux
- Laden der Quellen
- Bootfähige CD-ROM
- Booten der CD-ROM
- Bootfähigen USB-Stick
- Booten des USB-Sticks
Unter http://flashlinux.org.uk/download ist genau erklärt, wie man
flashlinux downloaden kann und wie man daraus eine Isoimage erzeugen
kann, das dann auf eine CD-ROM gebrannt wird.
i.
How
to Download
First you
will need to visit to Flash
Linux download area at SourceForge.net.
Download the
files "flashlinux-0.3.4-RC2.iso-part*" to your computer.
You can achieve some additional security
by doing:
Download
the file "flashlinux-0.3.4-RC2.iso.md5" to your computer.
Make sure the
.md5 file is stored in the same directory.
In a terminal
session type;
cat flashlinux-0.3.4-RC2.iso-part1 flashlinux-0.3.4-RC2.iso-part2 flashlinux-0.3.4-RC2.iso-part3 > flashlinux-0.3.4-RC2.iso
md5sum -c flashlinux-0.3.4-RC2.iso.md5
the computer should respond with;
flashlinux-0.3.4-RC2.iso: OK
you can double check md5 sum's here if you really want to.
.................
START
ii.Making a bootable CD-ROM
You now have an ISO image of the installation / Live CD. Next
we need to "burn" this image to a CD-ROM or CD-RW.
There are many ways of doing this, so we'll pick a method
using a Linux application called XCDRoast.
Run
XCDRoast as "root" and click on the Setup button.
Click on HD
Settings and add the path to your newly downloaded Flash Linux ISO
Click Ok, then Create
CD
Now click on Write
tracks
In the right
hand pane, select your FlashLinux .ISO file and then Accept track
layout
IF you are using a CD-RW, click on Blank CD-RW
Now click
on Write tracks at the bottom of the screen
Once this operation complete, you should have a Flash Linux CD
that's ready to roll ..
START
iii.Booten der CD-ROM
Der nächste Schritt besteht darin, einen PC zu finden, auf dem
die so erstellte CD-ROM problemlos bootet. Die schwierigsten Kandidaten
sind hier offensichtlich Laptops, da diese am meisten 'von der Norm'
abweichen. Ist das Booten gelungen, dann kann man jetzt versuchen, auf
der Basis dieses gebooteten Systems die Hardware zu analysieren, um die
geeigneten Parameter fuer einen zu bootenden USB-Stick zu finden. Unter
http://flashlinux.org.uk/make findet sich eine sehr ausführliche
Beschreibung, wie man einen USB-Stick bootfähig macht.
START
iv.Making
a key
How to install Flash Linux 0.3.4 on a
USB Flash key
Flash Linux on a USB key
Before you do anything else, you need to prepare the key.
It is critical to the remainder of the installation process that you
get this bit right and we've deliberately not automated this part of
the installation for the moment, partly for this reason.
Getting set up
- Boot from the
LiveCD
- Log in as root
(no password)
- Start a
terminal session (click the screen icon on the top panel)
Identifying the key
- Try the
following to see what your computer can see
find /proc/scsi/usb-storage -type f -exec cat {} \;
# Example output;
Host scsi2: usb-storage
Vendor: M-Systems
Product: DiskOnKey
Serial Number: 0317A10D2A001B86
Protocol: Transparent SCSI
Transport: Bulk
Quirks:
#
# you could also do;
# find /proc/scsi/usb-storage -ls
# then;
# cat /proc/scsi/usb-storage/<file>
#
- Assuming
that your key is visible, next we establish what it's "called"
- Type in the
following;
cd `find /sys/bus/usb/drivers/usb-storage/*/host?/*:* -maxdepth 0`
ls
Und Ergänzung:
cd 0 tab....
ls -l
# Example output;
... block -> ../../../../../../../../block/sdb
... delete
... detach_state
... device_blocked
... generic -> ../../../../../../../../class/scsi_generic/sg1
... max_sectors
... model
... power
... queue_depth
... rescan
... rev
... scsi_level
... state
... timeout
... type
... vendor
# Now try;
cat model type vendor
# Example output;
DiskOnKey
0
M-Sys
# Alternatively, unplug and plug the key and type;
dmesg
The name of the key should be relatively obvious from the messages at the end of the log.
- This should
(hopefully) be sufficient for you to identify your key
- The device
name for your key can be read off the block link in the
listing
- In the above
example, the device for the key is sdb
Erasing the key
- Most keys
come with a pre-made DOS partition
- The partition
table it uses is not usually compatible with Linux and needs to be
removed
- To erase the
partition table, and then create a new one, type the following;
# BE WARNED: THIS WILL ERASE THE CONTENTS OF YOUR KEY
dd if=/dev/zero of=/dev/device name bs=1k count=100
# using the above example, this would be;
dd if=/dev/zero of=/dev/sdb bs=1k count=100
# now you need to rewrite a "sane" partition table
sfdisk -H9 -S56 /dev/device name
<press return until it asks if you want to save, then press 'y'>
# don't forget to use the right device name!
#
# Please note the choices of "fdisk" and "sfdisk", they are important
#
# now you need to create some approptiate partitions
# Flash Linux needs a boot partition of ~ 4M
# and a root partition of at least 150M
# So; (for example)
fdisk /dev/device name
d (delete partition created by sfdisk)
n (new partition)
p (primary)
1 (use partition #1)
<return> (start at first block)
+4M (make it 4Mb in size)
n (new partition)
p (primary)
2 (use second partition)
<return> (start on next free block)
<return> (use rest of key)
a (mark a partition as active)
1 (choose the boot partition)
w (write changes)
q (quit)
#
# Note: they key will not boot if you for get to do the 'a' operation.
#
- Your key
should now be partitioned appropriately for FlashLinux
- Linux does not
always re-read changed partition tables properly
- To make sure Linux
does this, remove
the key, count to 10 and reinsert it
Ergänzung: Die verschiedenen USB-Sticks koennen hier
unterschiedlich reagieren!
Installing FlashLinux
- PLEASE download the
latest flash_key.sh
into /root on your key!
(Es ist wichtig,
tatsächlich
die Webseite zu öffnen und die Datei herunter zu laden)
- Download the
latest version by clicking HERE
- From the
command line, type in;
chmod 755 /root/flash_key.sh
/root/flash_key.sh
- Please note
that this script is new and not too robust
- This means that
it will work, however it may not cope well with unexpected events
- Please read the
on-screen instructions properly before proceeding
- The procedure
should take between 15 and 20 mins
- Of the
partitions you've created, the 4Mb partition is the BOOT, the
other is the ROOT. On a typical computer, the device is
/dev/sda, BOOT is /dev/sda1 and
ROOT is /dev/sda2.
Anmerkung: bei meinem
Computer wurde bei /dev dann 'block' erkannt , also /dev/block statt
'/dev/sda'. In diesem Fall hilft es, das shellscript flash_key.sh wie
folgt abzuändern (Hinweis von
Kai Hepke):
PICKDEVICE() {
(for i in `find
/sys/bus/scsi/devices -name block -follow -maxdepth 3 -ls|cut -d"/"
-f2-10`
do
base=`echo
${i}|cut -d"/" -f1-5`
name=`cat
/${base}/model`
vend=`cat
/${base}/vendor`
dev=`readlink
/${i}|cut -d"/" -f11`
=========> dev=sda /* anstatt 'block' */
echo
${dev}
if
[ -z "${vend}" ] ; then
echo
"${name}"
else
echo
"${name} [${vend}]"
fi
done) | \
${DIALOG} --list
--title "${title}" --column "Device" --column "Type" \
--text "\
`cat <<EOF
START
v. Booten mit dem
USB-Stick
Nachdem nun ein bootfähiger USB-Stick vorliegt, kann man von
diesem direkt booten ... in der reinen Theorie. In der Praxis
zeigt es sich, dass sowohl die verschiedenen BIOSse der Boards wie auch
die USB-Sticks selbst ganz unterschiedliche Reaktionen zeigen
können. flashLinux bietet mit seinem Bootmanger zum Glück
unterschiedliche Optionen an, z.B. auch die Option: 'Use the CD-ROM to
boot a USB-flash key'. Dies bedeutet, dass das BIOS zuerst die CD-ROM
bootet, von dieser aus dann aber alle vorkehrungen getroffen werden, um
den USB-Stick zu mounten um dann letztlich von dem USB-Stick zu booten.
Die CD-ROm kann dann --schon während dee Bootvorganges entfernt werden.
Dies hat dann tadellos funktioniert und man konnte mann --nur mit dem
USB-Stick ein vollständiges Linux benutzen. DEr USB-Stick verhielt sich
dann wie eine Festplatte.
Auf dem Dell Laptop Latitude 100L konnte man direkt vom USB-Stick
booten, aber das System erkannte beim Einloggen dann keine Tastatur,
d.h. insgesamt fehlten der Distribution offensichtlich geeignete
Treiber fuer diese Hardware-Plattform.
START
8. Zwischenergebnis
Die bisherigen Versuche haben gezeigt, dass die Erstellung eines
bootfähigen USB-Sticks grundsätzlich möglich ist. Insbesondere scheint
die Strategie von flashLinux empfehlenswert zu sein, erst eine
bootfähige CD-ROM-Version zu erstellen, um damit die konkreten
Umgebungen für einen USB-Stock vorzubereiten. Allerdings zeigen diese
Versuche auch, dass die beteiligte Hardware (der PCs wie der USB-Sticks
selbst) und die beteiligten BIOSse noch sehr uneinheitlich und damit
sehr risikobehaftet sind. USB ist eben nicht einfach USB!
Darüberhinaus stellen sich jetzt die folgende Fragen:
-
Welche Kernelversion liegt hier überhaupt vor?
-
Inwieweit kann man Im Rahmen des gebooteten Systems Module
hinzufügen und wieder entfernen?.
-
Welche Version von RTAI ist hier einschlägig?
-
Wie kann RTAI im Rahmen eines USB-Stick-basierten Systems
überhaupt auf die Hardware in der notwendigen Form zugreifen?
Als nächstes werden wir im Detail untersuchen, wie man, ausgehend
von den Quellen, einen Linuxkernel zusammen mit RTAI compilieren und
booten kann.
START
9. Testfragen
-
Was ist der Unterschied zwischen dem Linux-Kernel und
einer Linux-Distribution?
-
Was ist das Besondere an einem Live-System?
-
Welche Vorteile hätte es, wenn man ein USB-basiertes
Live-System hätte?
-
Gäbe es auch Nachteile bei einem USB-basiertes Live-System?
-
Wie würden Sie die Qualität der zur Zeit bekannten
USB-basierten Systeme beschreiben?
START