User Tools

Site Tools


initrd

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
initrd [2025/06/01 07:51]
me
initrd [2025/06/01 08:06] (current)
me
Line 95: Line 95:
 For next kernel with different options customize mkinitrd.conf again, create new initrd, make backup and so on. For next kernel with different options customize mkinitrd.conf again, create new initrd, make backup and so on.
 That way you could have different initrds and saved all options to regenerate each of them. It’s safe attitude as playing with new kernel and initrd configuration you always have working old one. That way you could have different initrds and saved all options to regenerate each of them. It’s safe attitude as playing with new kernel and initrd configuration you always have working old one.
 +
 +all content below here from:-
 +
 +https://www.thegeekstuff.com/2009/07/how-to-view-modify-and-recreate-initrd-img/
 +
 +
 +How to View, Modify and Recreate initrd.img
 +by SASIKALA on JULY 10, 2009
 +Question: How do I view, modify and recreate the new initrd.img on Ubuntu, Debian, CentOS, Fedora, Red-Hat, Arch Linux, or SUSE distributions?
 +
 +
 +1. How To View Content Of initrd.img file?
 +initrd.img is in gzip format.  So move initrd.img to initrd.gz as shown below.
 +
 +# cp /tftpboot/el5/initrd.img  .
 +
 +# ls
 +cdrom   initrd.img
 +
 +# mv initrd.img initrd.gz
 +Unzip the initrd.gz file as shown below.
 +
 +# gunzip initrd.gz
 +
 +# ls
 +cdrom  initrd
 +After unziping the initrd.gz file, the initrd is further in cpio ‘newc’ format. So extract the files from initrd using cpio ‘newc’ format as shown below.
 +Note: info cpio will give more information about ‘newc’ format.
 +
 +# mkdir tmp2
 +
 +# cd tmp2/
 +
 +# cpio -id < ../initrd
 +16524 blocks
 +Now you can view the content of initrd.img file
 +
 +# ls
 +bin  dev  etc  init  modules proc  sbin  selinux  sys  tmp  var
 +2. How To Modify Content of Image and Recreate New Image?
 +After extracting the file as shown below, make appropriate modification to any of those files. Then pack the files back into the archive using the following commands. Pack the modified files back to cpio ‘newc’ format.
 +
 +# find . | cpio --create --format='newc' > /tmp/newinitrd
 +16524 blocks
 +
 +# ls /tmp/
 +cdrom  initrd  newinitrd  tmp2
 +
 +# ls -l /tmp/newinitrd
 +-rw-r--r-- 1 root root 8460288 Jul  2 14:50 /tmp/newinitrd
 +Gzip the archive file.
 +
 +# gzip newinitrd
 +
 +# ls
 +cdrom  initrd  newinitrd.gz  tmp2
 +
 +# ls -l newinitrd.gz
 +-rw-r--r--  1 root root 6649867 Jul  2 14:50 newinitrd.gz
 +Move file as an image file. You can use the newinitrd.img as your new boot image.
 +
 +# mv newinitrd.gz newinitrd.img
 +
 +# ls -l newinitrd.img
 +-rw-r--r-- 1 root root 6649867 Jul  2 14:50 newinitrd.img
 +
 +all content below here from:-
 +
 +https://access.redhat.com/solutions/24029
 +
 +How to unpack/uncompress and repack/re-compress an initial ramdisk (initrd/initramfs) boot image file on RHEL 5,6 ?
 + SOLUTION VERIFIED - Updated August 7 2024 at 7:03 AM - English 
 +Environment
 +Red Hat Enterprise Linux 6
 +Red Hat Enterprise Linux 5
 +Note: For RHEL7 and RHEL8, refer to How to extract the contents of initramfs image on RHEL7?
 +
 +Issue
 +How do I unpack or uncompress, and then repack or re-compress, an initrd or initramfs boot image file?
 +How do I modify the contents of an initrd or initramfs?
 +How do I view an initrd or initramfs?
 +Resolution
 +First, create a temporary work directory and switch into it. This will be the location where the initramfs/initrd contents will be viewed, edited, and re-compressed if required:
 +
 +Raw
 +mkdir /tmp/initrd
 +cd /tmp/initrd
 +Identify compression format of the image
 +Use the file command on the initramfs/initrd to identify the compression format:
 +
 +Raw
 +file /boot/initramfs-$(uname -r).img
 +The $(uname -r) will use the file for the current kernel version. You may also specify a specific file, such as:
 +
 +Raw
 +file /boot/initramfs-2.6.32-754.el6.x86_64.img
 +The most common is a gzip-format image which displays as:
 +
 +Raw
 +# file /boot/initramfs-$(uname -r).img
 +/boot/initramfs-2.6.32-754.el6.x86_64.img: gzip compressed data
 +However, there may also be an XZ/LZMA-format image which displays as:
 +
 +Raw
 +# file /boot/initramfs-$(uname -r).img
 +/boot/initramfs-2.6.32-754.el6.x86_64.img: LZMA compressed data
 +Select the appropriate instructions below to extract or repack the correct image type for your system.
 +
 +gzip format - Extract / Uncompress
 +Uncompress and extract the contents of the image in the /boot/ directory:
 +
 +Raw
 +zcat /boot/initrd-$(uname -r).img | cpio -idmv
 +gzip format - Repack / Recompress
 +Still in the working directory, find all files and add them to a new boot image file:
 +
 +Raw
 +find . | cpio -o -c -R root:root | gzip -9 > /boot/new.img
 +xz/LZMA format - Extract / Uncompress
 +Uncompress and extract the contents of the image in the /boot/ directory:
 +
 +Raw
 +xz -dc < /boot/initrd-$(uname -r).img | cpio -idmv
 +xz/LZMA format - Repack / Recompress
 +Still in the working directory, find all files and add them to a new boot image file:
 +
 +Raw
 +find . 2>/dev/null | cpio -o -c -R root:root | xz -9 --format=lzma > /boot/new.img
 +
 +
  
  
initrd.1748764266.txt.gz · Last modified: 2025/06/01 07:51 by me