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、最大圧縮
これでカーネルの起動が簡単になりました。