initrd.img bearbeiten

A

arno80

Gast
Hallo Hallo,
habe hier von HP eine CD welche automatisch ein RedHat linux startet. Es wird dazu die initrd.img in den Speicher geladen. Num möchte ich an dieser Datei gerne was verändern. Nur wie. :frage:
Bitte helft mir.
MFG
 

thorus

GNU-Freiheitskämpfer
Beiträge
757
Also, fangen wir mal an ;)

Evtl. musst du die Datei entpacken, dazu machst du:
Code:
mv initrd.img initrd.img.gz
gzip -d initrd.img.gz
Dann haben wir das Image unkomprimiert.

Als nächstes mounten wir es per Loopback-Device. Das bedeutet, man legt die Datei einfach auf ein Blockdevice, damit man es einfach mounten kann. (/dev/hda1 ist z.B. Blockdevice)
Code:
mount -o loop initrd.img /mnt/irgendwas
Dann kannst du da reingehen und evtl. was verändern. Da aber vermutlich wird nicht genug Speicher frei sein, deswegen kopierst du erst mal alles in einen Ordner auf deine Festplatte und machst deine Änderungen.


Hmm, zum wieder packen, fällt mir nur ne Quick&Dirty Lösung ein..
Erstmal den Speicherplatz bestimmen, die von deiner initrd gebraucht werden.
Code:
du -h /dir
Das übergeben wir dd und erzeugen eine Datei mit der Größe, am besten machst du die etwas größer.
Code:
dd if=/dev/zero of=newinitrc.img bs=1k count=2048
Hiermit habe ich einfach ein 2 MB großes Image erstellt.

Als nächstes verbinden wir das mit einem Loopback-Device:
Code:
losetup /dev/loop1 newinitrd.img
Ich nehme loop1, weil loop0 vermutlich jetzt noch vom der alten initrd belegt ist (den Schritt hier macht mount automatisch)

Dann erstellen wir ein ext2-Filesystem:
Code:
mke2fs /dev/loop1

Mounten
Code:
mount /dev/loop1 /mnt/irgendwasanderes
und reinkopieren.

Umounten und Loopback-Device wieder freigeben.
Code:
umount /mnt/irgendwasanderes
losetup -d /dev/loop1

Und noch komprimieren
Code:
gzip newinitrd.img
mv newinitrd.img.gz newinitrd.img

Und es müsste gehen ;)
Wie gesagt, das erstellen is etwas Quick&Dirty, wenn jemand weiß, wie's besser geht, bitte sagen, würde mich auch interessieren ;)
 

Haggis

Grünschnabel
Beiträge
2
da ich mich gerade etwas damit befasse, hier noch eine andere Möglichkeit:

Code:
mrbe@lt ~/tunix $ mkdir tmp
mrbe@lt ~/tunix $ cp live-cd/casper/initrd.gz tmp/
mrbe@lt ~/tunix $ cd tmp/
mrbe@lt ~/tunix/tmp $ cat initrd.gz | gzip -d | cpio -i # jetzt ist es entpackt!
mrbe@lt ~/tunix/tmp $ rm initrd.gz # sonst findet find die datei auch noch!
mrbe@lt ~/tunix/tmp $ cp ../new-splash.so usr/lib/usplash/usplash-artwork.so
mrbe@lt ~/tunix/tmp $ find | cpio -H newc -o | gzip > ../live-cd/casper/initrd.gz

Quelle: http://pluto.htu.tuwien.ac.at/How-To_build_a_Live-CD
 

Ähnliche Themen

Bios Boot-Reihenfolge

Samba 3.6.25 - OpenLDAP Setup

Keine grafische Oberfläche (Debian Installation)

Arch Linux Iso Image verifizieren

Batch-Datei Alternative unter Linux

Sucheingaben

initrd.img entpacken

,

initrd entpacken

,

initrd.img bearbeiten

,
packen initrd.img
, wie initrd.gz erstellen, initrd.gz bearbeiten, uinitrd linux ändern, initrd.gz entpacken, initrd anpassen, initrd img bearbeiten, initrd image bearbeiten, initrd squashfs entpacken
Oben