PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : livecd-creator - hat jemand damit Erfahrungen?



Windhund
22.04.12, 15:29
Hallo zusammen,

ich arbeite mich gerade in den livecd-creator ein,
der mir erlaubt, LiveCDs/DVDs zu generieren.

Beispiel: Fedora, im besonderen FC17.
Da kam zuletzt eine Beta heraus,
NightlyBuilds werden hin und wieder ins Netz gestellt.

Aber wenn ich eine aktuelle und eingedeutschte LiveCD
haben möchte, bleibt mir nichts anderes übrig, selbst eine
zu erstellen.

Bisher ist mir das schon gelungen, aber an einem Punkt bleibe ich
noch hängen:

Wenn ich ein eigenes Paket oder auch Daten in diese LiveCD einbinden möchte,
klappt bis jetzt kein Eintrag in die ~.ks-Datei.

Hat da jemand einen ganz aktuellen Hinweis, welcher Eintrag
da korrekt ist?

Beispiel: in meinem Homeverzeichnis unter Donwloads liegt
VBoxLinuxAdditions.run
Dieses Tool möchte ich einbinden in die LiveCD bzw. jetzt schon die
LiveDVD, weil ich bereits die Development Tools mit drin habe.

Für Hinweise oder einen guten Tipp danke ich im voraus.

Manfred

Littletux
12.05.12, 17:03
ich weiss dass das für Dich möglicherweise kompliziert erscheinen mag, aber versuch mal einen etwas anderen weg. diese Methode, eine Livecd zu erstellen geht einen leicht aufwendigeren weg, aber so sollte es in jedem Fall funktionieren, denn er funktioniert mit jeder Distribution.

Zuerst erstellst Du einen Ordner. in diesem erstellst Du 2 weitere Ordner einen mit name source den anderen nennst Du target.
Du entpackst das vermutlich vom Livecd-Creator erstellte squashfs-file in den source Ordner. Dann wechselst Du in den source Ordner und führst dort

mount --bind /proc proc
mount --bind /dev dev
mount --bind /sys sys

aus
nun machst Du
chroot . /bin/bash

nun führst Du grub2-install und dann grub2-mkconfig aus

Du kannst nun auch, da Du dich jetzt im Livesystem befindest über apt-get install x beliebige packete die Du installiert haben möchtest installieren.

nachdem Du das gemacht hast machst Du ein exit

jetzt sollten unter boot alle dateien sein die es zum booten braucht

jetzt erstellst Du vom Ordner source wieder ein squashfs file welches Du im Ordner target erstellen lässt

jetzt musst Du in den übergeordneten Ordner zurückwechseln
dann noch den boot Ordner der source nach target kopieren mit
cp -p -R -P -d source/boot target
und das Iso erstellen mit
mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -iso-level 4 -hide-rr-moved -c boot.catalog -o livecd.iso target

falls das eine oder andere noch nicht ganz klar ist
hier ein Link wo es noch etwas ausführlicher berschrieben ist
Einiges davon ist gentoo-speziefisch, aber so solltest Du es hinbekommen.
Das squashfile muss den gleichen namen haben den es vorher auch hatte, falls dieses bei Dir also im Gegensatz zur Anleitung nicht livecd.squashfs heisst, dann muss das auch so bleiben, weil das der name ist welcher im initscript der jeweiligen distro drinsteht, und somit sonst nicht gefunden würde

http://en.gentoo-wiki.com/wiki/Build_Your_Own_LiveCD_or_LiveDVD

Windhund
12.05.12, 21:28
Hallo Littletux,

zuerst einmal vielen herzlichen Dank für die Mühe,
mir diesen alternativen Weg zu beschreiben.

Natürlich werde ich das testen.
Aber nicht mehr heute nacht :-)

Wenn ich Erfolg hatte, melde ich mich wieder hier.

Schönen Abend noch und Gruß
von
Manfred

Windhund
13.05.12, 07:42
Erste Erfahrung:

chroot . /bin/bash --login
chroot: failed to run command `/bin/bash': No such file or directory

Dazu muss ich sagen, daß das Ganze unter Fedora17 läuft.

/bin/bash ist vorhanden (bei Fedora17 ist /bin nur ein Link zu /usr/bin.
Doch auch /usr/bin/bash produziert dieselbe Meldung.

Was geht da schief?

Danke im voraus für Mithilfe.

Gruss
Manfred

Littletux
13.05.12, 11:29
also das ist zwar etwas komisch, aber du kannst diesen befehl auch nur so schreiben, das sollte auch gehen.
chroot .

du musst auf alle fälle im wurzelverzeichnis des livesystems sein, also in source
sonst must Du den befehl so schreiben

chroot /pfad/wo/deine/source/ist /bin/bash

also ob das ein link ist ist egal, aber zur erklärung, das /bin/bash ist NICHT die shell des Hauptsystems, sondern die im Livesystemordner, wenn Du also den kurzen Befhl nur mit dem Punkt schreibst sieht er im aktuellen Verzeichnis nach, ob es ./bin/bash gibt

wenn Du überhaupt nichts angiebst, ist es das selbe, wenn du nicht im richtigen verzeichnis bist, oder den vollen pfad angibst, geht es nicht.
Der einfachheit des Befehls, und vor allem aller --bind befehle, die alle nicht funktioniern, wenn du nicht im root des Livesystems bist denn wenn du wo anders, als im root des Livesystems bist sind auch alle --bind befehle einiges umfangreicher

Windhund
13.05.12, 14:01
Also wenn ich das richtig sehe,
ist das für Gentoo, aber nicht für Fedora geeignet.

Warum?
Es ist doch klar, was dem chroot-Verfahren vorausgeht:
Es müssen zunächst stage3 und dann portage-latest geholt und entpackt werden.

Da gibt es dann in der source auch /bin/bash.

Das kann so nicht unter Fedora funktionieren.

Denn die gemounteten drei proc dev und sys enthalten das nicht.

Gruß
Manfred

Windhund
13.05.12, 15:40
Nun habe ich die Lösung für die Einbindung der VBoxLinuxAdditions in die LiveDVD:

Ich habe diese in das Verzeichnis der spin-kickstarts kopiert.

Dann lautet der Befehl in der kickstart-Datei nur

%post --nochroot
cp /usr/share/spin-kickstarts/VBoxLinuxAdditions $INSTALL_ROOT/usr/share
%end

Ich habe es getestet: zum ersten Mal kam nicht mehr die Meldung,
daß die VBoxLinuxAdditions.run nicht gefunden worden seien.

In der LiveDVD habe ich nachgesehen vor der Installation, ob diese unter /usr/share
zu finden sind. Ich war sehr erfreut, daß sie dort zu sehen waren.

Nun soll es noch die Möglichkeit geben, die Additions auch gleich installieren zu lassen.
Doch das ist noch in der Experimentierphase.

Gruss
Manfred

Littletux
14.05.12, 13:17
Freut mich für Dich, das Du es hinbekommen hast

Aber
das chroot ist allgemeingültig und funktioniert mit JEDEM Linux. Die einzige bedingung ist, das sich in dem Ordner in den chroot verwendet wird ein Linuxsystem befindet und das proc dev und sys per bind da hineingemounted wurden
man verwendet diesen befehl nämlich um ein zerschossenes system wieder zu reparieren, und ich verwende diesen befehl sowohl für debian ubuntu gentoo suse und da sagst Du das der befehl unter fedora wohl nicht funktioniert. Er funktioniert auch unter Fedora glaub es mir. Und wenn ich Dich wäre würde ich das so lange versuchen bis Du es hinkriegst einen chroot auszuführen. Denn damit lässt sich so einiges wieder zurechtbiegen, was in einem system schiefgelaufen ist. Und man kann sich damit wie in Deinem Fall die mit livecdcreator erstellte livecd remastern, und noch viel mehr an seine Bedürfnisse anpassen.

Wenn Du Dich damit auskennst, dann kannst Du Dein installiertes System, was Du am laufen hast, clonen, an die spezialitäten das es nun ein livesystem sein soll anpassen, und dann eine Livecd draus machen, oder auch zuvor noch weitere veränderungen vornehmen.
Ich helf Dir auch gern etwas konkreter.Wenn Du willst kannst Du mich auch gern über skype erreichen wenn Du Dein Livesystem optimal an Deine Bedürfnisse anpassen möchtest
mein skypename ist ebenfalls littletux