さて混合のものを作成します。
要するに rootdsk.pcmcia のinitrd です。
# mount -o loop initrd qmt/ # df | sed 2d Filesystem 1k-blocks Used Available Use% Mounted on /home/oboot/003_final_root/a_files/initrd 3745 2600 1145 70% /home/oboot/003_final_rot/a_files/qmt # ls qmt/ bin/ cdrom@ etc/ floppy/ linuxrc@ mnt/ root/ tag/ usr/ boot@ dev/ fd/ lib/ lost+found/ proc/ sbin/ tmp/ var/
buildroot の root システム です。
$ pwd /home/ggg/proj/buildroot/build_i386/root $ ls bin/ etc/ lib/ mnt/ proc/ sbin/ usr/ dev/ home/ linuxrc@ opt/ root/ tmp/ var/
ld-uClibc を 置き換えます。
# ls qmt/lib ld-uClibc-0.9.23.so* libgcc_s.so@ libncurses.so.5@ ld-uClibc.so.0@ libgcc_s.so.0.9.9 libncurses.so.5.2* libc.so.0@ libm-0.9.23.so libuClibc-0.9.23.so libdl-0.9.23.so libm.so.0@ modules/ libdl.so.0@ libncurses.so@
buildroot の root の lib から コピー するだけです。
# pwd /home/oboot/003_final_root/a_files # cd qmt/lib # pwd /home/oboot/003_final_root/a_files/qmt/lib # cp -a /home/ggg/proj/buildroot/build_i386/root/lib/ld-uClibc-0.9.27.so . # cp -d /home/ggg/proj/buildroot/build_i386/root/lib/ld-uClibc.so.0 . # ls -l ld-uClibc.so.0 | awk '{printf "%-12s\t%4s\t%12s\n",$9,$10,$11}' ld-uClibc.so.0 -> ld-uClibc-0.9.27.so* # rm ld-uClibc-0.9.23.so /* ld-uClibc-0.9.23.so は削除 */
このように置き換えました。
# ls ld-uClibc-0.9.27.so* libgcc_s.so@ libncurses.so.5@ ld-uClibc.so.0@ libgcc_s.so.0.9.9 libncurses.so.5.2* libc.so.0@ libm-0.9.23.so libuClibc-0.9.23.so libdl-0.9.23.so libm.so.0@ modules/ libdl.so.0@ libncurses.so@
この場合は libgcc_s.so.0.9.9 は そのまま 残しておきます。 libgcc_s.so@ は 現在
# ls -l libgcc_s.so | awk '{printf "%-12s\t%4s\t%12s\n",$9,$10,$11}' libgcc_s.so -> libgcc_s.so.0.9.9
libgcc_s.so.0.9.9 の シンボリック リンク に なっていますが コピーする libgcc_s.so.1 に シンボリック リンク を 入れ換えます。
# cp -a /home/ggg/proj/buildroot/build_i386/root/lib/libgcc_s.so.1 . # cp -d /home/ggg/proj/buildroot/build_i386/root/lib/libgcc_s.so . # ls -l libgcc_s.so | awk '{printf "%-12s\t%4s\t%12s\n",$9,$10,$11}' libgcc_s.so -> libgcc_s.so.1
このように追加 と 置き換えをしました。
# ls ld-uClibc-0.9.27.so* libdl.so.0@ libm-0.9.23.so libncurses.so.5.2* ld-uClibc.so.0@ libgcc_s.so@ libm.so.0@ libuClibc-0.9.23.so libc.so.0@ libgcc_s.so.0.9.9 libncurses.so@ modules/ libdl-0.9.23.so libgcc_s.so.1 libncurses.so.5@
libgcc_s.so.0.9.9 を そのまま残し てあります。これは 本来の 趣旨とは合致しない と云う事ですが。
これは コピーして置き換えます。
# ls ld-uClibc-0.9.27.so* libdl.so.0@ libm-0.9.23.so libncurses.so.5.2* ld-uClibc.so.0@ libgcc_s.so@ libm.so.0@ libuClibc-0.9.23.so libc.so.0@ libgcc_s.so.0.9.9 libncurses.so@ modules/ libdl-0.9.23.so libgcc_s.so.1 libncurses.so.5@
コピーして libm-0.9.23.so は 削除します。
# cp -a /home/ggg/proj/buildroot/build_i386/root/lib/libm-0.9.27.so . # cp -d /home/ggg/proj/buildroot/build_i386/root/lib/libm.so.0 . # rm libm-0.9.23.so # ls -l libm.so.0 | awk '{printf "%-12s\t%4s\t%12s\n",$9,$10,$11}' libm.so.0 -> libm-0.9.27.so
このように置き換えをしました。
# ls ld-uClibc-0.9.27.so* libdl.so.0@ libm-0.9.27.so libncurses.so.5.2* ld-uClibc.so.0@ libgcc_s.so@ libm.so.0@ libuClibc-0.9.23.so libc.so.0@ libgcc_s.so.0.9.9 libncurses.so@ modules/ libdl-0.9.23.so libgcc_s.so.1 libncurses.so.5@
# ls ld-uClibc-0.9.27.so* libdl.so.0@ libm-0.9.27.so libncurses.so.5.2* ld-uClibc.so.0@ libgcc_s.so@ libm.so.0@ libuClibc-0.9.23.so libc.so.0@ libgcc_s.so.0.9.9 libncurses.so@ modules/ libdl-0.9.23.so libgcc_s.so.1 libncurses.so.5@ # ls -l libc.so.0 | awk '{printf "%-12s\t%4s\t%12s\n",$9,$10,$11}' libc.so.0 -> libuClibc-0.9.23.so
コピーして libm-0.9.23.so は 削除します。
# cp -a /home/ggg/proj/buildroot/build_i386/root/lib/libuClibc-0.9.27.so . # cp -d /home/ggg/proj/buildroot/build_i386/root/lib/libc.so.0 . # rm libuClibc-0.9.23.so # ls -l libc.so.0 | awk '{printf "%-12s\t%4s\t%12s\n",$9,$10,$11}' libc.so.0 -> libuClibc-0.9.27.so
このように置き換えをしました。
# ls ld-uClibc-0.9.27.so* libdl.so.0@ libm-0.9.27.so libncurses.so.5.2* ld-uClibc.so.0@ libgcc_s.so@ libm.so.0@ libuClibc-0.9.27.so libc.so.0@ libgcc_s.so.0.9.9 libncurses.so@ modules/ libdl-0.9.23.so libgcc_s.so.1 libncurses.so.5@
libcrypt を 追加しておきます。
# ls ld-uClibc-0.9.27.so* libdl.so.0@ libm-0.9.27.so libncurses.so.5.2* ld-uClibc.so.0@ libgcc_s.so@ libm.so.0@ libuClibc-0.9.27.so libc.so.0@ libgcc_s.so.0.9.9 libncurses.so@ modules/ libdl-0.9.23.so libgcc_s.so.1 libncurses.so.5@
不要なのかもしれませんが ?? 追加します。
# cp -a /home/ggg/proj/buildroot/build_i386/root/lib/libcrypt-0.9.27.so . # cp -d /home/ggg/proj/buildroot/build_i386/root/lib/libcrypt.so.0 . # ls -l libcrypt.so.0 | awk '{printf "%-12s\t%4s\t%12s\n",$9,$10,$11}' libcrypt.so.0 -> libcrypt-0.9.27.so
このように追加しました。
# ls ld-uClibc-0.9.27.so* libdl.so.0@ libncurses.so@ ld-uClibc.so.0@ libgcc_s.so@ libncurses.so.5@ libc.so.0@ libgcc_s.so.0.9.9 libncurses.so.5.2* libcrypt-0.9.27.so libgcc_s.so.1 libuClibc-0.9.27.so libcrypt.so.0@ libm-0.9.27.so modules/ libdl-0.9.23.so libm.so.0@
libdl を 置き換えます。
# ls ld-uClibc-0.9.27.so* libdl.so.0@ libncurses.so@ ld-uClibc.so.0@ libgcc_s.so@ libncurses.so.5@ libc.so.0@ libgcc_s.so.0.9.9 libncurses.so.5.2* libcrypt-0.9.27.so libgcc_s.so.1 libuClibc-0.9.27.so libcrypt.so.0@ libm-0.9.27.so modules/ libdl-0.9.23.so libm.so.0@ # ls -l libdl.so.0 | awk '{printf "%-12s\t%4s\t%12s\n",$9,$10,$11}' libdl.so.0 -> libdl-0.9.23.so
コピー と削除
# cp -a /home/ggg/proj/buildroot/build_i386/root/lib/libdl-0.9.27.so . # cp -d /home/ggg/proj/buildroot/build_i386/root/lib/libdl.so.0 . # rm libdl-0.9.23.so # ls -l libdl.so.0 | awk '{printf "%-12s\t%4s\t%12s\n",$9,$10,$11}' libdl.so.0 -> libdl-0.9.27.so
このようになります。
# ls ld-uClibc-0.9.27.so* libdl.so.0@ libncurses.so@ ld-uClibc.so.0@ libgcc_s.so@ libncurses.so.5@ libc.so.0@ libgcc_s.so.0.9.9 libncurses.so.5.2* libcrypt-0.9.27.so libgcc_s.so.1 libuClibc-0.9.27.so libcrypt.so.0@ libm-0.9.27.so modules/ libdl-0.9.27.so libm.so.0@
にゃんたろう 拝!
2010年 5月 3日 (月) 21:01:41 JST 作成