RHEL iso에서 initrd 이미지를 추출하고 스크립트를 initrd /bin/에 넣는 방법

RHEL iso에서 initrd 이미지를 추출하고 스크립트를 initrd /bin/에 넣는 방법

initrd /bin에 넣고 싶은 사용자 정의 셸 스크립트(명령)를 작성한 다음 이를 Linux OS /opt/xyz 디렉터리에 복사하려고 합니다. 여기서 xyz는 설치 중에 생성된 사용자 정의 디렉터리입니다.

이 작업을 어떻게 수행할 수 있습니까?

답변1

어떻게?

Redhat initramfs 예제 가져오기

cp /boot/initramfs-2.6.32-220.el6.x86_64.img initramfs.img

우리는 무엇을 가지고 있습니까?

  • initramfs.img: Unix의 gzip 압축 데이터, 마지막 수정: 2015년 10월 22일 목요일 07:04:25, 최대 압축

압축하다

gunzip < initramfs.img > initramfs.stage1
  • initramfs.stage1: ASCII cpio 아카이브(CRC가 없는 SVR4)

그것을 추출하다

cpio -icv < initramfs.stage1
(lots of line)
usr/sbin
usr/sbin/eject
usr/sbin/chroot
96258 blocks

내 물건 추가

mkdir opt/xyz
date > opt/xyz/foo.txt

리드 없음 /!

cpio 리메이크(initramfs.* 파일을 삭제했습니다)

find . -type f -print | cpio -ocv > ../newinitram.stage2
(lots of lines)
./usr/bin/mkfifo
./usr/sbin/eject
./usr/sbin/chroot
96186 blocks

우리는 무엇을 가지고 있습니까?

  • ../newinitram.stage2: ASCII cpio 아카이브(CRC가 없는 SVR4)

이제 압축해 보세요.

gzip -9 < ../newinitram.stage2 > newinitrd.stage3
  • newinitrd.stage3: Unix의 gzip 압축 데이터, 마지막 수정: 2015년 12월 19일 토요일 06:32:08, 최대 압축

이제 커널 부팅이 쉬워졌습니다.

관련 정보