Super UEFIinSecureBoot Diskを使って、Secure Bootが有効化されたPCでNetBSD/amd64を起動させてみる これは、NetBSD Advent Calendar 2020の15日目の記事です。 はじめに UEFIな環境のPCでNetBSD/amd64を起動させる場合には、Secure Bootを無効にするようにBIOS設定画面で設定しておく必要があります。 ですが、Secure Bootを無効にしないで起動する方法はないかと思っていました。 GitHUb.comを見ていると、Super UEFIinSecureBoot Diskというのを 見つけました。 Red Hat社がFedore Linux用に用意しているSecure Bootに対応したブートローダーを利用した仕組みのようです。 既にSecure Boot無効な状態でインストール済みのPCで、
QEMUとNVMMによるハイパーバイザの利用 NVMMとは NVMMのインストール NetBSDカーネルとモジュールのビルド qemu-nvmmパッケージのインストール 使い方 参考文献 NVMMとは NVMM(NetBSD Virtual Machine Monitor)はNetBSD x86_64アーキテクチャ上でハイパーバイザを提供するNetBSDカーネルの機能です。Xenと同じくNetBSDのソースコードに取り込まれているハイパーバイザですが、Xenと違いゲスト仮想マシン用のカーネル(Domain-U)を別途用意しなければならなかったり、ホスト側のカーネルがマルチコアに対応していたりしないわけではありません。LinuxカーネルのKVMやNetBSDのHAXMと同じく、ハードウェア仮想化にQEMUを用いて、QEMUのプラグインとしてハードウェアアクセラレーション(hardware-a
この記事は自作OS Advent Calendar 2020 7日目の記事となります。 はじめに 現在のオープンソースOSは、たとえばLinux開発ボードであればボードベンダーから移植済みのLinux環境が提供されたり、たとえばNetBSDであればクロスコンパイル環境が整備済みでドキュメントも用意されていて、最低限の移植作業で移植が完了したりします。 ぼくがNetBSDを移植した当時(1993年)はそうではありませんでした。ドキュメントもなくいろいろ手探りで、それも一人でやらざるを得ませんでした。苦労話のことは置いておいて、技術的にどういう物が用意され何を調べてどういう手順で移植していったかを記録に残せればと思います。(って前置きした割に苦労話が多いような気がします、すみません) かなり昔の話なので、けっこう忘れてることも多く、微妙に記憶が間違っていたりすることも、順番が前後していることも
NetBSD Advent Calendar 2020 5日目の記事です。 今日はNetBSD-9.0で追加された、mount_qemufwcfg(8)コマンドの紹介をしようと思います。 NetBSD-9.0のリリースアナウンス(Announcing NetBSD 9.0 (Feb 14, 2020))を見ると、"support for the QEMU firmware configuration device"という一文があります。これに対応する機能が今日紹介するmount_qemufwcfg(8)のようです。 Improvements for using NetBSD as a guest OS, with support for the QEMU firmware configuration device, ... mount_qemufwcfgとQEMU fw configura
NVMM NVMM is a Type-2 hypervisor, and hypervisor platform, that provides support for hardware-accelerated virtualization. A virtualization API is shipped in libnvmm, and allows existing emulators such as Qemu to easily create and manage virtual machines via NVMM. History NVMM was developed in 2018, and initially supported NetBSD as main host OS. NetBSD support was later abandoned, and the NVMM ver
この記事は、NetBSD Advent Calendar 2019の18日目の記事です。 はじめに 今年のNetBSDの目玉の一つは、NVMM (NetBSD Virtual Machine Monitor)だと思います。 実際には2018年からあったように思うのですが、NetBSD/amd64上で、AMD製のCPUだけでなくIntel製のCPUでも動くようになったことで、 活用できる幅が広がったように思います。 とは言っても、私のラップトップでは、Windows 10を問題なく動かせるようにはなっていません。 しかし他のマシンではWindows 10 x86_64も動かせるので、これは私の環境に固有の問題だと思います。 (Windows 10を起動させたいのは、Adobe Acrobat DCやWindows版のMozilla Firefoxを動かしたいのが理由でしたが、 そういう用途に
NetBSDにはipfというパケットフィルタ機能が搭載されています。フィルタ状況のログは以下のようにipmonコマンドで確認することができます(IPアドレス等は AAA や BBB に置き換えています)。 $ sudo ipmon ... 01/12/2019 11:34:41.268129 pppoe0 @0:7 b AAA.AAA.AAA.AAA,58501 -> BBB.BBB.BBB.BBB,22 PR tcp len 20 44 -S IN ... この例では、 AAA.AAA.AAA.AAA からssh(22番ポート)へのアクセスをブロックしたというログになっています。このログの内容をうまいこと集計できるようにしてみます。 集計の前に、まずはipfの設定手順を概観する 今回紹介するipfのログ集計は、以前のアドベントカレンダーにおいて、NetBSD+Raspberry PiでP
Experiment with NetBSD, an open source OS with direct lineage back to the original UNIX source code, on your Raspberry Pi. Do you have an old Raspberry Pi lying around gathering dust, maybe after a recent Pi upgrade? Are you curious about BSD Unix? If you answered "yes" to both of these questions, you'll be pleased to know that the first is the solution to the second, because you can run NetBSD, a
最近のPCは従来BIOSと呼ばれていたOSを起動する仕組みに、U-EFIという新しい方式に変わりつつあります。 U-EFIになることで機能的にもできることが色々増えたりするのですが、ユーザー側から見てもっともわかりやすい変更は以下の点でしょう。 GPTに対応し2TBを越えるストレージデバイス(HDやSSD等)を認識し、そこからOSを起動できる。 従来のBIOSではmbrというディスク管理の仕組みで記録された情報で起動していましたが、これはパーティション情報として格納できる最大値が2TBであったため、これ以上大きなディスクを正しく扱えませんでした。 既に一部のノートパソコン、特にタブレットPC等はレガシーBIOS互換機能が無く従来のMBR形式では起動できないマシンが存在します(MicrosoftのSurface系がそうらしい)。 また、Intelは2020年にレガシーBIOS互換機能のサポー
Kernel modules are object files used to extend an operating system’s kernel functionality at run time. In this post, we’ll look at implementing a simple character device driver as a kernel module in NetBSD. Once it is loaded, userspace processes will be able to write an arbitrary byte string to the device, and on every successive read expect a cryptographically-secure pseudorandom permutation of t
少し前の話になりますが、NetBSD-7.0のLuaカーネルモジュール機能で遊ぶ会という勉強会を開催し、NetBSD-7系で利用できるLuaカーネルモジュール機能を試してみました。 これに前後する形でNetBSD-7.0_RC3が8/15にリリースされていました。手元の環境ではNetBSD-7.0_RC1での手順を調べていたので、改めてNetBSD-7.0_RC3における、Luaカーネルモジュール機能の利用手順をまとめてみました。 NetBSD-7.0_RC3のインストール まずはNetBSD-7.0_RC3のインストールです。ISOイメージは以下のURLからダウンロードできます。 http://ftp.jaist.ac.jp/pub/NetBSD/iso/7.0_RC3/NetBSD-7.0_RC3-amd64.iso NetBSDのインストールは以下の記事を参考にしながら行えます。が、
2018年2月5日の朝から始めたpkg_rolling-replaceが2018年2月13日の夜に終わりました。途中でエラーが出て、対処方法を考えていたりしたので、連続して動かしていたわけではありませんが、何のかんのと、ほぼ一週間かかったことになります。 # date Tue Feb 13 18:53:30 JST 2018 # pkg_rolling-replace -rusv ; date RR> Checking for mismatched installed packages using pkg_chk RR> Excluding the following mismatched packages: rr> EXCLUDE=[] RR> Checking for rebuild-requested installed packages (rebuild=YES) RR> Chec
NetBSD Advent Calendar 2017の8日目の記事です。 はじめに 2015年5月17日以前にConoHaにアカウントを作っていたので、 新しくなったConoHaのVPSを試していなかった。 NetBSDに関しては、NetBSD/amd64 7.1のテンプレートが用意されているようだ。 しかし、NetBSD 8.0_BETAが試せるので、NetBSD/amd64 8.0_BETAを インストールしたいと言うのが人情だと思う。 ConoHa VPSではOpenStackをインフラストラクチャーとして使用しているとのことで、 OpenStack APIを使用することができる。 こう書くと便利なようだが、OpenStack APIを使わないとISOイメージの持ち込みも できないので、逆に不便な気もする。 多数の仮想マシンを展開する場合には、何でもAPIで実行できるのは意味が あ
NetBSD Advent Calendar 2017の5日目の記事です。 はじめに 新しいMozilla Firefoxのビルドには、Rustプログラミング言語のコンパイラーであるrustcと、パッケージ管理プログラムのcargoが必要となっている。 jakllschさんがNetBSD/amd64には移植してくれているので、RustのアップストリームがNetBSD/amd64 7向けのブートストラップキットはビルドしてくれている。 だが、NetBSD/i386 7向けがないと、Mozilla FirefoxをNetBSD/i386でビルドできない。 私はhttps://deuterium.ryoon.net/pub/rust/でnetBSD/i386 7用のブートストラップキット を公開しているが、信頼できるか分からない人の作ったコンパイラーなど使うべきではない。 ここにブートストラップ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く