Top / EBUG勉強会 / 20191030_FuguIta66

河豚板6.6のリリースについて

EBUG 第71回会合
2019年10月30日、新潟市、万代市民会館
川俣吉広、kaw@on.rim.or.jp

OpenBSD 6.6

2019年10月17日リリース

What's new

主なもの

  • 1023GB以上のメモリに対するサポートを修正(amd64)
  • ベースシステムのコンパイラをclangに変更(powerpc): GNU binutils ld → lld
  • tmux(1)に対する種々の改良
  • SMPの改良 ... 幾つかのシステムコールでロックを除去/MPセーフに
  • 各種デバイスドライバの追加
  • IEEE 802.11および汎用ネットワークスタックの改良
  • sysupgrade(8)の追加
  • etc...

河豚板6.6

OpenBSD 6.6をベースにした河豚板6.6を作成し、リリース

  • 2019年11月2日 - i386, amd64
  • 2019年11月12日 - arm64

河豚板リリース - 今回のハマりどころ

毎回のリリースでは、一定の手順に従って作業を行うが、OpenBSDが前回リリースから種々の変更がなされているため、それらの影響により手順どおり河豚板を作成しても、本来の動作をしない場合が多々ある。

インストール容量の増大

amd64でインストール直後のディスク容量が1GB超え → LiveCDの容量(700MB)に収まらない!

  • 対策
    • LiveCDからLiveDVDに変更 → ISOイメージサイズを946MBとした
    • 併せてLiveUSBのイメージサイズも2GBに変更
  • DVDへの書込みはcdio(1)は使用できず、portsなどからdvd+rw-toolsなどをインストールしてそれにより書き込む必要がある。

vnconfigのエラー

河豚板をビルドし起動してみたところvnconfigがエラー(invalid argument)となり、正常に起動できない。

さらに調査を行ったところ、以下の点が判明

  • read onlyでマウントしたファイルシステム上でvnconfigを実行するとエラーとなる
  • アーキテクチャ/プラットフォームに関らず発生
  • 素のOpenBSD(GENERICカーネル)でも発生
  • 発生元と思われる /usr/src/sys/dev/vnd.c は、6.5からの変更点は一箇所のみ。この箇所を6.5と同じ状態に戻してbuildしても状況は変らず

以上の内容をバグレポートとしてbugs@openbsd.orgに報告

数日後、Bob Beck氏よりvnd.cの修正diffをメールにて受け取る。

OpenBSDのリポジトリに対しても、HEADブランチにて修正が入る

河豚板でもカーネルを修正後、ビルドし、正常動作を確認。

arm64での動作不安定

arm64ビルド後、実行してみたところ、以下の不具合が発生

  • 起動時/etc/rcの中で行っているASLR処理で、リンカがkillされる
  • 起動完了後も、ランダムなタイミングでプロセスがkillされる

/etc/login.confで設定されるリソースのリミット値(1プロセスが扱えるメモリやスタックサイズの最大量など)を変更してみたが状況は変らず。

スワップパーティションを追加してみたところ、不具合は解消。
ただし、不具合解消時にスワップが使われた形跡なし。現象発生時は、メモリ不足となるような状況ではなく、メモリ使用量のごく少ないプロセスでもkillされていた。よって原因は未だ不明。

arm64の配布イメージにスワップパーティション(64MB)を追加することで対処した。

改良点

usbfadmの改良

  • 前項の不具合に対応して、usbfadmユティリティにてLiveUSB作成時、スワップパーティションを作成できるように機能追加
  • プログレスバー表示ユーティリティpvをportsより追加
    併せて、usbfadmにて時間のかかるファイル転送時、プログレスバーを表示するようにした
  • ファイル転送時、差分転送ではない箇所を rsync から pax / dd に変更。

Top / EBUG勉強会 / 20191030_FuguIta66

Reload  New Edit Freeze Diff Attach Copy Rename  Top Index Search Recent Backups  Help  RSS
Last-modified: 2019-12-11 (Wed) 14:37:18 (113d)