そんなおり、、、、
注:cpio マニュアルページは、その通りに行うとあなたの initramfs アーカ イブを壊してしまう幾つかの悪いアドバイスを含んでいます。曰く、「ファイ ル名の一覧を作る典型的な方法は find コマンドを用いる事で、書き込み不可 またはサーチ不可なディレクトリ上のパーミッションによる問題を最小化する 為に find コマンドに -depth オプションを与えるべきです。」 initramfs.cpio.gz イメージを作成する際はこの通りにしないで下さい。やっ た場合は動きません。Linux カーネルの cpio 展開ルーチンは、ディレクトリ が存在しない場合にはその中のファイルを生成しませんので、ディレクトリ中 のファイル群のエントリの前にそのディレクトリのエントリが来ないといけま せん。上記のスクリプトは一覧を正しい順序で得ます。
Buffalo のトラップでもなんでもなくて、これちゃうの??
たしかに、
find . -depth -print | cpio -ov > /tmp/initrdとして、find に -depth オプションを付けて initrd を作っていたし、、、
(cd "$1"; find . | cpio -o -H newc | gzip) > "$2"に倣ってスクリプトを修正する。
root@qube:/srv/tftp/ls400-111# vi remakeinitrd.sh : : root@qube:/srv/tftp/ls400-111# cat remakeinitrd.sh set -x dd if=initrd.buffalo.orig of=/tmp/initrd.gz bs=64 skip=1 gunzip /tmp/initrd.gz mkdir root cd root cat /tmp/initrd | cpio -id find . | cpio -o -H newc | gzip > /tmp/initrd.gz cd .. #rm -fr root mkimage -A ARM -O Linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs -d /tmp/initrd.gz initrd.buffalo rm -f /tmp/initrd.gz rm -f ../initrd.buffalo ln initrd.buffalo .. root@qube:/srv/tftp/ls400-111#
root@qube:/srv/tftp/ls400-111# sh remakeinitrd.sh + dd if=initrd.buffalo.orig of=/tmp/initrd.gz bs=64 skip=1 185731+1 records in 185731+1 records out 11886820 bytes (12 MB) copied, 28.3328 s, 420 kB/s + gunzip /tmp/initrd.gz + mkdir root + cd root + cat /tmp/initrd + cpio -id 52829 blocks + find . + cpio -o -H newc + gzip 52829 blocks + cd .. + mkimage -A ARM -O Linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs -d /tmp/initrd.gz initrd.buffalo Image Name: initramfs Created: Sun Oct 20 15:35:37 2013 Image Type: ARM Linux RAMDisk Image (gzip compressed) Data Size: 11927045 Bytes = 11647.50 kB = 11.37 MB Load Address: 0x00000000 Entry Point: 0x00000000 + rm -f /tmp/initrd.gz + rm -f ../initrd.buffalo + ln initrd.buffalo .. root@qube:/srv/tftp/ls400-111#
白点灯!!
[root@LS410D06E ~]#きたー!
|
← 別パーティションに Debian の / を置く(4) |
ハックの記録 LinkStation/玄箱 をハックしよう |
→ 永かった。。。 |
Copyright (C) 2003-2013 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp 山下康成@京都府向日市