これは 借りに動作した ものを置いてあるディレクトリ です
squashfs-root と いうのは rootimg.squash を 作成する前の段階です。
$ su - パスワード: # cd 001-base-Plamo-Full/001_boot-OK-base/ # ls P_Plamo_backup_cpio.gz basic-root-img/ isolinux/ lost+found/ # ls basic-root-img/ rootimg.squash squashfs-root/ # ls basic-root-img/squashfs-root/ bin/ dev/ install/ lost+found/ mnt/ proc/ sbin/ tmp/ boot/ etc/ lib/ media/ net/ root/ srv/ usr/ cdrom/ home/ loop/ misc/ opt/ run/ sys/ var/ # ls isolinux/ System.map initrd.gz sample.msg System.map-3.12.5-plamoSMP isolinux.bin syslinux.cfg boot.cat isolinux.cfg vmlinuz config plamo51.lss vmlinuz-3.12.5-plamoSMP config-3.12.5-plamoSMP rootimg.squash
isolinux というのは USB の 中身のものです。
# mount /dev/cdrom /cdrom mount: block device /dev/sr0 is write-protected, mounting read-only # ls /cdrom/ # ls /cdrom/isolinux/ System.map initrd.gz sample.msg System.map-3.12.5-plamoSMP isolinux.bin syslinux.cfg boot.cat isolinux.cfg vmlinuz config plamo51.lss vmlinuz-3.12.5-plamoSMP config-3.12.5-plamoSMP rootimg.squash # umount /cdrom/ # eject
initrd.gz と rootimg.squash が 今回 の 重要な ファイルです。
USB に 書き込む 前のデーターと USB に 存在している rootimg.squash が 同じかどうか 確認してみました。
# time cmp basic-root-img/rootimg.squash isolinux/rootimg.squash /* 書き込む 前のデータ */ real 4m2.658s user 0m9.770s sys 0m4.860s # time diff -s basic-root-img/rootimg.squash isolinux/rootimg.squash Files basic-root-img/rootimg.squash and isolinux/rootimg.squash are identical real 3m58.383s user 0m6.687s sys 0m5.023s # mount /dev/sdb2 /mnt/ /* USB の ある ものとの確認 */ # time cmp isolinux/rootimg.squash /mnt/isolinux/rootimg.squash # time cmp isolinux/rootimg.squash /mnt/isolinux/rootimg.squash real 4m1.253s user 0m9.823s sys 0m5.280s # time diff -s isolinux/rootimg.squash /mnt/isolinux/rootimg.squash Files isolinux/rootimg.squash and /mnt/isolinux/rootimg.squash are identical real 4m1.394s user 0m6.450s sys 0m5.740s
通常の構成は
# ls / bin/ cdrom/ etc/ lib/ media/ opt/ root/ sbin/ sys/ usr/ boot/ dev/ home/ lost+found/ mnt/ proc/ run/ srv/ tmp/ var/ /* USB の rootimg.squash を 展開した場合の 構成は */ # ls basic-root-img/squashfs-root/ bin/ dev/ install/ lost+found/ mnt/ proc/ sbin/ tmp/ boot/ etc/ lib/ media/ net/ root/ srv/ usr/ cdrom/ home/ loop/ misc/ opt/ run/ sys/ var/
御覧の様に 一部追加されています また 全て空の ディレクトリです。 install/ loop/ misc/ net/
# ls -a basic-root-img/squashfs-root/install/ ./ ../ # ls -a basic-root-img/squashfs-root/loop/ ./ ../ # ls -a basic-root-img/squashfs-root/misc/ ./ ../ # ls -a basic-root-img/squashfs-root/net/ ./ ../
通常の構成に 対して 空の ディレクトリがある。勿論 空 でも 動作中には 重要な ものも当然ありますが (例えば proc ディレクトリ)
fstab の 構成も特殊 に なっています swap は ありません
# cat basic-root-img/squashfs-root/etc/fstab /dev/root / ext4 defaults 1 1 none /proc proc defaults 0 0 none /sys sysfs defaults 0 0 none /dev tmpfs defaults 0 0 none /dev/pts devpts gid=5,mode=620 0 0 none /proc/bus/usb usbfs noauto 0 0
まあ 他にも 参考となるものがあります。
# cat basic-root-img/squashfs-root/etc/HOSTNAME p-plamo # sed -e '/^#/d' basic-root-img/squashfs-root/etc/hosts.allow | uniq ALL : ALL # ls basic-root-img/squashfs-root/etc/rc.d/ init.d/ rc.K* rc.avahidaemon* rc.initpkg* rc.xdm* rc5.d/ rc.0@ rc.M* rc.avahidnsconfd* rc.keymap* rc0.d/ rc6.d/ rc.4* rc.M.ORG* rc.cdrom rc.local* rc1.d/ rc.4.ORG* rc.S* rc.inet1@ rc.modules* rc2.d/ rc.6* rc.S.ORG* rc.inet1.tradnet* rc.networkmanager rc3.d/ rc.6.ORG* rc.Xindirect* rc.inet2* rc.sj3@ rc4.d/ # file basic-root-img/squashfs-root/etc/mtab basic-root-img/squashfs-root/etc/mtab: empty
にゃんたろう 拝!
2014年 3月 1日 土曜日 21:02:12 JST 作成