kaw (2009-09-12 (土) 19:38:45)
今まで、CD-ROMの内容は /fuguita にマウントされていましたが、この方法を変更しました。
CD-ROMあるいはUSBメモリに格納された河豚板のファイルツリーが /fuguita下に見えるのは今までどおりですが、現バージョンでは物理メディアが提供するファイルシステムにはFFS形式のディスクイメージを単一のファイルとして格納し、そのイメージをvnconfigを使ってディスクデバイスにマッピングしたうえでマウントを行います。
わかりにくいので、実物を見てみます。$ df -h Filesystem Size Used Avail Capacity Mounted on /dev/rd0a 1.6M 1.4M 167K 89% / /dev/cd0a 655M 655M 0B 100% /bootmedia /dev/svnd3a 626M 579M 46.4M 93% /fuguita mfs:22096 498M 21.2M 452M 4% /mfs $ ls -l /bootmedia total 1340808 -rw-r--r-- 1 root 1001 43092 Sep 10 21:10 boot -r--r--r-- 1 root wheel 2048 Sep 12 15:56 boot.catalog -rw-r--r-- 1 root 1001 4012779 Sep 10 21:39 bsd -rw-r--r-- 1 root 1001 4022694 Sep 10 21:39 bsd.mp -rw-r--r-- 1 root 1001 44724 Sep 10 21:39 cdboot -rw-r--r-- 1 root 1001 2048 Sep 10 21:39 cdbr drwxr-xr-x 2 root 1001 2048 Sep 10 01:44 etc -rw-r--r-- 1 root 1001 678363136 Sep 12 15:33 fuguita.ffsimg drwxr-xr-x 2 root 1001 2048 Sep 10 02:12 sbin $ sudo vnconfig -l svnd3 vnd3: covering /bootmedia/fuguita.ffsimg on cd0a, inode 50208 $ ls -l /fuguita total 63 drwxr-xr-x 2 root wheel 512 Apr 12 03:09 altroot drwxr-xr-x 2 root wheel 1024 Apr 12 03:10 bin drwxr-xr-x 3 root wheel 23552 Apr 12 11:27 dev drwxr-xr-x 25 root wheel 2048 Apr 26 20:15 etc drwxr-xr-x 2 root wheel 512 Apr 12 03:09 home drwxr-xr-x 2 root wheel 512 Apr 12 03:09 mnt drwx------ 5 root wheel 512 May 1 13:50 root drwxr-xr-x 2 root wheel 1536 Apr 17 18:04 sbin drwxr-xr-x 2 root wheel 512 Apr 12 03:09 stand lrwxr-xr-x 1 root wheel 11 Sep 10 05:09 sys -> usr/src/sys drwxrwxrwt 4 root wheel 512 May 1 13:50 tmp drwxr-xr-x 18 root wheel 512 Apr 29 16:47 usr drwxr-xr-x 23 root wheel 512 Apr 12 08:20 varこのような感じです。
勿論このようにしたのは利点があったからです;
- システムのファイルツリーを格納する場所をffsにすることで、ブロックサイズやiノード密度などを調整でき、ファイルの格納効率が上る -> 現在のファイル総量600MBに対し、約40MBの容量増となった。
- 格納量の上限管理がしやすい(650MBを超えないように、等)
- 同一のファイルからCD-ROM版とUSBメモリ版が作成できるようになった。単一の開発用ディレクトリに対し、CD-ROMの場合は mkisofs、USBメモリの場合はUSBメモリ版配布用ファイルにパーティション作成 -> 開発ディレクトリをコピー -> installboot すればよい。
- isofs上に多数のファイルを書き込むことで発生していたと思われるこのような問題を回避できる可能性がある。
- CD-ROM版の実環境では、若干アクセス速度が向上した。現在のところ理由は不明だが、考えられるものとしては;
- isofsに比べffsではブロックサイズが大きいため。
- 同一のディレクトリ下のファイルがデバイス上の近い位置に並ぶことにより、ヘッドシークが減少した。
- isofsのRockRidge拡張では、8層以上のディレクトリ下のアクセスはrr_movedという変換ファイルによりアクセスが間接的に行われるが、ffsを使うことにより、このオーバーヘッドがなくなったため。
- etc...
そろそろ河豚板4.6に取り組もうかと思いますが、河豚板4.6ではこの機能をベースにする予定です。
なお、CD-ROMの内容を /fuguita に直接マウントする従来どおりの方法も、引続きサポートしています。どちらを使用しているかは、システム起動時に自動判別して対応するようになっています。
kaw (2009-09-07 (月) 07:51:01)
...というわけで、MFS作成時にiノードの密度を計算するようにしてみました。inode密度=MFSのサイズ / 河豚板システム自体が必要とするiノード数 / 2 if 16384<inode密度 then inode密度=16384 elsif inode密度<512 then inode密度=512 endifこんな感じです。
現在 test/に置いて検証中。
kaw (2009-09-05 (土) 22:52:42)
新しい起動モードを追加して気になったのが、MFSを作成するときのパラメータ。
現在は、
設定値 デフォルト値 ブロックサイズ 4096 16384 フラグメントサイズ 512 2048 iノード密度 1024 8192 となってる。つまり、
- I/O時間よりスペースファクタ重視 -> MFSなので、速度は何もしなくてもそこそこ出るはず。
- iノード密度を高く設定 -> デフォルトのモード0では、ほとんどのファイルがシンボリックリンクで、ファイルサイズの平均値が小さいため。
というような要求を満すための設定だ。
ただ、今回の Everything on MFSモードだとこのような状況はあてはまらないため、作成されるファイルシステムに無駄が生じる。
極端に多数のファイルを作成できるかわり、その領域がかなりの部分を占めるようになる。
試してみたところ、Everything on MFSモードで運用するには、800MB位のMFSサイズを指定しないと動作しないが、ファイルシステムのパラメータを適切に設定すれば、650MB程度の指定でも同様の動作が見込めるようだ。
...ということで、今後はこのあたり対応を開発目標にしていきたいと思います。
kaw (2009-09-05 (土) 12:57:46)
FuguIta-4.5-200909046をリリースしました。
一つ前の書き込みで説明した「Everything on MFS」機能が組み込まれています。
kaw (2009-09-04 (金) 16:08:45)
5/30の投稿に書いた「all on memory mode」を実装しました。
メインメモリが有り余っている人向けの機能です。
= Welcome to FuguIta - OpenBSD LiveCD! = http://kaw.ath.cx/openbsd/?en/LiveCD ============================================== disks: *cd0a fd0 fd1 rd0 Disk to boot FuguIta? [cd0a] -> user memory: 1048068096 bytes mfs available: 12MB to 999MB [default: 499MB] -> 800 set mfs size to 800MB Select boot mode; 0: fresh boot (normal) 1: fresh boot (lower memory, faster boot than mode 0) 2: fresh boot (everything on mfs) 3: retrieve user data from USB flash memory 4: retrieve user data from floppy disk 5: interactive shell for debugging ->
ここで、2の「fresh boot (everything on mfs)」を選択すると、CD-ROMまたは
USBメモリ上のシステム全体をメモリファイルシステム(MFS)に転送してから起
動します。
ですので、MFSのサイズはそれなりの大きさが必要です。800MB位~1023MB の間
でサイズを指定してみて下さい。
ブートが完了すると、全くメインメモリだけを使用して起動しますので、起動
に使用したCD-ROMやUSBメモリは取り外してしまうことができます。
現在、この機能を含んだバージョンは検証中です。test/ ディレクトリ下にある、
FuguIta-4.[56]-200909046*.gz がその圧縮イメージです。
検証が終了したら、正式版としてリリース致します。
検証版を使用して不具合等ありましたら、お知らせ下さい。
Alexander2110 (2009-08-29 (土) 13:22:17)
inna ima trata verba
kaw (2009-08-16 (日) 18:59:51)
一つ前の書き込み、「Revised」で書いた修正点を反映してリリースしました。
公開用バイナリはリリース名からおわかりのように3日程前に作っていたのですが、動作チェックをしていたので...
今、お盆休みで実家に帰ってきています。
親のPC (WindowsXPがインストールされています) で河豚板を動作させてそこから自宅のサーバにログインし、これを書いています。
通常の運用環境と変りなく使えているので、なかなか快適です。
話は変りますが、OpenBSD 4.6は10月1日にリリースされる模様です。
丁度10月までは、仕事で色々忙しくなりそうなので、河豚板 4.6もそれに合せてリリースできるかちょっと微妙です...
kaw (2009-08-12 (水) 08:12:44)
ちょっとだけバージョンアップ
LiveCD/4.5/BTS/8とLiveCD/4.5/BTS/9、あとちょっとした不具合を修正しました。
最近、あまり低スペックマシンで動かしてなかったので、メモリが少ない機械で動作させる場合の挙動についてあまり検証していませんでした。
エミュレータを使って調べてみると、ブート完了->ログインまでエラーなしで行くのは大体メモリ34MB以上くらいからでした。
それ以下では、ブート中にコマンドがメモリ不足でseg faultしたりして、正常に立ち上がりません。
河豚板は、古いマシンでもそれなりに使えることも目標の一つですので、少ないメモリでも動作することは重要です。
私の職場での場合ですが、長年にわたり特定の業務で使用してきたマシンで河豚板を立ち上げて、 そのマシンが接続されているネットワークの状況を調べる、などのケースがありました。
メモリが64MB程度以下ですと、標準のboot mode 0ではなく、boot mode 1で起動した方がよいです。
mode 1は、mode 0に比べ必要なメモリ量が格段に少なくてすみますし、ブートも早いです。
ただし、/usr以下が全てread onlyになり、pkg_addなどはできなくなるので、この点は注意が必要です。
kaw (2009-08-09 (日) 16:34:26)
USBメモリは読み出しは早いが、書込み速度はHDDに比べ遅い。
また、FFSでフォーマットして使用するとマウントオプションによりかなり差が出る。
これはいままでも経験的に感じていて、LiveUSBのスクリプトを作成するときにも
意識して使用していたのだが、今回定量的な測定をやってみた。
今回テストに使ったのは、東芝製の1GB USBメモリ
uhub4 at uhub0 port 5 "NEC product 0x005a" rev 2.00/1.00 addr 2
umass0 at uhub4 port 1 configuration 1 interface 0 "TOSHIBA TransMemory" rev 2.00/1.10 addr 3
umass0: using SCSI over Bulk-Only
scsibus2 at umass0: 2 targets, initiator 0
sd0 at scsibus2 targ 1 lun 0: <TOSHIBA, TransMemory, PMAP> SCSI0 0/direct removable
sd0: 961MB, 512 bytes/sec, 1968128 sec total
これにmfsからおよそ100MBの内容のファイルツリーを書込み、 その後に消去を行い、マウントオプションを変えた時に所要時間がどうなるかを測定した。
mount /dev/sd0d /mnt | cd /mfs && time pax -rwpe . /mnt/tmp/. | cd /mnt/tmp && time rm -rf * | ||||
mount option | real | user | system | real | user | system |
none | 24m18.37s | 0m1.15s | 0m16.58s | 14m54.99s | 0m0.26s | 0m5.70s |
noatime | 23m56.60s | 0m1.03s | 0m16.95s | 14m32.22s | 0m0.42s | 0m5.59s |
async | 07m28.74s | 0m0.79s | 0m14.29s | 00m06.91s | 0m0.24s | 0m1.90s |
async,noatime | 07m29.09s | 0m0.87s | 0m14.97s | 00m07.02s | 0m0.19s | 0m2.06s |
softdep | 09m55.40s | 0m0.73s | 0m15.59s | 04m23.48s | 0m0.24s | 0m2.17s |
softdep,noatime | 09m54.15s | 0m0.90s | 0m15.05s | 04m27.81s | 0m0.21s | 0m1.99s |
結果
テストに使用したスクリプトは、以下のとおり;
#!/bin/sh for opt in none noatime async noatime,async softdep softdep,async do if [ X$opt = Xnone ] then opt="" else opt="-o $opt" fi echo ==== opt: $opt ==== if mount $opt /dev/sd0d /mnt then cd /mfs/ && time pax -rwpe . /mnt/tmp/. umount /mnt sleep 60 fi if mount $opt /dev/sd0d /mnt then cd /mnt/tmp && time rm -rf * cd umount /mnt sleep 60 fi done
kaw (2009-08-07 (金) 02:17:23)
河豚板LiveUSB(通称 河豚刺し)の配布イメージですが、USBメモリの容量を1ギガバイト決め打ちで作ってあります。
勿論、1ギガバイト以上の容量のUSBメモリであれば配布イメージを書き込むことでちゃんと動作するんだけど、そのままでは1ギガバイトを超える部分は使われず勿体ないです。
なので、河豚刺しのパーティションサイズを変更する方法を載っけておきます(いずれちゃんと河豚板のページに整理して掲載したいと思いますが備忘録としてとりあえずこの場に記録しときます)。
サンプルで使うブツは、4GBのUSBメモリです。
umass0 at uhub4 port 1 configuration 1 interface 0 "SanDisk Cruzer Colors+" rev 2.00/1.10 addr 3 umass0: using SCSI over Bulk-Only scsibus2 at umass0: 2 targets, initiator 0 sd0 at scsibus2 targ 1 lun 0: <SanDisk, Cruzer Colors+, 5.00> SCSI0 0/direct removable sd0: 3935MB, 512 bytes/sec, 8059904 sec total
USBイメージをダウンロードしてUSBメモリに書きこみます。ここまでの操作で、LiveUSBとして普通に使えるようになります。
# ftp http://livecd-mirror.ebug.jp/LiveCD/FuguIta-4.5-200907312.usbimg.gz Trying 210.229.61.162... Requesting http://livecd-mirror.ebug.jp/LiveCD/FuguIta-4.5-200907312.usbimg.gz 100% |*****************************************************| 252 MB 16:22 Successfully retrieved file. # ls -l total 518344 -rw-r--r-- 1 root wheel 264922591 Aug 7 01:08 FuguIta-4.5-200907312.usbimg.gz # gzip -dc FuguIta-4.5-200907312.usbimg.gz | dd of=/dev/rsd0c bs=32m 0+61504 records in 0+61504 records out 1007681536 bytes transferred in 1042.160 secs (966916 bytes/sec)
FDISKパーティションを見てみると;
# fdisk -e sd0 Enter 'help' for information fdisk: 1> p m Disk: sd0 geometry: 501/255/63 [3936 Megabytes] Offset: 0 Signature: 0xAA55 Starting Ending LBA Info: #: id C H S - C H S [ start: size ] ------------------------------------------------------------------------------- 0: 00 0 0 0 - 0 0 0 [ 0: 0M] unused 1: 00 0 0 0 - 0 0 0 [ 0: 0M] unused 2: 00 0 0 0 - 0 0 0 [ 0: 0M] unused *3: A6 0 1 1 - 121 254 63 [ 63: 957M] OpenBSD
当然ですが、1ギガバイトしか確保されていません。
これを、メディア全体まで拡張します。
ついでにWindowsでも使えるようにWindows用パーティションも確保してみます。
サイズが4ギガバイトなので、OpenBSD用とWindows用とでそれぞれ約2ギガバイトに設定してみます。
まず、BSD用を2ギガバイトに変更します;
fdisk: 1> e 3 Starting Ending LBA Info: #: id C H S - C H S [ start: size ] ------------------------------------------------------------------------------- *3: A6 0 1 1 - 121 254 63 [ 63: 1959867 ] OpenBSD Partition id ('0' to disable) [0 - FF]: [A6] (? for help) A6 Do you wish to edit in CHS mode? [n] n offset: [63] size: [1959867] 2g fdisk: 1> p m Disk: sd0 geometry: 501/255/63 [3936 Megabytes] Offset: 0 Signature: 0xAA55 Starting Ending LBA Info: #: id C H S - C H S [ start: size ] ------------------------------------------------------------------------------- 0: 00 0 0 0 - 0 0 0 [ 0: 0M] unused 1: 00 0 0 0 - 0 0 0 [ 0: 0M] unused 2: 00 0 0 0 - 0 0 0 [ 0: 0M] unused *3: A6 0 1 1 - 261 22 16 [ 63: 2048M] OpenBSD
次に、Windows用パーティションを新規に作成します;
fdisk: 1> e 0 Starting Ending LBA Info: #: id C H S - C H S [ start: size ] ------------------------------------------------------------------------------- 0: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused Partition id ('0' to disable) [0 - FF]: [0] (? for help) ? Choose from the following Partition id values: 00 unused 20 Willowsoft 67 Novell AB MacOS X boot 01 DOS FAT-12 24 NEC DOS 68 Novell AF MacOS X HFS+ 02 XENIX / 38 Theos 69 Novell B7 BSDI filesy* 03 XENIX /usr 39 Plan 9 70 DiskSecure B8 BSDI swap 04 DOS FAT-16 40 VENIX 286 75 PCIX BF Solaris 05 Extended DOS 41 Lin/Minux DR 80 Minix (old) C0 CTOS 06 DOS > 32MB 42 LinuxSwap DR 81 Minix (new) C1 DRDOSs FAT12 07 HPFS/QNX/AUX 43 Linux DR 82 Linux swap C4 DRDOSs < 32M 08 AIX fs 4D QNX 4.2 Pri 83 Linux files* C6 DRDOSs >=32M 09 AIX/Coherent 4E QNX 4.2 Sec 84 OS/2 hidden C7 HPFS Disbled 0A OS/2 Bootmgr 4F QNX 4.2 Ter 85 Linux ext. DB CPM/C.DOS/C* 0B Win95 FAT-32 50 DM 86 NT FAT VS DE Dell Maint 0C Win95 FAT32L 51 DM 87 NTFS VS E1 SpeedStor 0E DOS FAT-16 52 CP/M or SysV 8E Linux LVM E3 SpeedStor 0F Extended LBA 53 DM 93 Amoeba FS E4 SpeedStor 10 OPUS 54 Ontrack 94 Amoeba BBT EB BeOS/i386 11 OS/2 hidden 55 EZ-Drive 99 Mylex EE EFI GPT 12 Compaq Diag. 56 Golden Bow 9F BSDI EF EFI Sys 14 OS/2 hidden 5C Priam A0 NotebookSave F1 SpeedStor 16 OS/2 hidden 61 SpeedStor A5 FreeBSD F2 DOS 3.3+ Sec 17 OS/2 hidden 63 ISC, HURD, * A6 OpenBSD F4 SpeedStor 18 AST swap 64 NetWare 2.xx A7 NEXTSTEP FF Xenix BBT 19 Willowtech 65 NetWare 3.xx A8 MacOS X 1C ThinkPad Rec 66 NetWare 386 A9 NetBSD Partition id ('0' to disable) [0 - FF]: [0] (? for help) 6 Do you wish to edit in CHS mode? [n] y BIOS Starting cylinder [0 - 500]: [262] 261 BIOS Starting head [0 - 254]: [0] 22 BIOS Starting sector [1 - 63]: [1] 17 BIOS Ending cylinder [0 - 500]: [500] BIOS Ending head [0 - 254]: [254] BIOS Ending sector [1 - 63]: [63] fdisk:*1> p Disk: sd0 geometry: 501/255/63 [8059904 Sectors] Offset: 0 Signature: 0xAA55 Starting Ending LBA Info: #: id C H S - C H S [ start: size ] ------------------------------------------------------------------------------- 0: 06 261 22 17 - 500 254 63 [ 4194367: 3854198 ] DOS > 32MB 1: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused 2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused *3: A6 0 1 1 - 261 22 16 [ 63: 4194304 ] OpenBSD fdisk:*1> p m Disk: sd0 geometry: 501/255/63 [3936 Megabytes] Offset: 0 Signature: 0xAA55 Starting Ending LBA Info: #: id C H S - C H S [ start: size ] ------------------------------------------------------------------------------- 0: 06 261 22 17 - 500 254 63 [ 4194367: 1882M] DOS > 32MB 1: 00 0 0 0 - 0 0 0 [ 0: 0M] unused 2: 00 0 0 0 - 0 0 0 [ 0: 0M] unused *3: A6 0 1 1 - 261 22 16 [ 63: 2048M] OpenBSD
これを、実デバイスに書き込んで終了
fdisk:*1> write Writing MBR at offset 0. fdisk: 1> quit
次に、BSD disklabelをいじります;
# disklabel -E sd0 # Inside MBR partition 3: type A6 start 63 size 4194304 Treating sectors 63-4194367 as the OpenBSD portion of the disk. You can use the 'b' command to change this. Initial label editor (enter '?' for help at any prompt) > p OpenBSD area: 63-4194367; size: 4194304; free: 2234437 # size offset fstype [fsize bsize cpg] a: 1317267 63 4.2BSD 2048 16384 1 c: 8059904 0 unused d: 642600 1317330 4.2BSD 512 4096 1
BSD用のFDISKパーテションを2ギガバイトに拡張したので、disklabelでBSDのdパーテション(河豚板で、ユーザのデータ保存用パーティション)のサイズを拡張します。
> c d Partition d is currently 642600 sectors in size, and can have a maximum size of 2877037 sectors. size: [642600] 2877037 > p OpenBSD area: 63-4194367; size: 4194304; free: 0 # size offset fstype [fsize bsize cpg] a: 1317267 63 4.2BSD 2048 16384 1 c: 8059904 0 unused d: 2877037 1317330 4.2BSD 512 4096 1 > p m OpenBSD area: 0.0M-2048.0M; size: 2048.0M; free: 0.0M # size offset fstype [fsize bsize cpg] a: 643.2M 0.0M 4.2BSD 2048 16384 1 c: 3935.5M 0.0M unused d: 1404.8M 643.2M 4.2BSD 512 4096 1
あと、通常Windows用のパーティションを作成するとOpenBSDではiパーティションとして認識されるのですが、現状では認識されていないようですので、設定してみます。
> a i No space left, you need to shrink a partition
OpenBSD用のディスクバウンダリが、FDISKで設定したサイズのままなので、新しいパーティションを作成できません。
なので、バウンダリをディスク最後部までに変更します。
> b Starting sector: [63] Size ('*' for entire disk): [4194304] *
で、通常Windows用のパーティションを作成。
offsetおよびsizeは、FDISKで設定したWindows用パーテションの値とキッチリ同じに合せなければなりません。
> a i offset: [4194367] 4194367 size: [3865537] 3854198 FS type: [4.2BSD] MSDOS > p OpenBSD area: 63-8059904; size: 8059841; free: 11339 # size offset fstype [fsize bsize cpg] a: 1317267 63 4.2BSD 2048 16384 1 c: 8059904 0 unused d: 2877037 1317330 4.2BSD 512 4096 1 i: 3854198 4194367 MSDOS
設定値を実メディアに書き込んでdisklabelを終了します。
> w > q No label changes. #
ユーザのデータ保存用であるdパーティションはパーティションテーブル上の領域は確保されましたが、実際のファイルシステムとしては最初のサイズのままです。ffsのファイルシステムを拡張するには、growfsというユティリティを使用します。
念のため、growfsの前後でfsckを実施します
(特にgrowfs実施後にfsckを行わずマウントしようとすると、ファイルシステムがクリーンではないと言われ、マウントできません)。
# fsck -fy /dev/rsd0d ** /dev/rsd0d ** File system is already clean ** Last Mounted on /mnt ** Phase 1 - Check Blocks and Sizes ** Phase 2 - Check Pathnames ** Phase 3 - Check Connectivity ** Phase 4 - Check Reference Counts ** Phase 5 - Check Cyl groups 3 files, 3 used, 560724 free (20 frags, 70088 blocks, 0.0% fragmentation) # growfs /dev/rsd0d We strongly recommend you to make a backup before growing the Filesystem Did you backup your data (Yes/No) ? Yes new file systemsize is: 2877037 frags Warning: 16477 sector(s) cannot be allocated. growfs: 1396.8MB (2860560 sectors) block size 4096, fragment size 512 using 137 cylinder groups of 10.20MB, 2610 blks, 10464 inodes. super-block backups (for fsck -b #) at: 647312, 668192, 689072, 709952, 730832, 751712, 772592, 793472, 814352, 835232, 856112, 876992, 897872, 918752, 939632, 960512, 981392, 1002272, 1023152, 1044032, 1064912, 1085792, 1106672, 1127552, 1148432, 1169312, 1190192, 1211072, 1231952, 1252832, 1273712, 1294592, 1315472, 1336352, 1357232, 1378112, 1398992, 1419872, 1440752, 1461632, 1482512, 1503392, 1524272, 1545152, 1566032, 1586912, 1607792, 1628672, 1649552, 1670432, 1691312, 1712192, 1733072, 1753952, 1774832, 1795712, 1816592, 1837472, 1858352, 1879232, 1900112, 1920992, 1941872, 1962752, 1983632, 2004512, 2025392, 2046272, 2067152, 2088032, 2108912, 2129792, 2150672, 2171552, 2192432, 2213312, 2234192, 2255072, 2275952, 2296832, 2317712, 2338592, 2359472, 2380352, 2401232, 2422112, 2442992, 2463872, 2484752, 2505632, 2526512, 2547392, 2568272, 2589152, 2610032, 2630912, 2651792, 2672672, 2693552, 2714432, 2735312, 2756192, 2777072, 2797952, 2818832, 2839712 # fsck -fy /dev/rsd0d ** /dev/rsd0d ** Last Mounted on /mnt ** Phase 1 - Check Blocks and Sizes ** Phase 2 - Check Pathnames ** Phase 3 - Check Connectivity ** Phase 4 - Check Reference Counts ** Phase 5 - Check Cyl groups 3 files, 3 used, 2498840 free (24 frags, 312352 blocks, 0.0% fragmentation) MARK FILE SYSTEM CLEAN? yes ***** FILE SYSTEM WAS MODIFIED *****
コマンド実行時に警告も出てますが、growfsを行うパーティションにデータがある場合は、あらかじめバックアップを取っておきましょう。
あと、Windows用パーテションも確保できたので、これをフォーマットしてみます。
# newfs_msdos /dev/rsd0i /dev/rsd0i: 3846648 sectors in 480831 FAT32 clusters (4096 bytes/cluster) bps=512 spc=8 res=32 nft=2 mid=0xf8 spt=63 hds=255 hid=4194367 bsec=3854198 bspf=3757 rdcl=2 infs=1 bkbs=2
最後に、確認して終了です。
# mount /dev/sd0d /mnt # df -h /mnt Filesystem Size Used Avail Capacity Mounted on /dev/sd0d 1.2G 1.5K 1.1G 0% /mnt # umount /mnt # mount /dev/sd0i /mnt # df -h /mnt Filesystem Size Used Avail Capacity Mounted on /dev/sd0i 1.8G 4.0K 1.8G 0% /mnt
kaw (2009-08-01 (土) 23:57:15)
FuguIta-4.5-200907312をリリースしました。
kaw (2009-07-31 (金) 23:12:26)
CVSのOPENBSD_4_5タグにもcommitされたようなので、4.5用のbinary patchを作成。
あと、河豚板もこれを適用した FuguIta-4.5-200907312 を作成。
こっちはまだtestに置いてありますが、動作テスト問題なければ、リリースします。
#さすがにOSC2009 Niigataでの配布には間に合いませんでした...。
kaw (2009-07-31 (金) 08:06:36)
007: RELIABILITY FIX: July 29, 2009 All architectures
A vulnerability has been found in BIND's named server (CVE-2009-0696). An attacker could crash a server with a specially crafted dynamic update message to a zone for which the server is master.
4.5以前はパッチ出てるけど、CVSWebみてるとまだcommitされてないように見える。なんで?
kaw (2009-07-22 (水) 16:45:30)
OpenBSD Misc MLにて発見flashrd is an OpenBSD installer with an eye towards larger flash devices. The primary targets are USB key, Flash disk module, Compact Flash adapter, or hard disk.
kaw (2009-07-06 (月) 17:34:31)
OpenBSD 4.5 Patch 006 ~ An off-by-one error in the inflate function in
Zlib.xs in the Compress::Raw::Zlib perl module before 2.017
(CVE-2009-1391) ~ に対応した FuguIta 4.5 200907061 を作成しました。
現在 test/ に置いてあります。しばらく使ってみて問題なければ正式にリリー
スしたいと思います。
kaw (2009-06-25 (木) 22:11:31)
某所でbuildしているOpenBSD-current# uname -a OpenBSD XXXXXXXXX 4.6 GENERIC#51 i386 # sysctl kern.version kern.version=OpenBSD 4.6-beta (GENERIC) #51: Wed Jun 24 11:35:15 JST 2009 root@XXXXXXXXXX:/usr/src/sys/arch/i386/compile/GENERIC4.6になりました。
あと、CVSの更新履歴みてたらtmuxっていう見慣れないコマンドが、# man tmux NAME tmux - terminal multiplexer SYNOPSIS tmux [-28dqUuv] [-f file] [-L socket-name] [-S socket-path] [command [flags]] DESCRIPTION tmux is a terminal multiplexer: it enables a number of terminals to be accessed and controlled from a single terminal.GNU screenと同様の働きをするコマンドのようですね。
kaw (2009-06-10 (水) 01:28:40)
先日書いた構想のうちのnon interactive boot機能を実装してみました。
概要は、LiveCD/4.5/BTS/6に書いたとおりなのですが、要はユーザデータを保
存するUSBデバイスにnoasksというファイルを置いて、そこにパラメータを書い
ておくと、起動時にはそれが勝手に設定されて、わざわざ聞いてこないという
動作になっています。
実物は、http://kaw.ath.cx/dl/pub/OpenBSD/LiveCD/test/ に置いてあります。
このイメージのUSB版の方にはdパーティション内にnoasksファイルがパラメー
タ設定をコメントアウトした形で書いてあるので、このファイルを編集してパ
ラメータ設定をアンコメントすれば機能が有効になります。
しばらく使用してみて特に問題なければ、リリースしたいと思います。
kaw (2009-05-30 (土) 10:55:50)
先日、EBUG (Echigo BSD Users Group)の会合に参加しました。そのときに実感
したのが、NetBook PCの普及率の高さです。
OpenBSDは、フリーOSの中では比較的無線LANデバイスのサポートが良いので、
NetBookには向いているかも。
幾つかのもので河豚板を試させて頂いて、動作実績を得ることができました。
その結果不具合を幾つか発見でき、それだけでも有益だったのですが、
その時思いついたのが、次のような機能の追加です;
・ブートモードの追加 - all on memory mode
立ち上げ時に河豚板の内容をすべてmfsに転送し、その後はすべてmfsだけを使っ
て動作するモード。当然メモリを大量に消費しますが、CD-ROMなどにくらべ格
段に軽快な動作が期待できます。
最近の機械は2GB以上のメモリを積んでいたりするので、こういうモードがあっ
ても良いかもしれません。
・non interactive boot機能の追加
現バージョンの河豚板は、立ち上げ時に運用デバイス、mfsのサイズ、ブートモー
ドを必ず手で入力する必要がありますが、これもユーザ領域に格納してしまっ
て、立ち上げ時にこれらの情報が検出できたら人手を介さずブートする機能。
リモートで運用する場合は、こういう機能は必須ですね。
これらの機能を実際に実装するかどうかはわかりませんが、もうちょっと詰め
て考えてみたいと思います。
kaw (2009-05-10 (日) 17:43:42)
昨日・今日と、ちょっと /boottmp/rc 廻りを手直し。
LiveCD/4.5/BTS/4409とLiveCD/4.5/BTS/4410をFIXして、
FuguIta-4.5-200905101 を作成。
ただいま動作チェック中。特に不具合はないみたいですが、USB版含め
動作チェックできたらリリースします。
一応 test/ に放り込んであるので、興味のある人はいじってみて下さい。
kaw (2009-05-03 (日) 10:47:27)
昨日書いた不具合、ほぼ解決。
USBメモリに作ったルートパーテションをnewfsするときに、newfs -b 4096 -f 512 -i 1024 /dev/rsd0aなどとやって、デフォルトじゃないパラメータでファイルシステムを作成して
たのが原因っぽい。
というわけで、河豚板4.5をリリースしました。
kaw (2009-05-02 (土) 14:36:23)
どなたか河豚刺し (LiveUSB) の動作テストにご協力いただけませんか?
現在、手元にUSBブートできるマシンがなく、エミュレータでテストしてるのですがどうも
biosboot廻りの調子が悪く、実機でブートできるかどうかを見ていただきたいのです。
http://kaw.ath.cx/dl/pub/OpenBSD/LiveCD/test/FuguIta-4.5-200905021.usbimg.gz を
ダウンロード、解凍後、ddとかでUSBメモリに書き込んで、そこから起動できるかどうか、
ダメならどんなエラーがでたか教えてもらえると助かります。
よろしくお願いします。
kaw (2009-05-02 (土) 10:09:36)
svndにinstallbootしてmake usbemuすると、「LBA64ダメダメ、bootデキナーイ」みたいなこと言われる。
なんで?
kaw (2009-05-01 (金) 06:58:09)
ttyrecを新たに追加。
追加ものは、大体こんなものかな。
ktermが例によって文字化けするんで、terminfo作り直さないと。
(infocmp -> enacs属性を削除 -> tic)
kaw (2009-04-30 (木) 22:53:19)
非ports, 独自ビルドのソフトウェアを /usr/nora 以下に設置したなかで、幾つか
Infoファイルがうまく読めないものがあるので、修正。
入れた中でIRCクライアントのInfoファイル riece-ja.info がEmacsのinfoモードで
読むと文字化けする。ソースファイルをnkfでEUCに変換したりなどしても、やはりNG。
ためしに、Linux でやってみると、全然OK。
しょうがない、これをOpenBSDに持ってくかと思いかけ、ふと、makeじゃなくて、
gmakeでやってみるとどうだろうと思いたち、OpenBSDでgmake使ってやってみたらOK。
疲れたっす。
kaw (2009-04-29 (水) 22:54:16)
ベータバージョンの FuguIta 4.5 200904291 を test ディレクトリにアップしました。
現在それを焼いたやつから起動してこれ書いてます(withバグ出し)。
独自ビルドの /usr/nora 以下を追加したら、ISOイメージは正常に作成されたものの、
bootすると、二次ローダが正常に読み込まれないっぽいらしく、bootが途中で止まる。
以前から時々でてた現象なんだけど、原因不明。
とりあえず、/usr/local/share/doc以下をtarballにしたら正常にbootするイメージが
作られるようになった。どうも書き込むファイルの総数が関係してるっぽい。
OpenBSD nativeのmkhybridはこの不具合以前に、ISOイメージ作成中、「not enough memory」
とかいってエラー終了するんでNG。cdrtools付属のmkisofs使ってます。
他のOpenBSD LiveCDの人達はどうやってるか、調べてみたほうがいいかも。
他にISOイメージ作成ツールってあんのかな。
kaw (2009-04-29 (水) 08:40:38)
ドットファイルをFuguIta 4.4からコピー。
4.4と4.5の差分はほとんどないので、4.4のがほぼそのまま使えた。
あと、ダイエットをさらに実施。
/usr/local以下の
- lib*.aを削除
- lib*so をstrip
- /usr/local/share/doc以下のファイルをgzip
- emacsの*.elcをgzip (てか、.elがあれば、.elc消してもいいかもs%)
これで、ISO imageで 593MB
kaw (2009-04-27 (月) 22:59:49)
portsを入れました。いきなりサイズが650Mぎりぎりに。
あと、/root と /etc/skel にドットファイルを入れて、動作確認と調整をしていきます。
kaw (2009-04-25 (土) 13:47:43)
河豚板 4.5用のBTSを作成しました。
とりあえず、持ち越しの案件をcopy。
kaw (2009-04-22 (水) 02:05:00)
一つ前に書いた OpenBSDをLiveCD化した場合のダイエット方法;
- lib*.so.*とlib*.aが両方ある場合は、lib*.aを消す。
- lib*_p.a, lib*_pic.aは全部消す。
- 残ったlib*.aで使わなそうなやつでサイズ大きいのは消す。
- lib*.so.*と実行バイナリは、基本的に全てstripする。
- 実行バイナリで *これはまず使わないだろう* 、かつサイズの大きい奴は消すことがある。今回消したのは;
- /usr/X11R6/bin/Xvfb ... Xクライアントのデバッグ用途が主のようなので。
- /usr/X11R6/bin/Xnest ... /usr/X11R6/bin/Xephyrと機能が被っているので。
他のOpenBSD LiveCDでは、compXX.tgz自体(GCCなどのコンパイラ関連)を入れないことで空きスペースを 稼いでいるものが多いけど、河豚板はなるべく素のOpenBSDに近い状態を提供するという方針(OpenBSDの 布教用に使いたいからs&amp; :-)なので、compXX.tgzも含む配布系か可能な限り全て入れることにしています。
そんなこんなで、そろそろ追加アプリも入れ始めましょうかね。
kaw (2009-04-20 (月) 01:12:27)
河豚板4.5にむけて、作業環境の準備を行っています。
- 河豚板4.3までの開発作業用ディレクトリをアーカイブ
- 河豚板4.4の開発作業用ディレクトリを通常はRead Onlyに
- 河豚板4.3で使っていたファイルツリー全体(当然OpenBSD 4.3)をOpenBSD 4.5に移行
追加アプリケーションなしのOpenBSD 4.5のみ入ったLiveCDを試作するところまで
行っています。
インストール直後の状態のままのOpenBSDをLiveCD化すると、それだけで600MB近くなり、
CD-ROMの空きはほとんどなくなるので、ダイエットをしなければなりません。
いま、その作業中です。
kaw (2009-04-19 (日) 18:20:44)
I'm joining in the IRC channel #fuguita on irc.freenode.net.
Feel free to join.
Freenode.netが運営するIRCサーバ irc.freenode.netに #fuguita という
チャンネルを作り、そこにjoinしています。
お気軽にご参加ください。
Former articles are at BBS/2.
Return to FrontPage