El día 12 de enero de 2014, 19:50, Alfredo Amaya
Hola, hace unos días reporté un bug que venía con la versión Live de openSUSE 13.1. La live no arranca a través de PXE usando la sintaxis recomendada:
isofrom_device=nfs:SERVIDOR:/punto/de/montaje isofrom_system=openSUSE-13.1-KDE-Live-x86_64.iso
El bug fue aceptado, corregido y resuelto. Además fue enviado un request a Factory para que no ocurra en futuras versiones. Todo genial. El problema es que el mantenedor del paquete me dice que si quiero comprobar que su solución funciona debo parchear un fichero (cosa que no tengo la más mínima idea de cómo se hace) para poder probarlo.
¿Alguien me explica cómo puedo parchear el archivo initrd (el ramdisk de arranque) que viene con la Live?
Perdiendo un rato en Google buscando casos similares he visto que se trata de montar la iso y extraer el fichero, descomprimir el ramdisk, hacer una magia y volver a comprimirlo otra vez para incluirlo de nuevo en la iso.
¿Alguien tiene idea de los pasos que hay que seguir?
La historia de la que hablo es esta: https://bugzilla.novell.com/show_bug.cgi?id=857824
Para montar las imagenes iso, si no me equivoco es: mount -o loop archivo.iso /mnt/disk El comando que se encarga de crear el initrd es mkinitrd, pero este llama a varios scripts: /lib/mkinitrd /lib/mkinitrd/bin /lib/mkinitrd/bin/ipconfig /lib/mkinitrd/bin/linuxrc /lib/mkinitrd/bin/run-init /lib/mkinitrd/bin/warpclock /lib/mkinitrd/boot /lib/mkinitrd/boot/01-acpi.sh /lib/mkinitrd/boot/01-devfunctions.sh /lib/mkinitrd/boot/01-fv_guest.sh /lib/mkinitrd/boot/01-vendor.sh /lib/mkinitrd/boot/02-start.sh /lib/mkinitrd/boot/03-dm.sh /lib/mkinitrd/boot/03-md.sh /lib/mkinitrd/boot/03-rtc.sh /lib/mkinitrd/boot/03-scsi_dh.sh /lib/mkinitrd/boot/03-storage.sh /lib/mkinitrd/boot/04-multipathd.sh /lib/mkinitrd/boot/04-udev.sh /lib/mkinitrd/boot/05-amd_microcode.sh /lib/mkinitrd/boot/05-clock.sh /lib/mkinitrd/boot/05-kms.sh /lib/mkinitrd/boot/06-plymouth.sh /lib/mkinitrd/boot/11-block.sh /lib/mkinitrd/boot/11-firewire.sh /lib/mkinitrd/boot/11-ibft.sh /lib/mkinitrd/boot/11-usb.sh /lib/mkinitrd/boot/12-network.sh /lib/mkinitrd/boot/13-netconsole.sh /lib/mkinitrd/boot/21-cifs.sh /lib/mkinitrd/boot/21-devinit_done.sh /lib/mkinitrd/boot/21-dmraid.sh /lib/mkinitrd/boot/21-multipath.sh /lib/mkinitrd/boot/21-nfs.sh /lib/mkinitrd/boot/22-kpartx.sh /lib/mkinitrd/boot/61-lvm2.sh /lib/mkinitrd/boot/71-luks.sh /lib/mkinitrd/boot/81-resume.userspace.sh /lib/mkinitrd/boot/82-resume.kernel.sh /lib/mkinitrd/boot/83-mount.sh /lib/mkinitrd/boot/84-remount.sh /lib/mkinitrd/boot/91-createfb.sh /lib/mkinitrd/boot/91-killudev.sh /lib/mkinitrd/boot/91-mtab.sh /lib/mkinitrd/boot/91-plymouth.chroot.sh /lib/mkinitrd/boot/91-shell.sh /lib/mkinitrd/boot/92-killmultipathd.sh /lib/mkinitrd/boot/93-boot.sh /lib/mkinitrd/dev /lib/mkinitrd/scripts /lib/mkinitrd/scripts/boot-acpi.sh /lib/mkinitrd/scripts/boot-amd_microcode.sh /lib/mkinitrd/scripts/boot-block.sh /lib/mkinitrd/scripts/boot-boot.sh /lib/mkinitrd/scripts/boot-cifs.sh /lib/mkinitrd/scripts/boot-clock.sh /lib/mkinitrd/scripts/boot-createfb.sh /lib/mkinitrd/scripts/boot-devfunctions.sh /lib/mkinitrd/scripts/boot-devinit_done.sh /lib/mkinitrd/scripts/boot-dm.sh /lib/mkinitrd/scripts/boot-dmraid.sh /lib/mkinitrd/scripts/boot-firewire.sh /lib/mkinitrd/scripts/boot-fv_guest.sh /lib/mkinitrd/scripts/boot-ibft.sh /lib/mkinitrd/scripts/boot-killmultipathd.sh /lib/mkinitrd/scripts/boot-killudev.sh /lib/mkinitrd/scripts/boot-kms.sh /lib/mkinitrd/scripts/boot-kpartx.sh /lib/mkinitrd/scripts/boot-luks.sh /lib/mkinitrd/scripts/boot-lvm2.sh /lib/mkinitrd/scripts/boot-md.sh /lib/mkinitrd/scripts/boot-mount.sh /lib/mkinitrd/scripts/boot-mtab.sh /lib/mkinitrd/scripts/boot-multipath.sh /lib/mkinitrd/scripts/boot-multipathd.sh /lib/mkinitrd/scripts/boot-netconsole.sh /lib/mkinitrd/scripts/boot-network.sh /lib/mkinitrd/scripts/boot-nfs.sh /lib/mkinitrd/scripts/boot-plymouth.chroot.sh /lib/mkinitrd/scripts/boot-plymouth.sh /lib/mkinitrd/scripts/boot-remount.sh /lib/mkinitrd/scripts/boot-resume.kernel.sh /lib/mkinitrd/scripts/boot-resume.userspace.sh /lib/mkinitrd/scripts/boot-rtc.sh /lib/mkinitrd/scripts/boot-scsi_dh.sh /lib/mkinitrd/scripts/boot-shell.sh /lib/mkinitrd/scripts/boot-start.sh /lib/mkinitrd/scripts/boot-storage.sh /lib/mkinitrd/scripts/boot-udev.sh /lib/mkinitrd/scripts/boot-usb.sh /lib/mkinitrd/scripts/boot-vendor.sh /lib/mkinitrd/scripts/setup-acpi.sh /lib/mkinitrd/scripts/setup-amd_microcode.sh /lib/mkinitrd/scripts/setup-block.sh /lib/mkinitrd/scripts/setup-blockpartition.sh /lib/mkinitrd/scripts/setup-cifs.sh /lib/mkinitrd/scripts/setup-clock.sh /lib/mkinitrd/scripts/setup-dm.sh /lib/mkinitrd/scripts/setup-dmraid.sh /lib/mkinitrd/scripts/setup-done.sh /lib/mkinitrd/scripts/setup-firewire.sh /lib/mkinitrd/scripts/setup-fv_guest.sh /lib/mkinitrd/scripts/setup-ibft.sh /lib/mkinitrd/scripts/setup-kms.sh /lib/mkinitrd/scripts/setup-kpartx.sh /lib/mkinitrd/scripts/setup-luks.sh /lib/mkinitrd/scripts/setup-luks2.sh /lib/mkinitrd/scripts/setup-luks_final.sh /lib/mkinitrd/scripts/setup-lvm2.sh /lib/mkinitrd/scripts/setup-md.sh /lib/mkinitrd/scripts/setup-modules.sh /lib/mkinitrd/scripts/setup-mount.sh /lib/mkinitrd/scripts/setup-multipath.sh /lib/mkinitrd/scripts/setup-network.sh /lib/mkinitrd/scripts/setup-nfs.sh /lib/mkinitrd/scripts/setup-plymouth.sh /lib/mkinitrd/scripts/setup-prepare.sh /lib/mkinitrd/scripts/setup-progs.sh /lib/mkinitrd/scripts/setup-scsi_dh.sh /lib/mkinitrd/scripts/setup-sharedlibs.sh /lib/mkinitrd/scripts/setup-splashy.sh /lib/mkinitrd/scripts/setup-start.sh /lib/mkinitrd/scripts/setup-storage.sh /lib/mkinitrd/scripts/setup-udev.sh /lib/mkinitrd/scripts/setup-usb.sh /lib/mkinitrd/scripts/setup-vendor.sh /lib/mkinitrd/setup /lib/mkinitrd/setup/01-fv_guest.sh /lib/mkinitrd/setup/01-prepare.sh /lib/mkinitrd/setup/01-splashy.sh /lib/mkinitrd/setup/02-start.sh /lib/mkinitrd/setup/03-kms.sh /lib/mkinitrd/setup/03-plymouth.sh /lib/mkinitrd/setup/03-udev.sh /lib/mkinitrd/setup/03-usb.sh /lib/mkinitrd/setup/11-storage.sh /lib/mkinitrd/setup/21-luks.sh /lib/mkinitrd/setup/31-lvm2.sh /lib/mkinitrd/setup/32-luks2.sh /lib/mkinitrd/setup/41-md.sh /lib/mkinitrd/setup/51-kpartx.sh /lib/mkinitrd/setup/61-dmraid.sh /lib/mkinitrd/setup/61-multipath.sh /lib/mkinitrd/setup/62-dm.sh /lib/mkinitrd/setup/71-blockpartition.sh /lib/mkinitrd/setup/72-block.sh /lib/mkinitrd/setup/81-cifs.sh /lib/mkinitrd/setup/81-firewire.sh /lib/mkinitrd/setup/81-nfs.sh /lib/mkinitrd/setup/81-scsi_dh.sh /lib/mkinitrd/setup/82-network.sh /lib/mkinitrd/setup/83-ibft.sh /lib/mkinitrd/setup/91-acpi.sh /lib/mkinitrd/setup/91-amd_microcode.sh /lib/mkinitrd/setup/91-clock.sh /lib/mkinitrd/setup/91-luks_final.sh /lib/mkinitrd/setup/91-modules.sh /lib/mkinitrd/setup/91-mount.sh /lib/mkinitrd/setup/91-progs.sh /lib/mkinitrd/setup/91-vendor.sh /lib/mkinitrd/setup/92-sharedlibs.sh /lib/mkinitrd/setup/93-done.sh /sbin/mkinitrd /sbin/mkinitrd_setup /usr/share/man/man5/mkinitrd.5.gz /usr/share/man/man8/mkinitrd.8.gz /usr/share/mkinitrd /var/adm/fillup-templates/sysconfig.kernel-mkinitrd Si el sistema destino es igual al que estás usando, lo lógico sería copiar el mismo initrd del sistema que estás usando a la imagen iso. -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org