世界を動かす技術を、日本語で。

OpenBSD 7.8

概要

OpenBSD 7.8が2025年10月22日にリリース。 30年間でリモートホール2件という高いセキュリティ実績を継続。 arm64やamd64など各プラットフォームでのハードウェア対応強化。 カーネルやユーザーランドの機能追加と多数のバグ修正。 ネットワーク・グラフィック・仮想化・インストーラの改善多数。

OpenBSD 7.8 リリース内容

  • OpenBSD 7.8 の公式リリース発表、59回目のリリース
    • 30年間でリモートホール2件 という堅牢なセキュリティ実績
    • ほぼ全分野で 新機能・改良・バグ修正 を実施

プラットフォーム別の改良点

  • arm64

    • Raspberry Pi 5 対応(シリアルポートコンソール)
    • acpicpu(4) 実装、Snapdragon X Elite対応
    • Apple系で exuart(4) BREAK検出時にDDBへ遷移
    • pmap_enter(9) の競合回避、複数スレッドのページフォールト防止
  • amd64

    • GPIOイベント処理 の修正、AMD CPU搭載ThinkPadの電源ボタン対応
  • sparc64

    • softintrルーチン に_rawフレーバー追加、ハードウェアレベルでの割り込み対応

カーネルの主な改良

  • sysctl(2) kern.seminfo.semopm の上限設定、カーネルパニック回避
  • fork(2) 時のPS_NOBTCFI/PS_PROFILE継承
  • POSIX-2024 close-on-fork フラグ実装(exec実行時リセット)
  • witness(4) によるロックネスト管理改善
  • MI高レベルソフトウェア割り込みディスパッチャ 追加
  • fs.posix.setuid sysctl 機能削除
  • FIFOキュー によるスレッドリーパーへのデッドスレッド伝達
  • カーネルのスリープ時間単位 をナノ秒へ変更、精度向上
  • AMD SEV/SEV-ES 仮想化対応強化(dmesg表示、GHCBプロトコル対応)
  • cpu_xcall(9) API新設、割り込みコンテキストでCPU指定実行
  • dt(4)・btrace(8) のドキュメント・機能強化
  • FUSEファイルシステム のLinux互換性向上
  • フォルトハンドラの並列化 対応
  • mtx_enter() の大規模CPU環境での性能向上

サスペンド・ハイバネート対応

  • ハイバネート作業領域 の事前確保、失敗対策
  • GPIO対応リッドサスペンド/レジューム 実装
  • amdgpio(4) によるウェイクアップ割り込み対応、AMDノートPCのS0ixサスペンドからの復帰
  • powerbutton_event() 関数の汎用化
  • ddb.suspend sysctl によるS0ixサスペンド強制、ディスプレイON維持
  • ThinkPad Z13 のUSBポート復旧、 amdgpu(4) のS3サスペンド信頼性向上
  • amd64のunhibernateチャンクテーブル サイズ倍増、大容量メモリ対応

SMP(マルチプロセッサ)改良

  • 最大8本のsoftnetスレッド によるネットワーク入力処理
  • TCPスタックの並列処理、最大8スレッドでTCP処理
    • 各TCP接続は1CPUが担当、複数ストリーム利用で分散可能
  • IPv6フラグメント再構成・ヘッダ解析 の並列処理
  • close(2)、listen(2) のシステムコールが専有ネットロック無しで動作

グラフィックス・DRMドライバ

  • drm(4)Linux 6.12.50 へアップデート
  • qcdrm(4) (Qualcomm Snapdragon DRM)、 qcdpc(4) (Qualcomm DisplayPort)新規追加

仮想化・VMM/VMD

  • AMD SEV-ES 技術での機密VM起動対応
    • vmm/vmdハイパーバイザーKVM/qemu 両方でサポート
  • vm.conf(5) に"seves"キーワード追加、 vmctl(8) エラーメッセージ改善
  • vmd(8) のプロセス間通信のサニタイズ
  • vmm(4) ゲストメモリの管理簡素化、 Linuxゲストのkvm-clock 利用対応
  • vmd(8)のsend/receive 機能削除、PCI config space外アクセス防止

ユーザーランドの新機能・改善

  • pkg-config(1)Cベースのpkgconf 2.4.3 へ変更、パフォーマンス向上
  • IIJのiwatchwatch(1) として導入、定期コマンド実行ツール
  • security(8) によるGPT/MBRバックアップ
  • fdisk(8) の強化(GPT/MBR復元、新規パーティション編集、表示改善)
  • apmd(8) に[-w percent]・/etc/apm/warnlowフック追加
  • 新gprofプロファイリングシステム 導入、 monstartup(3) 削除
  • ibufq(3) API 追加、マルチスレッドibufサポート

ユーザーランドのバグ修正・調整

  • fdisk(8) の詳細表示、GPTパーティションの並び順改善
  • vi(1) のコマンド実行・ペースト・外部コマンド実行時のクラッシュ修正
  • flockfile(3) の再帰ミューテックス化
  • login_yubikey(8) でOTPシークレットをログしない
  • gmtime(3) の返却値をUTCへ統一
  • exit()・fclose()・fflush()・freopen() のPOSIX-2008準拠
  • bioctl(8) でRAID 1Cのキーディスク表示修正
  • rm(1) のPOSIX準拠動作修正
  • ksh(1) VIモード でのUTF-8表示崩れ防止
  • mdoc(7) の複数引数対応
  • sndiod(8) でプログラム単位の音量制御へ
  • tar(1) のエラー時動作改善
  • syslogd(8) のメモリリーク修正、TLSハンドシェイク対応
  • Freetype で埋め込みPNGビットマップ対応(カラーフォント等)

ハードウェア対応・ドライバ修正

  • acpiwmi(4) (Windows Management Instrumentation)、 amdpmc(4) (AMD電源管理)など新規ドライバ多数
  • Raspberry Pi 5RP1 周辺デバイス対応強化
  • virtio(4) で4GB超メモリ利用対応
  • uvideo(4) でH.264動画対応
  • wsdisplay(4) のカーネルパニック回避
  • ukbd(4) でYubiKeyをキーボードとして認識しないよう変更(FIDO機能利用容易化)
  • bcmstb系ドライバ でBroadcomセットトップボックス対応
  • RK3528 への各種ドライバ対応

ネットワーク・無線ドライバ

  • Raspberry Pi 5のcad(4) Ethernet でPHY遅延設定修正
  • rge(4) でRealtek RTL8125D/RTL8127対応、RTL8125Bマイクロコード更新
  • ixl(4) でTCP Large Receive Offloadソフト実装
  • ice(4) でIntel E810対応、100/25Gbps、TSO/RSS/SoftLROサポート
  • bnxt(4) でSoftLRO対応、 iavf(4) でTSO対応
  • hvn(4) のTCPチェックサムオフロード無効化(新Hyper-V非対応)
  • qwx(4) で802.11n/HT・ローミング・TKIP・サスペンド安定性向上
  • bwfm(4) でWPAハンドシェイク信頼性向上
  • iwx(4) でIntel AX210一部対応

インストーラ・アップグレード・pkg-tools

  • 1GB超ディスク をデフォルトrootディスク候補に
  • http/nfsによるオフラインインストール の廃止
  • /bsdリリンクエラー時の破損防止
  • pkg_add(1) のアップデート信頼性向上

このリリースはOpenBSDの 堅牢性・新機能・幅広いハードウェア対応 をさらに強化するもの。 全詳細は公式リリースノートやmanページ参照。

Hackerたちの意見

おお、Raspberry Pi 5がサポートされたみたいだね!

でも、Wi-FiとBluetoothがちゃんと動くかはわからないな。: > o "vmmc-supply"のサポートをsdhc(4)に実装したんだ。これがないとRaspberry Pi 5のWi-Fiチップが起動しないからね。

OpenBSD 7.8のリリースアートワーク by "Apsephion" https://www.openbsd.org/images/Terraodontidae.png https://www.openbsd.org/images/puffy78.gif https://www.openbsd.org/78.html

7.3以降、リリースソングが出てないのが残念だね。: https://www.openbsd.org/lyrics.html#73

HPが2008年にPA-RISCのサポートを終了したのに、まだそれを維持してるのには感心するよ。こんなに小さくてまとまったコードベースで、ほとんど膨張もなく、いろんなアーキテクチャをサポートしてるのはすごいね。内蔵のhttpdは、ローカルネットワーク用の静的ファイルサーバーを設定するのに今までで一番良い体験だったし、内蔵のFastCGIサポートでできないことなんてほとんど思いつかないよ。Chicago95(xfceベースのWindows 95風UI)がOpenBSDでこんなにうまく動くとは思わなかったけど、作者はxubuntu以外で動かすつもりはなかったみたいだね。やる気があるなら試してみてもいいけど、手間をかける価値はあると思うよ。xenodmやXFCE、GNOMEよりもあの見た目と雰囲気が好きならね。

うーん、若い頃を思い出すな。Windows95をサーバーにするために一晩中動かしてたのを覚えてるよ。次の朝、マウスを動かすだけでハードディスクが暴走してた。カーソルを動かすだけでページングしてたし、メモリリークがすごかった。これ見てると、Linuxを日常使いしたくなるね! [1] [1] https://github.com/grassmunk/Chicago95/blob/master/Screensho...

Chicago95、やっちゃったよ。:-) https://www.linkedin.com/posts/brynet_openbsd-activity-73074...

グローバルカーネルロックから外れた今、TCPパフォーマンスをベンチマークした人いる?ファイアウォール用の控えめだけどマルチコアなシステムにどれだけ役立つか気になるな。

新しいリリースおめでとう!マシンのアップグレードはスムーズにいったよ :)

同じく。sysupgradeは問題なく完了したよ。

TCPスタックが複数のCPUで並行して動いてるよ。これはファイアウォールにとっていい改善になるはず。今日、カードでちょっとテストしてみようと思ってる。

うん、同意。

うちの接続はすごく低スペックなProtectliを通ってるけど、「低スペック」って最近は「4コア」って意味だよね…。

BSDの驚くべきところは、そのシンプルさと低いリソース消費だよね。OpenBSDはその金字塔だと思う。ここ2週間、byveをいじってるんだけど(BSDに興味がある人にはvermadenのブログを超おすすめするよ、もちろん各プロジェクトのハンドブックもね)、もう二度とデュアルブートのLinuxインストールはしないかも。古いx230(FreeBSDを動かしてる)にはOpenBSDをインストールして、もっと慣れようと思ってる。Debianをインストールした後にtopで200近くのプロセスが表示される理由がまだわからない。BSDだと20未満なのに。他にイラッとするのは、例えばUbuntuだとマウントポイントがめちゃくちゃ汚れてること。パッケージ管理もLinuxはバラバラだけど、BSDはpkgかportsのどちらかだし。もっとミニマリスティックなLinuxディストリビューションも試すべきかな、でもどれがいい候補かわからない。誤解しないでほしいけど、Linuxは大好きだし、周りの非技術者にも強く勧めてる。でもBSDを味わったら、戻るのが難しいんだよね。

Linuxのtopはカーネルスレッド(角括弧内のすべてのプロセス)を表示するけど、BSDではこれが表示されないと思う。新しいDebianインストールだと、期待されるプロセス(ssh、systemd、ntp、gettysなど)だけが数個リストされるけど、200以上のカーネルスレッドは表示されない。

もう二度とデュアルブートのLinuxインストールはしないかも。 俺も同じだよ。数年間Arch/FreeBSDのデュアルブートをしてたけど、Archのインストールはもう必要ないからFreeBSDだけにした。ゲーム用にはbhyveのWin11 VM(GPUパススルー付き)を持ってるし、それで十分だね。

ここ2週間、byveをいじってるんだけど。 "bhyve"のことを言いたかったんだと思うよ。

OpenBSDは10年間ずっとルーターとして使ってるんだ。必要なことは全部やってくれるansibleプレイブックもあるし、ファンレスのPCに安いUSBドライブを使ってるけど、唯一の故障はその9ドルのUSBドライブだけだね。

FSジャーナリング/ソフトアップデートの状況はどうなってるの?以前はOpenBSDが好きだったけど、数年前にソフトアップデートのサポートがなくなってから、私の生活から消えちゃった。90年代の電源切断による予期しないハードシャットダウンの後に、fsckやデータロスがあったのがあまり好きじゃなかったんだ。今は新しいFSがサポートされてるのかな?

パフォーマンスの関係でファイアウォールをFreeBSDに切り替えたんだ。Mellanoxカードとの相性が気になるな。やっぱりOpenBSDの方が好きなんだけど。

OpenBSDのターミナルでWi-Fiに接続するのはめっちゃ簡単。システムの背後にある細かい作業を反映してるね。

本当にそうだよね。それだけじゃなくて、WireGuardがネイティブでサポートされてるから、ピアの設定も例の行を/etc/hostname.wg[0-9]にコピペするだけで簡単なんだ。https://man.openbsd.org/wg#EXAMPLES 基本システムのすべてがシンプルなテキストファイルベースの設定で、アップグレードの際にドラマもないのが、OpenBSDユーザーを幸せにしてるんだよね。