Under-Construction

▲Zaurus Top | ↑Up(設定・システム) | ←Prev(rsync でファイルの同期) | →Next(ntpdate)


ディレクトリツリー一覧

(2003/06/29)

Zaurus のファイルシステムは次の構成になっている。

bash-2.05# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/root                54272     48616      5656  90% /
/dev/ram1                   44        36         8  82% /dev
/dev/mtdblock3           69632     12388     57244  18% /home
none                      1024        80       944   8% /dev/shm
/dev/mmcda1             249728     72528    177200  29% /usr/mnt.rom/card
bash-2.05# cat /etc/fstab 
/dev/mtdblock2  /               jffs2   ro,noatime      1  1 
/dev/mtdblock3  /home           jffs2   defaults,noatime        1  2 
none            /dev/shm        tmpfs   size=1m,noauto  0  0
/dev/hda1       /mnt/cf         auto    noauto,owner    0  0
/dev/mmcda1     /mnt/card       auto    noauto,owner    0  0
none            /dev/pts        devpts  gid=5,mode=620  0  0

ファイルシステムの jffs2 は、PC 用 Linxu では耳慣れないが、フラッシュメモリ上に作られるファイルシステムである。The Journalling Flash File System, version 2 ということらしい。フラッシュメモリは、メモリの消去がブロック単位でしか行うことができない、同じ場所に書き込みを繰り返すと、メモリが痛んで寿命が尽きる、などの問題があるので、その点について考慮されている。組み込み向けに、電源断にも強いということが、Journalling からも伺える。ちなみに、CFや SD は fat や ext2 でファイルシステムを作っても、メモリカード内のコントローラが面倒をみてくれるので、ブロック消去や繰り返し書き込みについて、深く考えなくても良い。

同様の向きで、圧縮ROMファイルシステム cramfs というのもある。こっちは、書き込みができない。

Unix 的に見たときのファイルツリー

ファイルツリーとしては、下のようになる。シンボリックリンクが多いが、それさえ気にしなければ、/home/ 以外は、特に違和感ないように感じるはずだ。あるべきファイルがそのパスにある。(実体は別のところかもしれないが、、)

/                 {ROM上に作られる。読み取り専用}
                  {読み書きが必要なものは /home/ 以下に symlink されている}
  + bin/              {Linuxとしての /etc}
  + boot/
  + dev/
  + etc/ -> /home/etc {Linuxとしての /etc}
  + home/
  + lib/
  + mnt/ -> /var/mnt/
  + opt/
  + proc/              {/proc FS(PC用と同じ)}
  + root/
  + sbin/
  + tmp/ -> /dev/shm/tmp
  + usr/
    + QtPalmtop.rom/
    + bin.rom/
    + lib.rom/
    + local.rom/
    + mnt.rom/
    + sbin.rom/
    + share.rom/
    + sharp.rom/
    + bin/ -> /home/root/usr/bin/
    + etc/ -> /home/root/usr/etc/
    + lib/ -> /home/root/usr/lib/
    + local/ -> /home/root/usr/local/
    + sbin/ -> /home/root/usr/sbin/
    + share/ -> /home/root/usr/share/
    + sharp/ -> /home/root/usr/sharp/

  + var/ -> /home/system/var

/home/            {本体メモリ上に作られる。読み書き可能。}
  + QtPalmtop/        {QtPalmtop のメインディレクトリ}
  + etc/              {/bin を読み書き用に提供する。}
  + root/
    + Applications/ -> /home/zaurus/Applications/
    + Documents/    -> /home/zaurus/Documents/
    + Settings/     -> /home/zaurus/Settings/
                          { /home/zaurus と共通}
    + modules/
    + systeminfo/
    + usr/            {/usr を読み書き用に提供する。}
      + bin/              { システムコマンドは /usr/bin.rom/ 以下への symlink}
                          { 追加で /usr/bin/ に置いたコマンドは、 実際には /home/root/usr/bin/ に置かれる。}
      + etc/
      + lib/
        + ipkg/           { インストールされた ipk の情報}
      + local/
      + sbin/
      + share/
  + samba/            {usbdnet でのザウルスドライブ。バックアップしたり。}
    + Main_Memory/ -> /home/zaurus/Documents
    + SD_Card/     -> /mnt/card
  + sharp/
  + system/
    + var/            {/var を読み書き用に提供する。}
  + tmp/
  + userdata/
  + zaurus/           {ザウルスユーザのホームディレクトリ}
    + Applications/       {アプリケーションが自由に使う}
    + Documents/          {ユーザデータはここに保存}
    + Settings/           {設定ファイル .conf 置き場}

/dev/shm/         {RAM ディスク。電源OFFで消去される。}
  + run/              {/var/run/ へリンクされる。daemon のPIDなどが記録される}
  + tmp/              {/tmp/ へリンクされる。Socket置き場}

/mnt/card/        {SD カードのマウントポイント}
/mnt/cf/          {CFメモリカードのマウントポイント}
/dev/pts/

QtPalmtop 的に見たディレクトリツリー


Qt関係をまとめると、こんな感じ。

/home/
  + QtPalmtop/
    + apps/
    + bin/        {アプリケーションの実行ファイル}
                  {システムアプリ: /usr/QtPalmtop.rom/ 内への symlink}
                  {本体メモリへインストールしたアプリ: 実体がこの中に。}
                  {SDカードへ: /var/mnt/card/QtPalmtop/bin/ 内への symlink}
    + binlib/
    + defconf/
    + demo/
    + dic/        {C760 内蔵辞書のファイルたち}
    + etc/
    + help/
    + i18n/
    + j2me/
    + java/
    + lib/
    + pics/
    + pics144/
    + plugins/
    + qpe.sh/
    + share/
    + sounds/
    + zone/

  + root/
    + Applications/ -> /home/zaurus/Applications/
    + Documents/    -> /home/zaurus/Documents/
    + Settings/     -> /home/zaurus/Settings/
  + samba/
    + Main_Memory/  -> /home/zaurus/Documents/
    + SD_Card/      -> /mnt/card/
  + zaurus/            {ザウルスユーザのホームディレクトリ}
    + Applications/       {アプリケーションが自由に使う}
    + Documents/          {ユーザデータはここに保存}
      + Book_Files/
      + Image_Files/
      + Install_Files/
      + Movie_Files/
      + Presentation_Files/
      + Text_Files/
      + Web_Files/
        + Bookmark_Files/   {NetFront の「ブックマーク」}
	+ Pagememo_Files/   {NetFront の「ページメモ」で保存したページ}
{NetFront でファイルをダウンロードした場合、content-type が AAA/BBB の時、~zaurus/Documents/AAA/BBB/ 内に保存しようとする。}
      + application/
        + ipkg/              {content-type=application/ipkg}
	+ octet-stream/      {content-type=application/ipkg}
    + Settings/           {設定ファイル .conf 置き場}
/mnt/card/
  + QtPalmtop/        {/home/QtPalmtop/以下と同じ構造。SDカードにインストールしたアプリたち。}    
  + Documents/        {/home/zaurus/Documents/ 以下と同じ構造}
    + Book_Files/
  YYY-MM-DD-HH-MM.backup_SLXXXX-JP-X {本体メモリ→SDカードへのバックアップファイル}

▲Zaurus Top | ↑Up(設定・システム) | ←Prev(rsync でファイルの同期) | →Next(ntpdate)


近藤靖浩