河豚板ガイド/4-開発編
をテンプレートにして作成
Start:
#navi(河豚板ガイド)
この章では河豚板の内部を理解したり、河豚板をベースに自分...
#contents
*河豚板の技術情報
河豚板はOpenBSDをベースにしているので、その構成物のほとん...
公式のOpenBSDとは異なる河豚板特有の部分については、このサ...
(過去の資料の中には、現状の河豚板と異っている部分もあり...
河豚板のソースコードは https://github.com/ykaw/FuguIta に...
*河豚板を専用マシンにする [#u1400b56]
河豚板は書込み可能なファイルをすべてメモリ上に持っている...
また稼動中にusbfadmによるファイルの保存を行わない限りは、...
このような特徴を利用して、河豚板をベースにして特定のアプ...
このようなシステムを構築するためには、今までに説明してき...
-まず運用環境を整える。~
起動モード0で立ち上げて、各種設定やアプリケーションのイ...
-[[構築した環境をusbfadmにてUSBメモリなどに保存する>fg2:u...
-[[モード3で起動し、保存した環境で立ち上がるようにnoasks...
-ログイン操作なしでアプリケーションが立ち上がるように [[/...
これらの詳細な手順は、このサイトにある [[河豚板でルータを...
#aname(livedvd_remaster)
*LiveDVDのリマスタリング [#q529c858]
[[USBメモリの容量に合わせてLiveUSBを作成する>fg3:liveusb_...
>''【メモ】''~
''⇒''この作業は大きなサイズのファイルを扱うので、mfsのサ...
mfsでは足りない場合、他の記録デバイスをマウントしてそちら...
このmaster_dvd.shは、動作中のFuguIta LiveDVD、あるいはFug...
以下にremaster_dvdの使用例を示します。
まず、作業用ディレクトリを作成し、sysmedia以下にあるLiveD...
# mkdir work
# cd work
# cp -av /sysmedia .
/sysmedia -> ./sysmedia
/sysmedia/boot -> ./sysmedia/boot
/sysmedia/bsd-fi -> ./sysmedia/bsd-fi
/sysmedia/bsd-fi.mp -> ./sysmedia/bsd-fi.mp
/sysmedia/boot.catalog -> ./sysmedia/boot.catalog
/sysmedia/cdboot -> ./sysmedia/cdboot
/sysmedia/cdbr -> ./sysmedia/cdbr
/sysmedia/etc -> ./sysmedia/etc
/sysmedia/etc/boot.conf -> ./sysmedia/etc/boot.conf
/sysmedia/etc/random.seed -> ./sysmedia/etc/random.seed
/sysmedia/fuguita-6.9-amd64.ffsimg -> ./sysmedia/fuguita...
# ls -l
total 8
drwxr-xr-x 3 root wheel 432 May 11 09:21 sysmedia
コピーされたsysmediaディレクトリ内でremaster_dvdを実行し...
基本的にはこれだけです。
# cd sysmedia
# ls -l
total 2008728
-rw-r--r-- 1 root wheel 90496 May 10 20:57 boot
-rwxr--r-- 1 root wheel 2048 May 9 12:31 boot.catalog
-rw-r--r-- 1 root wheel 10273019 May 10 21:04 bsd-fi
-rw-r--r-- 1 root wheel 10302063 May 10 21:04 bsd-f...
-rw-r--r-- 1 root bin 91668 May 10 01:31 cdboot
-rw-r--r-- 1 root bin 2048 May 10 01:31 cdbr
drwxr-xr-x 2 root wheel 96 Apr 17 2014 etc
-rw-r--r-- 1 root wheel 1007681536 May 10 21:08 fugui...
# remaster_dvd
mkhybrid 1.12b5.1
Scanning .
Scanning ./etc
Size of boot image is 4 sectors -> No-emulation CD boot ...
Total translation table size: 0
Total rockridge attributes bytes: 1111
Total directory bytes: 2048
Path table size(bytes): 22
502200 extents written (980 Mb)
remaster_dvdの実行が完了すると、作業用ディレクトリにISOイ...
# ls -l ..
total 2008808
-rw-r--r-- 1 root wheel 1028505600 May 14 02:34 FuguI...
drwxr-xr-x 3 root wheel 384 May 14 02:34 sysmedia
# ls -l
total 2008720
-rw-r--r-- 1 root wheel 90496 May 10 20:57 boot
-rwxr--r-- 1 root wheel 2048 May 14 02:34 boot.catalog
-rw-r--r-- 1 root wheel 10273019 May 10 21:04 bsd-fi
-rw-r--r-- 1 root wheel 10302063 May 10 21:04 bsd-f...
-rw-r--r-- 1 root bin 91668 May 10 01:31 cdboot
-rw-r--r-- 1 root bin 2048 May 10 01:31 cdbr
drwxr-xr-x 2 root wheel 96 Apr 17 2014 etc
-rw-r--r-- 1 root wheel 1007681536 May 10 21:08 fugui...
sysmedia中にfuguita-6.9-amd64.ffsimgというファイルがあり...
このファイルツリー内のファイルを修正することで、LiveDVDを...
# vnconfig vnd0 fuguita-6.9-amd64.ffsimg
# mount /dev/vnd0a /mnt
# ls -l /mnt
total 52
-rw-r--r-- 1 root wheel 578 May 7 17:43 .cshrc
-rw-r--r-- 1 root wheel 468 May 7 17:43 .profile
drwxr-xr-x 2 root wheel 512 May 7 17:43 altroot
drwxr-xr-x 2 root wheel 1024 May 7 17:46 bin
drwxr-xr-x 2 root wheel 512 May 8 04:16 dev
drwxr-xr-x 23 root wheel 1536 May 8 04:35 etc
drwxr-xr-x 2 root wheel 512 May 7 17:43 home
drwxr-xr-x 2 root wheel 512 May 7 17:43 mnt
drwx------ 3 root wheel 512 May 8 04:35 root
drwxr-xr-x 2 root wheel 1536 May 7 17:46 sbin
lrwxrwx--- 1 root wheel 11 May 7 17:43 sys -> usr...
drwxrwxrwt 2 root wheel 512 May 8 04:19 tmp
drwxr-xr-x 14 root wheel 512 May 8 04:09 usr
drwxr-xr-x 23 root wheel 512 May 7 17:43 var
.... (カスタマイズ作業) ...
カスタマイズが完了したら、ファイルシステムイメージを閉じ...
# umount /mnt
# vnconfig -u vnd0
# remaster_dvd
mkhybrid 1.12b5.1
Scanning .
Scanning ./etc
:
:
*LiveUSBディスクイメージのリマスタリング [#obdef877]
この節では、LiveUSBのディスクイメージファイルを作成する方...
usbfadm の newdrive を実行します;
? : ? ->newdrive
Please make sure the device inserted.
Then press ENTER ->
==== disk(s) and vnode devices =========================...
sd0 at scsibus1 targ 0 lun 0: <ATA, Hitachi HTS72757, JF...
sd0: 715404MB, 512 bytes/sector, 1465149168 sectors
sd1 at scsibus2 targ 1 lun 0: <UFD 3.0, Silicon-Power32G...
sd1: 29624MB, 512 bytes/sector, 60669952 sectors
sd2 at scsibus5 targ 1 lun 0: <BUFFALO, USB Flash Disk, ...
sd2: 7788MB, 512 bytes/sector, 15950592 sectors
img: create FuguIta raw disk image on current directory
========================================================...
Enter the name of device which FuguIta will be installed...
Enter size of a vnode device file.
You can add suffix K, M, G or T (otherwise considered 'b...
->2g ...
...
2048+0 records in
2048+0 records out
2147483648 bytes transferred in 3.076 secs (698129518 by...
Disk: vnd0 geometry: 41943/1/100 [4194304 Sectors]
Offset: 0 Signature: 0x0
Starting Ending LBA Info:
#: id C H S - C H S [ start: s...
--------------------------------------------------------...
0: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
1: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
3: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
Select partition type:
1: [MBR]
2: GPT
3: Hybrid (not recommended if you wish modify partiti...
->
~ 略 ~
** Phase 5 - Check Cyl groups
3 files, 3 used, 386996 free (20 frags, 48372 blocks, 0....
? : ? ->bye
Bye bye...
$
以上の操作でカレントディレクトリ上にディスクイメージファ...
#aname(build_fuguita)
*河豚板の構築 [#t980ad46]
河豚板は不定期ではありますが、ライブシステム構築のために...
この構築ツールを使用することで河豚板の配布物と同じものを...
この節では、構築ツールを用いた河豚板の構築手順について説...
**構築環境 [#q0e90e43]
以下の説明では、次のような環境を想定しています。
-作業環境: OpenBSD 7.6 (最小ストレージ容量: 40GB)
-プラットフォーム: amd64 (推奨メモリ: 2GB以上)
-インターネットへの接続が可能
-作業はすべてrootユーザで実施
//>''【メモ】''~
//''⇒''この構築ツールでは、i386とamd64プラットフォームで...
**OpenBSDのセットアップ [#t249f63d]
構築を行う前に、以下のような準備作業を行います。
-構築用PCに[[OpenBSD 7.6をインストール>https://www.openbs...
-このOpenBSD上で、オンラインマニュアル[[release(8)>man:re...
>''【メモ】''~
''⇒''[[release(8)>man:release.8]]で説明されているように、...
このファイルシステムは、OpenBSDのインストール時に指定する...
-[[ports(7)>man:ports.7]]システムについても、/usr/ports以...
**河豚板ビルドツールのセットアップ [#qcaf55ec]
-河豚板の構築には、OpenBSD本体の他に、rsyncコマンドとpvコ...
# pkg_add rsync pv
quirks-7.50:updatedb-0p0:(ok)
quirks-7.50:(ok)
Ambiguous: choose package for rsync
a 0: <None>
1: rsync-3.3.0p2
2: rsync-3.3.0p2-minimal
Your choice: 2
rsync-3.3.0p2-minimal:(ok)
pv-1.8.5:libiconv-1.17:(ok)
pv-1.8.5:gettext-runtime-0.22.5:(ok)
pv-1.8.5:(ok)
The following new rcscripts were installed: /etc/rc.d/rs...
See rcctl(8) for details.
[[河豚板配布サイト>FuguIta/Download]]のtoolsディレクトリ...
# tar xvzpf fuguita-buildtools-7.6.tar.gz
以下のコマンドを実行し、構築ツールの初期化を行います。
# cd fuguita-buildtools-7.6
# make init
これにより、構築に必要なディレクトリなどが作成されます。
OpenBSDの構築で生成したインストールセット (*76.tgz) を河...
# cp RELDIR/*76.tgz install_sets
''RELDIR''は、[[release(8)>man:release.8]]の中で説明され...
>''【メモ】''~
''⇒''インストールセット*76.tgzはOpenBSDのオフィシャルミラ...
ただしこの場合、作成される河豚板はそのリリースが公開され...
また、この方法で河豚板を作成する場合でも、/usr/srcや/usr/...
次に、河豚板のユティリティから呼び出されるrsync, rlwrap, ...
//次に、河豚板のユティリティから呼び出されるrsync, rlwrap...
//このビルドには、以下の2つの方法があります:
//-A: ソースコードから独自にビルドし、/usr/fuguita 以下に...
//-B: portsシステムからビルドし、/usr/local 以下にインス...
//配布版の河豚板では、Aの方法を採用しています。
//以下にA、Bそれぞれのビルド手順を説明します。
//***A: コマンドを独自ビルド [#m81f29fc]
まず、ソースコードの取得を行います(xxHashは高速なハッシュ...
//>まず、ソースコードの取得を行います(xxHashは高速なハッ...
# cd /usr/ports/net/rsync && make fetch
# cd /usr/ports/sysutils/xxhash && make fetch
# cd /usr/ports/misc/rlwrap && make fetch
# cd /usr/ports/sysutils/pv && make fetch
取得したソースコードは/usr/ports/distfiles下に配置されま...
このソースコードをビルド用の作業ディレクトリにリンク(又は...
# pkg_add gmake (xxHashの構築に必要です)
# cd (河豚板ビルドツールの置き場所)/fuguita-buildtools-7...
# ln -s fiopt.mk Makefile
# ln -s /usr/ports/distfiles/rsync-*.tar.gz .
# ln -s /usr/ports/distfiles/xxHash-*.tar.gz .
# ln -s /usr/ports/distfiles/rlwrap-*.tar.gz .
# ln -s /usr/ports/distfiles/pv-*.tar.gz .
# make RSYNC=rsync-3.3.0 XXHASH=xxHash-0.8.2 RLWRAP=rlwr...
makeに与える引数には、実際に取得した各ソースコードのバー...
ビルドが正常に完了すると、親ディレクトリにfiopt76.tar.gz...
# cd ..
# ls -l
total 1736
drwxr-xr-x 2 root wheel 512 Nov 15 02:58 CVS
drwxr-xr-x 7 root wheel 512 Dec 12 23:53 build
-rw-r--r-- 1 root wheel 867970 Dec 12 23:53 fiopt76.tgz
これをinstall_setsディレクトリにリンク(又はコピー)します。
# cd ../install_sets
# ln -s ../fiopt/fiopt76.tgz .
# cd ..
//***B: portsを使用してコマンドをビルド [#jcd3682d]
//>この方法では、portsツリーから作成したrsync, rlwrap, pv...
// # cd install_pkgs
// # ln -s /usr/ports/packages/amd64/all/lz4-*.tgz .
// # ln -s /usr/ports/packages/amd64/all/xz-*.tgz .
// # ln -s /usr/ports/packages/amd64/all/zstd-*.tgz .
// # ln -s /usr/ports/packages/amd64/all/libiconv-*.tgz .
// # ln -s /usr/ports/packages/amd64/all/rsync-*.tgz .
// # ln -s /usr/ports/packages/amd64/all/rlwrap-*.tgz .
// # ln -s /usr/ports/packages/amd64/all/gettext-runtime-...
// # ln -s /usr/ports/packages/amd64/all/pv-*.tgz .
// # cd ..
//>>''【メモ】''~
//''⇒''これらのパッケージファイルも、OpenBSDのオフィシャ...
//この場合も、河豚板のリリースが公開された時点でのものに...
河豚板の構築に必要となるファイルやコマンドを準備したら、...
# make setup
>''【メモ】''~
''⇒''install_setsの下にsite76.tgzというファイルを置いてお...
install.siteがsite76.tgzに含まれている場合、その内容が/et...
site76.tgzを加えて河豚板を構築した結果、sysmedia/fuguita-...
**河豚板の構築 [#a9ad6923]
最後に、河豚板を構築します。~
LiveDVDとLiveUSBの両方を構築するには、以下のようにします。
# make all
また、
# make livedvd
でLiveDVDのみが構築され、
# make liveusb
ではLiveUSBのみが構築されます。
**構築後の調整 [#wfda33a7]
***mode0symlinks.cpio.gzの作成 [#hba46272]
このファイルは、LiveDVDをモード0で起動した場合の時間短縮...
mode0symlinks.cpio.gzを作成するには、完成したLiveDVDをモ...
このファイルをmode0symlinks.cpio.gz.amd64というファイル名...
# cp mode0symlinks.cpio.gz lib/mode0symlinks.cpio.gz.amd64
# make clean
# make all
***fuguita_sys_mbの調整 [#tfa3add4]
河豚板には、/etc/fuguita/global.confというファイルがあり...
fuguita_sys_mb=1122 # size of sysmedia.img
newdrive_defswap=16M # default swap size at usbfadm newd...
memfstype=mfs # 'mfs' or 'tmpfs'
mfs_max_mb=30720 # mfs hard limit - 30GB
このうち、fuguita_sys_mbは河豚板のシステムを格納するパー...
fuguita_sys_mbの設定値は、LiveDVD構築時に生成されるlivecd...
# echo $(( $(wc -c < livecd.iso)/1024/1024+10 ))
このコマンドで表示された値をlib/global.conf.amd64ファイル...
# vi lib/global.conf.amd64
# make clean
# make all
**Makefileのターゲット [#y240b797]
Makefile中の主なターゲットについて説明します。
:init|初期セットアップ: 構築に必要なディレクトリの作成な...
:setup|構築環境の最終セットアップ: 構築の材料となるファイ...
:livedvd|LiveDVDのリリースファイル(FuguIta-*-*-*.iso.gz)...
:liveusb|LiveUSBのリリースファイル(FuguIta-*-*-*.usb.gz)...
:all|LiveDVDとLiveUSBの両方のリリースファイルを生成します
:kernclean|カーネルのオブジェクトファイルを削除します
:kernreset|カーネルのオブジェクトファイルの一部を削除しま...
:kern|カーネルをコンパイルします
:clean|リリースファイルやその中間生成物を削除します
:distclean|リリースファイル、中間生成物、構築材料を全て削...
:dvd2usb|sysmedia-7.6-amd76.img.gzがない状態でLiveUSBを生...
このターゲットを使用するにはOpenBSDの仮想化システム [[vmm...
make livedvdでLiveDVDのリリースファイルを作成後、このター...
LiveDVDのVMをシャットダウンすると、引き続き今作成したLive...
LiveUSBのVMをシャットダウンすると、このLiveUSBのリリース...
このLiveUSBのリリースファイルは[[sysmedia-7.6-amd64.img.g...
#navi(河豚板ガイド)
End:
#navi(河豚板ガイド)
この章では河豚板の内部を理解したり、河豚板をベースに自分...
#contents
*河豚板の技術情報
河豚板はOpenBSDをベースにしているので、その構成物のほとん...
公式のOpenBSDとは異なる河豚板特有の部分については、このサ...
(過去の資料の中には、現状の河豚板と異っている部分もあり...
河豚板のソースコードは https://github.com/ykaw/FuguIta に...
*河豚板を専用マシンにする [#u1400b56]
河豚板は書込み可能なファイルをすべてメモリ上に持っている...
また稼動中にusbfadmによるファイルの保存を行わない限りは、...
このような特徴を利用して、河豚板をベースにして特定のアプ...
このようなシステムを構築するためには、今までに説明してき...
-まず運用環境を整える。~
起動モード0で立ち上げて、各種設定やアプリケーションのイ...
-[[構築した環境をusbfadmにてUSBメモリなどに保存する>fg2:u...
-[[モード3で起動し、保存した環境で立ち上がるようにnoasks...
-ログイン操作なしでアプリケーションが立ち上がるように [[/...
これらの詳細な手順は、このサイトにある [[河豚板でルータを...
#aname(livedvd_remaster)
*LiveDVDのリマスタリング [#q529c858]
[[USBメモリの容量に合わせてLiveUSBを作成する>fg3:liveusb_...
>''【メモ】''~
''⇒''この作業は大きなサイズのファイルを扱うので、mfsのサ...
mfsでは足りない場合、他の記録デバイスをマウントしてそちら...
このmaster_dvd.shは、動作中のFuguIta LiveDVD、あるいはFug...
以下にremaster_dvdの使用例を示します。
まず、作業用ディレクトリを作成し、sysmedia以下にあるLiveD...
# mkdir work
# cd work
# cp -av /sysmedia .
/sysmedia -> ./sysmedia
/sysmedia/boot -> ./sysmedia/boot
/sysmedia/bsd-fi -> ./sysmedia/bsd-fi
/sysmedia/bsd-fi.mp -> ./sysmedia/bsd-fi.mp
/sysmedia/boot.catalog -> ./sysmedia/boot.catalog
/sysmedia/cdboot -> ./sysmedia/cdboot
/sysmedia/cdbr -> ./sysmedia/cdbr
/sysmedia/etc -> ./sysmedia/etc
/sysmedia/etc/boot.conf -> ./sysmedia/etc/boot.conf
/sysmedia/etc/random.seed -> ./sysmedia/etc/random.seed
/sysmedia/fuguita-6.9-amd64.ffsimg -> ./sysmedia/fuguita...
# ls -l
total 8
drwxr-xr-x 3 root wheel 432 May 11 09:21 sysmedia
コピーされたsysmediaディレクトリ内でremaster_dvdを実行し...
基本的にはこれだけです。
# cd sysmedia
# ls -l
total 2008728
-rw-r--r-- 1 root wheel 90496 May 10 20:57 boot
-rwxr--r-- 1 root wheel 2048 May 9 12:31 boot.catalog
-rw-r--r-- 1 root wheel 10273019 May 10 21:04 bsd-fi
-rw-r--r-- 1 root wheel 10302063 May 10 21:04 bsd-f...
-rw-r--r-- 1 root bin 91668 May 10 01:31 cdboot
-rw-r--r-- 1 root bin 2048 May 10 01:31 cdbr
drwxr-xr-x 2 root wheel 96 Apr 17 2014 etc
-rw-r--r-- 1 root wheel 1007681536 May 10 21:08 fugui...
# remaster_dvd
mkhybrid 1.12b5.1
Scanning .
Scanning ./etc
Size of boot image is 4 sectors -> No-emulation CD boot ...
Total translation table size: 0
Total rockridge attributes bytes: 1111
Total directory bytes: 2048
Path table size(bytes): 22
502200 extents written (980 Mb)
remaster_dvdの実行が完了すると、作業用ディレクトリにISOイ...
# ls -l ..
total 2008808
-rw-r--r-- 1 root wheel 1028505600 May 14 02:34 FuguI...
drwxr-xr-x 3 root wheel 384 May 14 02:34 sysmedia
# ls -l
total 2008720
-rw-r--r-- 1 root wheel 90496 May 10 20:57 boot
-rwxr--r-- 1 root wheel 2048 May 14 02:34 boot.catalog
-rw-r--r-- 1 root wheel 10273019 May 10 21:04 bsd-fi
-rw-r--r-- 1 root wheel 10302063 May 10 21:04 bsd-f...
-rw-r--r-- 1 root bin 91668 May 10 01:31 cdboot
-rw-r--r-- 1 root bin 2048 May 10 01:31 cdbr
drwxr-xr-x 2 root wheel 96 Apr 17 2014 etc
-rw-r--r-- 1 root wheel 1007681536 May 10 21:08 fugui...
sysmedia中にfuguita-6.9-amd64.ffsimgというファイルがあり...
このファイルツリー内のファイルを修正することで、LiveDVDを...
# vnconfig vnd0 fuguita-6.9-amd64.ffsimg
# mount /dev/vnd0a /mnt
# ls -l /mnt
total 52
-rw-r--r-- 1 root wheel 578 May 7 17:43 .cshrc
-rw-r--r-- 1 root wheel 468 May 7 17:43 .profile
drwxr-xr-x 2 root wheel 512 May 7 17:43 altroot
drwxr-xr-x 2 root wheel 1024 May 7 17:46 bin
drwxr-xr-x 2 root wheel 512 May 8 04:16 dev
drwxr-xr-x 23 root wheel 1536 May 8 04:35 etc
drwxr-xr-x 2 root wheel 512 May 7 17:43 home
drwxr-xr-x 2 root wheel 512 May 7 17:43 mnt
drwx------ 3 root wheel 512 May 8 04:35 root
drwxr-xr-x 2 root wheel 1536 May 7 17:46 sbin
lrwxrwx--- 1 root wheel 11 May 7 17:43 sys -> usr...
drwxrwxrwt 2 root wheel 512 May 8 04:19 tmp
drwxr-xr-x 14 root wheel 512 May 8 04:09 usr
drwxr-xr-x 23 root wheel 512 May 7 17:43 var
.... (カスタマイズ作業) ...
カスタマイズが完了したら、ファイルシステムイメージを閉じ...
# umount /mnt
# vnconfig -u vnd0
# remaster_dvd
mkhybrid 1.12b5.1
Scanning .
Scanning ./etc
:
:
*LiveUSBディスクイメージのリマスタリング [#obdef877]
この節では、LiveUSBのディスクイメージファイルを作成する方...
usbfadm の newdrive を実行します;
? : ? ->newdrive
Please make sure the device inserted.
Then press ENTER ->
==== disk(s) and vnode devices =========================...
sd0 at scsibus1 targ 0 lun 0: <ATA, Hitachi HTS72757, JF...
sd0: 715404MB, 512 bytes/sector, 1465149168 sectors
sd1 at scsibus2 targ 1 lun 0: <UFD 3.0, Silicon-Power32G...
sd1: 29624MB, 512 bytes/sector, 60669952 sectors
sd2 at scsibus5 targ 1 lun 0: <BUFFALO, USB Flash Disk, ...
sd2: 7788MB, 512 bytes/sector, 15950592 sectors
img: create FuguIta raw disk image on current directory
========================================================...
Enter the name of device which FuguIta will be installed...
Enter size of a vnode device file.
You can add suffix K, M, G or T (otherwise considered 'b...
->2g ...
...
2048+0 records in
2048+0 records out
2147483648 bytes transferred in 3.076 secs (698129518 by...
Disk: vnd0 geometry: 41943/1/100 [4194304 Sectors]
Offset: 0 Signature: 0x0
Starting Ending LBA Info:
#: id C H S - C H S [ start: s...
--------------------------------------------------------...
0: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
1: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
3: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
Select partition type:
1: [MBR]
2: GPT
3: Hybrid (not recommended if you wish modify partiti...
->
~ 略 ~
** Phase 5 - Check Cyl groups
3 files, 3 used, 386996 free (20 frags, 48372 blocks, 0....
? : ? ->bye
Bye bye...
$
以上の操作でカレントディレクトリ上にディスクイメージファ...
#aname(build_fuguita)
*河豚板の構築 [#t980ad46]
河豚板は不定期ではありますが、ライブシステム構築のために...
この構築ツールを使用することで河豚板の配布物と同じものを...
この節では、構築ツールを用いた河豚板の構築手順について説...
**構築環境 [#q0e90e43]
以下の説明では、次のような環境を想定しています。
-作業環境: OpenBSD 7.6 (最小ストレージ容量: 40GB)
-プラットフォーム: amd64 (推奨メモリ: 2GB以上)
-インターネットへの接続が可能
-作業はすべてrootユーザで実施
//>''【メモ】''~
//''⇒''この構築ツールでは、i386とamd64プラットフォームで...
**OpenBSDのセットアップ [#t249f63d]
構築を行う前に、以下のような準備作業を行います。
-構築用PCに[[OpenBSD 7.6をインストール>https://www.openbs...
-このOpenBSD上で、オンラインマニュアル[[release(8)>man:re...
>''【メモ】''~
''⇒''[[release(8)>man:release.8]]で説明されているように、...
このファイルシステムは、OpenBSDのインストール時に指定する...
-[[ports(7)>man:ports.7]]システムについても、/usr/ports以...
**河豚板ビルドツールのセットアップ [#qcaf55ec]
-河豚板の構築には、OpenBSD本体の他に、rsyncコマンドとpvコ...
# pkg_add rsync pv
quirks-7.50:updatedb-0p0:(ok)
quirks-7.50:(ok)
Ambiguous: choose package for rsync
a 0: <None>
1: rsync-3.3.0p2
2: rsync-3.3.0p2-minimal
Your choice: 2
rsync-3.3.0p2-minimal:(ok)
pv-1.8.5:libiconv-1.17:(ok)
pv-1.8.5:gettext-runtime-0.22.5:(ok)
pv-1.8.5:(ok)
The following new rcscripts were installed: /etc/rc.d/rs...
See rcctl(8) for details.
[[河豚板配布サイト>FuguIta/Download]]のtoolsディレクトリ...
# tar xvzpf fuguita-buildtools-7.6.tar.gz
以下のコマンドを実行し、構築ツールの初期化を行います。
# cd fuguita-buildtools-7.6
# make init
これにより、構築に必要なディレクトリなどが作成されます。
OpenBSDの構築で生成したインストールセット (*76.tgz) を河...
# cp RELDIR/*76.tgz install_sets
''RELDIR''は、[[release(8)>man:release.8]]の中で説明され...
>''【メモ】''~
''⇒''インストールセット*76.tgzはOpenBSDのオフィシャルミラ...
ただしこの場合、作成される河豚板はそのリリースが公開され...
また、この方法で河豚板を作成する場合でも、/usr/srcや/usr/...
次に、河豚板のユティリティから呼び出されるrsync, rlwrap, ...
//次に、河豚板のユティリティから呼び出されるrsync, rlwrap...
//このビルドには、以下の2つの方法があります:
//-A: ソースコードから独自にビルドし、/usr/fuguita 以下に...
//-B: portsシステムからビルドし、/usr/local 以下にインス...
//配布版の河豚板では、Aの方法を採用しています。
//以下にA、Bそれぞれのビルド手順を説明します。
//***A: コマンドを独自ビルド [#m81f29fc]
まず、ソースコードの取得を行います(xxHashは高速なハッシュ...
//>まず、ソースコードの取得を行います(xxHashは高速なハッ...
# cd /usr/ports/net/rsync && make fetch
# cd /usr/ports/sysutils/xxhash && make fetch
# cd /usr/ports/misc/rlwrap && make fetch
# cd /usr/ports/sysutils/pv && make fetch
取得したソースコードは/usr/ports/distfiles下に配置されま...
このソースコードをビルド用の作業ディレクトリにリンク(又は...
# pkg_add gmake (xxHashの構築に必要です)
# cd (河豚板ビルドツールの置き場所)/fuguita-buildtools-7...
# ln -s fiopt.mk Makefile
# ln -s /usr/ports/distfiles/rsync-*.tar.gz .
# ln -s /usr/ports/distfiles/xxHash-*.tar.gz .
# ln -s /usr/ports/distfiles/rlwrap-*.tar.gz .
# ln -s /usr/ports/distfiles/pv-*.tar.gz .
# make RSYNC=rsync-3.3.0 XXHASH=xxHash-0.8.2 RLWRAP=rlwr...
makeに与える引数には、実際に取得した各ソースコードのバー...
ビルドが正常に完了すると、親ディレクトリにfiopt76.tar.gz...
# cd ..
# ls -l
total 1736
drwxr-xr-x 2 root wheel 512 Nov 15 02:58 CVS
drwxr-xr-x 7 root wheel 512 Dec 12 23:53 build
-rw-r--r-- 1 root wheel 867970 Dec 12 23:53 fiopt76.tgz
これをinstall_setsディレクトリにリンク(又はコピー)します。
# cd ../install_sets
# ln -s ../fiopt/fiopt76.tgz .
# cd ..
//***B: portsを使用してコマンドをビルド [#jcd3682d]
//>この方法では、portsツリーから作成したrsync, rlwrap, pv...
// # cd install_pkgs
// # ln -s /usr/ports/packages/amd64/all/lz4-*.tgz .
// # ln -s /usr/ports/packages/amd64/all/xz-*.tgz .
// # ln -s /usr/ports/packages/amd64/all/zstd-*.tgz .
// # ln -s /usr/ports/packages/amd64/all/libiconv-*.tgz .
// # ln -s /usr/ports/packages/amd64/all/rsync-*.tgz .
// # ln -s /usr/ports/packages/amd64/all/rlwrap-*.tgz .
// # ln -s /usr/ports/packages/amd64/all/gettext-runtime-...
// # ln -s /usr/ports/packages/amd64/all/pv-*.tgz .
// # cd ..
//>>''【メモ】''~
//''⇒''これらのパッケージファイルも、OpenBSDのオフィシャ...
//この場合も、河豚板のリリースが公開された時点でのものに...
河豚板の構築に必要となるファイルやコマンドを準備したら、...
# make setup
>''【メモ】''~
''⇒''install_setsの下にsite76.tgzというファイルを置いてお...
install.siteがsite76.tgzに含まれている場合、その内容が/et...
site76.tgzを加えて河豚板を構築した結果、sysmedia/fuguita-...
**河豚板の構築 [#a9ad6923]
最後に、河豚板を構築します。~
LiveDVDとLiveUSBの両方を構築するには、以下のようにします。
# make all
また、
# make livedvd
でLiveDVDのみが構築され、
# make liveusb
ではLiveUSBのみが構築されます。
**構築後の調整 [#wfda33a7]
***mode0symlinks.cpio.gzの作成 [#hba46272]
このファイルは、LiveDVDをモード0で起動した場合の時間短縮...
mode0symlinks.cpio.gzを作成するには、完成したLiveDVDをモ...
このファイルをmode0symlinks.cpio.gz.amd64というファイル名...
# cp mode0symlinks.cpio.gz lib/mode0symlinks.cpio.gz.amd64
# make clean
# make all
***fuguita_sys_mbの調整 [#tfa3add4]
河豚板には、/etc/fuguita/global.confというファイルがあり...
fuguita_sys_mb=1122 # size of sysmedia.img
newdrive_defswap=16M # default swap size at usbfadm newd...
memfstype=mfs # 'mfs' or 'tmpfs'
mfs_max_mb=30720 # mfs hard limit - 30GB
このうち、fuguita_sys_mbは河豚板のシステムを格納するパー...
fuguita_sys_mbの設定値は、LiveDVD構築時に生成されるlivecd...
# echo $(( $(wc -c < livecd.iso)/1024/1024+10 ))
このコマンドで表示された値をlib/global.conf.amd64ファイル...
# vi lib/global.conf.amd64
# make clean
# make all
**Makefileのターゲット [#y240b797]
Makefile中の主なターゲットについて説明します。
:init|初期セットアップ: 構築に必要なディレクトリの作成な...
:setup|構築環境の最終セットアップ: 構築の材料となるファイ...
:livedvd|LiveDVDのリリースファイル(FuguIta-*-*-*.iso.gz)...
:liveusb|LiveUSBのリリースファイル(FuguIta-*-*-*.usb.gz)...
:all|LiveDVDとLiveUSBの両方のリリースファイルを生成します
:kernclean|カーネルのオブジェクトファイルを削除します
:kernreset|カーネルのオブジェクトファイルの一部を削除しま...
:kern|カーネルをコンパイルします
:clean|リリースファイルやその中間生成物を削除します
:distclean|リリースファイル、中間生成物、構築材料を全て削...
:dvd2usb|sysmedia-7.6-amd76.img.gzがない状態でLiveUSBを生...
このターゲットを使用するにはOpenBSDの仮想化システム [[vmm...
make livedvdでLiveDVDのリリースファイルを作成後、このター...
LiveDVDのVMをシャットダウンすると、引き続き今作成したLive...
LiveUSBのVMをシャットダウンすると、このLiveUSBのリリース...
このLiveUSBのリリースファイルは[[sysmedia-7.6-amd64.img.g...
#navi(河豚板ガイド)
Page: