またDNS設定!
またDNS
うちのメインDNSとして使っていたIntelNUCですが、内臓のFANが壊れたみたいで時々唸る。ので、そろそろ替え時かな?とね。
何にしようかなと思いながら片付けしてたら、出てきたRaspberryPi 3B+。SDカードも刺さってるし、これ、何入ってる?と起動してみたら…
…OpenBSD7.0が入ってる?
いついれたの?俺。
なら、NUCと交換だ!とばかりにおっぱじめました。
キャッシュDNS構成にしておいてよかった
うちにはVMもPMもごろごろしてて、DNSのIPが変わると設定変更がとてもめんどくさいから、キャッシュDNSを使う構成にしてる。VMもPMもDNSはキャッシュDNSのIPを登録してる。
こんな感じ。
ということで、手順としては
①NEW DNSを単独で動くようにして、digで試す。
②SlaveDNSをNEW DNSと通信できるようにして、digで試す。
④OLD DNSの電源をそっと落とす
ということで、機器切り替えに伴う停止なく、無事に終わりましたとさ。
SlaveDNSの挙動?
SlaveDNS in BINDなんだけど、rdc-transferコマンド打たないとMasterDNSからゾーン情報持ってこなかった…
SlaveDNS in NSDもnsd-control transferコマンド打ってからnsd-control writeコマンド打たないと、slave zone ファイルを書き込みしなかった。
そういう仕様なの?
とりあえず、うまくうごいてるから良しとしよう(笑
近代化改装!Core i7 2600K
PCがあまる
うちには、2011年9月に構築したCore i7 2600Kなデスクトップが1台ありましてね。
WIndows7 → VineLinux(in VMware Serer) → ESXi
と変遷しながら仮想化サーバーとして大活躍していたわけですよ。
ところが、2020年にもなると、ちょっと重たいな?と感じ始めたので、思い切ってね。
Core i7 10700Kで新たなESXiを構築しちゃったわけです。
なので、2600Kはお役御免になったのだけど、ね…
MOTTAINAI
10年近く前のCPUとはいえど、4コア8スレ。Vt-dもついてる!
メモリは16GB載ってるし、マインボードもASUSのZ68。
電源ユニットも贅沢に600Wを載せてるし、これは雷で壊れて2017年に換装したばかり。
そう!6世代前のテクノロジーで構築されているとはいえ、骨格がしっかりしてるので、まだまだ使えそうな雰囲気なんですよね。
なにか使い道ないかな?試しにWin11でも?と思ったら…TPM2.0なんて対応してないので、あきらめて…Linux入れてみたら、これが結構使い物になるんですよ。
ということで、お得意の、近代化改装が始まっちゃうわけなんですよ。
2020年から2年立ってるって?
ああ、その間は、ESXiの予備機としてモスボールしてた!
Quadro 2000を搭載
サーバーからホビーユースに用途変更するにあたって、まず考えてのがグラボ。
サーバーのときはグラボは適当でよかったので内蔵GPUを使ってたけど、今度は動画編集も試したいし、いっそOpenGLもやてみたい!
ということで、選択したのが、Quadro 2000。
選んだ理由?
「メインボードがPCI Express 2.0までで、それに対応してるグラボをジャンク屋で探してたらちょうど売ってたから」
そんな適当な理由でいいの?しかも、ジャンクで買ったから1,000円だよ?
無事動いてるし、ベンチとかとってないけど、動画再生してもいい感じなんで、きっといいんだと思うよ?
ってことで、まずは、グラフィック性能をあげました!
Bluetoohは…はまった!
デスクトップとして使うから、常用するキーボードとマウスは必須。
ちょうど、今使ってるBluetoothのキーボードとマウスが3チャンネル対応で、1チャンネル余ってるから、それを使おう!ということで、Amazonで1,000円で売ってたUSBドングルを購入して刺した!
が!これだ大変なハマりポイントでした。
結論としてなんだが…
EFIでブート
→USBの動作不安定?system status bluetoothで見ると、時々、止まったり暴走してる。もちろん、マウスもキーボードもぷちぷち切れるし、有線つなぎながらの設定作業になるし、もう、キレそう
BIOSでブート
→起動時、おちつくまではちょっと不安定だけど、つながってしまえばあとは安定
ということで、BIOSブートにすることで決着した。
しかし…この結論に達するまでに、OS(ubuntu)のバージョン変えながら、OSのインストールを10回以上やってみたのは、内緒。
Bluetoothが落ち着けばあとは順調。
ジャンク屋で1,000円で買ってきた、DUAL SHOCK3も普通に使えるし、ワイヤレスイヤホンモジュールも接続できる。
ということで、今どきPC風にBluetoothも使えるようになったんだな!
Intel Rapid Storage Technology(IRST)で大ハマリ!
Z68チップセットなんで、ソフトRAID機能がついてるんだけど、ESXiでは対応しないので使ってなかった。最近のLinuxだとカーネルモジュールで対応してるらしいので…
「RAID0(ストライプ)したらストレージ爆速でうはうは!」
とやってみたのも、実はドハマり。
2.5インチのHDDが2個余ってたんでこれで試したんだけど…もう遅いのなんのって!
OSのインストールには1時間位かかるし…インストール後の起動にも15分くらいかかるし…息してる?ってくらい遅くて、お前ほんとにRAIDか!と激おこレベル。
腹立ったんで単品でやって見ても、遅い。
なんで?
ということで、決着したんだけど、5400rpmのHDDを使ったことが原因みたい。
別の7200rpmのHDDを単品で使ってみたら、ごく普通に使えるようになった。
IRSTが悪いのか、HDDの基本性能なのか、原因は切り分けできてないけど、とりあえず、単品で動いたからよしとする。
いずれ、SSDでIRSTはもう一回チャレンジしたいね。
大復活!Core i7 2600K
ということで、すったもんだの末に動き出した、Core i7 2600K。
OSはUbuntu 20.04.4LTS。
VMware Playerも動いてるし、RDPも使えるし、メインで使ってるMacとそんなに変わらずに使えるかな?
Office系アプリもOffice365入ってるから、Web版使えばいいし、もうこれ、メインマインでいいや!
と、システムモニタ見ながら、8発エンジンの動作にニヤニヤしているのです。
そして…これから
ということで、新品買ったわけでもないのに、PCが1台転がり出てきてすごく得した気分!
普段使ってるPCがCore i3とかCore i5な上にメモリはせいぜい8GBだから、6世代前とはいえCore i7な上にメモリ16GBだとこんなに快適になるのか!
これから、プライベートは脱Windows目指して頑張ろうかと、思うのです。
謹賀新年2022、そして、ntpd.conf(OpenNTPd)を和訳したよ
謹賀新年2022
あけましておめでとうございます。
今年もよろしくお願いいたします。
思えば、2017年に、「毎日何かやって投稿しよう!」と思って始めたこのブログですが、仕事が忙しくていつの間にかほったらかしになってました。
年も改まったことですし、再始動しようかな?と思う次第でございます。
時は金なり
相変わらず、物理or仮想を問わず、Linux環境がゴロゴロしてる我が家なわけですが…昨年、ドメインコントローラーと連携するストレージサーバーの設定をせっせとやっておりました。DCはSamba、ストレージはFreeNASなんですけどね。
設定にはとにかくハマりまくったのですが、そのうちの一つの要因が、「時計合わせ」各サーバーの時計がでたらめだったもんで、うまく同期してくれなくて、倒れそうなくらいハマりまくったというね。NICTの公開NTPであるntp.nict.jpに時刻同期してなんとかしたということがありました。
ネット回線が太い昨今とはいえ、各々のマシンが外部にトラフィックを出すというのも如何ながものかな?と思うので、ローカルにntpdを構築することに。
せっかくなので、LinuxではなくてOpenBSDでやってみようかなと思い立ちましたとさ。
同姓同名の別人?
相変わらず、ハマりの神様からは好かれてるのかな?
LinuxでもやったことあるからOpenBSDでも余裕でしょ?と適当にntpd.confをいじりまくったら、全くうまくいかないというね。
manページをじっくり読んで悟る。
「ntpd.conf、LinuxのntpとOpenNTPdで全く違くね?」
ということで、勉強し直しだぁ!とばかりに和訳して設定して、うまく行きましたとさ。
せっかく和訳したから、載せとくね?
ということで、拙い和訳ですが、せっかくなので、載せときますね。
なお、内容というか和訳の精度については、一切保証できません、ごめんなさい。
参考までに、ということで。
では、今年もゆるゆるとやっていきますので、よろしくです!
----------------------------------------------------------
名称
ntpd.conf Network Time Protocol デーモン設定ファイル
解説
このマニュアルページでは、ntpd(8)設定ファイルのフォーマットを解説する。
ntpd.confは下記のフォーマットになる。
空行と'#'で始まる行は無視されるされる。
キーワードは設定ファイル中で複数回指定されるかもしれない。基本的な設定オプションは下記の通り。
listen on address[rtable table-id]
ntpd(8)が動作するローカルIPアドレスまたはホスト名を指定する。複数回指定した場合は、それぞれのアドレスで動作する。もし、アドレスとして'*'を指定すると、ntpd(8)は明確なルーティングテーブルを用いた全てのローカルアドレスで動作する。ntpd(8)は標準ではどのアドレスでも動作しない。rtableオプションは動作するルーティングテーブルを指定する。標準では、ntpd(8)は現在用いられているルーティングテーブルを用いて動作する。
(例)
listen on *
または
listen on 127.0.0.1
listen on ::1
listen on 127.0.0.1 rtable 4
query from sourceaddr
ntpd(8)が外部問い合わせに使うべきローカルIPアドレスを指定し、その後にserversを指定する。そのIPアドレスはそのPC上で使用できる複数のIPアドレスを指定することができる。
(例)
query from 192.0.2.1
query from 2001:db8::1
sensor device[corrrection microseconds][refid ID-string][stratum stratum-value][trusted][weight weight-value]
ntpd(8)が使用すべき時間センサーデバイスを指定する。sensorは複数回指定できる。ntpd(8)は実在するそれぞれのセンサーを使用できる。実在しないセンサーは無視される。もし、デバイス名称として'*'が指定された場合は、ntpd(8)が認識した全ての時間センサーデバイスを使用する。
(例)
sensor *
sensor nmea0
correction
センサーとのズレを補正するためのマイクロ秒を指定する。最大値は127秒。
(例)DCF77が実時間と70msずれて受け取る場合
sensor udcf0 correction 70000
refid
ID-stringはセンサーのタイプを4文字以上のアスキー文字列で指定する。RFC2030はいくつかの一般的な参照識別子を提案しているが、新しい識別子はふさわしいものとして考案できる。もし、ID-stringが指定されない場合は、ntpd(8)は一般的な参照IDを用いる。
(例)
sensor nmea0 refid GPS
stratum
stratumのデフォルトは1であるが、変更する場合に指定する。
trusted
学習された時刻が、セキュア、信頼できる、そして中間者攻撃をされやすくないことを示し、constraintsを有効にしてもスキップされる。これは、constraintsが使用できない環境でブート時間を合わせる時に有効である。
weight
関連した重要なタイムソース(serversまたはsensor)を越えてコントロールを許可する。値は1〜10までを指定する。指定しない場合は、デフォルトは1になる。例えば、weightに5を指定したサーバーは、1で設定したサーバーであっても、5回時間のズレを調整する。
server address [trusted] [weight weight-value]
同期するNTPサーバーのIPアドレスまたはホスト名を指定する。もし、複数回指定した場合は、ntpd(8)は全ての指定したサーバーと同期を試行する。もし、複数のIPv4またはIPv6アドレスのホスト名を名前解決する場合は、最初のアドレスを使用する。もし、応答がない場合は、ntpd(8)は次のIPアドレスにリトライし、稼働しているIPアドレスが見つかるまでリトライを続ける。
(例)
server 10.0.0.2 wieight 5
server ntp.example.org weight 1
冗長的に提供するために、複数のサーバーを設定することが良い方法である。一般的に、ネットワーク遅延の低いサーバを使用すると最も正確に時刻を得られる。
servers address [trusted] [weight weight-value]
serverの場合と同様に、同期するNTPサーバーのIPアドレスまたはホスト名を指定する。もし、複数回指定した場合は、ntpd(8)は全ての指定したサーバーと同期を試行する。複数のIPアドレスの名前解決ができれば、ntpd(8)は全ての指定したサーバーと同期を試行する。もし、複数のIPv4またはIPv6アドレスのホスト名を名前解決する場合は、最初のアドレスを使用する。
(例)
servers pool.ntp.org
servers pool.ntp.org weight 5
制限事項
ntpd(8)は、TLSで暗号化された信頼されたHTTPSサーバーに'日付'を問い合わせするように設定することができる。この時刻情報は精度が高いものとしては使用できないが制限を証明されたものとして動作し、それによって、認証されていないNTP中間者攻撃の影響を減らす。制限範囲外のNTPサーバーから受け取ったNTPパケットは破棄され、そのようなサーバーは免役としてマークされる。
constraint from ule[ip]
constraintを提供するHTTPSサーバーのURL、IPアドレス、ホスト名を指定する。もし、URLを複数指定した場合は、稼働しているURLが見つかるまで試行する。URLと期待された証明書の名前は指定されたURLとして常に取得される。もし、constraint fromを何度も用いる場合は、ntpd(8)は指定された全てのサーバーの中間値を算出する。
(例)
servers ntp.example.org
constraint from www.example.com
constraint from "httos://9.9.9.9" "2620:fe::9"
constraints from url
constraintの場合と同様に、constraintを提供するHTTPSサーバーのURL、IPアドレス、ホスト名を指定する。複数のIPアドレスの名前解決する場合は、ntpd(8)はそれら全ての中央値を算出する。
(例)
servers pool.ntp.org
constraints from "https://www.google.com"
ファイル
/etc/ntpd.conf
デフォルトのntpd(8)設定ファイル
/etc/example/ntpd.conf
設定ファイルのサンプル
参照
ntpctl(8)、ntpd(8)、sysctl(8)
履歴
初出 OpenBSD 3.6
在宅勤務艦橋(誤字ではない)
新型コロナウイルスの感染拡大で、在宅勤務に入った。
在宅勤務とかお家でお仕事というのはずっと憧れのワードではあった。
それがこんな形で実現するとは皮肉なものである。
憧れがあったから?というのもあるが、自宅の環境はそれなりに整えてきたので、もはや、艦橋である。
在宅勤務に入り、職場とは違う環境で苦労しているというお話も聞くが…うん、実は、会社にいるよりもお家の方がとても快適だったりする。
そんな、自慢の「在宅勤務艦橋」を整えているものについて、ちょっと自慢してみようと思う。
なお、今回紹介する各種アイテムについては、宣伝目的ではありません。
あくまでも個人的な感想で、今回の執筆にあたってお金をいただいているわけではありませんので、ご了承ください。
ディスプレイの大きさはそのまま快適度に
うちで使っている24.1インチ液晶ディスプレイはこちら。
今時、24インチ?ということなかれ。
これを購入したのは2012年末のこと。
Mac mini(late 2012)の購入に合わせてだったと思う、
当時(今も?)主流だったフルHDの1920x1080ではなく、ちょっと大きめの1920x1200だったんだ。
はい、高かったです。フルHDなら2万円くらいで買えるけど、これ、7万年くらいした覚えがある。
まず、解像度が大きめなのが嬉しい。ウィンドウ多数開きの俺には使い勝手がいいのです。
次に、インターフェースも多いんですよ!
USB3.0対応の4ポートハブ機能がついていて、PC本体が遠くに置いてあっても、手元でUSB機器を扱える。
これ、かなり便利です。Mac miniのUSB端子が背面についているから、なおさらのこと。
入力端子も、DP、HDMI、DVI-D、D-Sub15と全部ついてます。なので、どんなPCにも接続できる!
これも、PC複数持ちの人にはとても便利だと思う。
Mac miniはDPでつないで、別のノートPCからはHDMIでつないで、ESXiサーバーからはD-Sub15でつなぐ、という使い方で、入力切替ボタンでさくさくっと変更できる。昔のように、ディスプレイ切替機が不要なので、とても重宝してます。
デスクは広く、L字型
うちで使っている机は、こちら!
学生の頃、「会議室の机」を愛用していた。
ほら、会議室によくある、足のたためる、長机。
あれをL字に並べてね。それはそれはとても便利でした。
長方形の机を使っていると、どうしても、サイドテーブルが欲しくなる。
ならば、サイドテーブルも含めてL字型!という結論です。
LOWYAのこの机、足も天板も作りがしっかりしていて、多少、打鍵が激しくても揺れることもなければ、地震が来てもビクともしない。重いのと組み立てが大変ではあるけれど、作業性を考えると広くて大きな机はおすすめです。
空間を立体的に使おう
作業性のより空間を使うコツは、立体的であること。
ってことで使ってるのが、こちら!キングジムのディスプレイボード。
耐荷重が高くないので、重いものは載せられないけどレド、空間が立体的になるってほんと便利。
うちでは、ここに、時計、小型スピーカー、スマホを置いて使ってます。
スマホ置くのは特に便利!手前のとこに溝があって、そこにいい感じで、スマホが置ける。
溝にはまるので、スマホスタンドがなくても立てられます。
タブレットも小型なら十分置ける。
これはとってもおすすめです。
空間を立体的に使おう!その2
やっぱり空間は立体的に使いたい!
ってことで使ってるのが、こちら!キングジムのデスクボード。
モニタの置くと、意外と場所を取る。デスクがとっても狭くなってしまう。
こんな時に使えるのが、このデスクボード!
とっても便利。
うちでは、メインマシンはMac mini、なので、デスクボードの下に本体を入れてます。
サブマシンのWindowsノートもクラムシェルで使ってることが多いので、やっぱりデスクボードの下に。
机の上を出来るだけ広く、スペースを開けておく事。これが快適な作業空間を作るコツなのです。
という事で、ざっくりと紹介してみました。
正直、職場のデスクより自宅の方が快適な環境です。
ここに座って、陣頭指揮を取っていると、気分はまさに「艦橋に座る司令官」。
もう、会社には戻れない(笑
新型コロナの騒動がいつまで続くのかわかりませんが、快適な在宅環境の構築するためのご参考になれば、幸いです。
秋葉原回顧録 第2回 ぷらっとホーム 〜UNIXの理想郷は本当にあったんだ!〜
ビルまるごとUNIX専門店、そんなところがあったなんて信じられますか?
本当にあったんです。その名も、ぷらっとホーム。
ミツワビル、今は、@ほぉ〜むカフェになってる、あのビルです。
「ぷらっとホームが@ほぉ〜むになった!」というのは有名なネタセリフですね。
デジカメデータを漁っていたら、在りし日のぷらっとホームの姿があったので、貼っておきますね。
2002年12月に撮影したもののようです。
かつては、店主の本多さんの似顔絵看板だったのも懐かしい。
ほんと、すごいお店だったんですよ。
BeBoxも展示してたし。
BeOSのパッケージも販売してた!パッケージではないけど、以前、DLしてインストールしたBeOSの写真も貼っておきますね。
これ…VMじゃなくて、実機で動かしてた頃の、貴重なスクショなんだぜ!
レゴマインドストームなんかもいち早く輸入販売初めててたし。
あの頃は、ネット回線も細かったし、CD-RWも一般的じゃなかったんですね。
なので、PC-UNIXのインストールディスクが売ってるのは嬉しかったし、日本ではまだメジャージャないもの、NetBSDとかOpenBSDとか珍しいものがゴロゴロしてた。OpenBSDがまだ2.9だった頃にCDセットを買ったのもこのお店。
PCパーツにしても、PC-UNIXで完動するブツが揃っていて、大変お世話になりました。
ISAバスのNE2000互換NICとかSoundBlaster16とか、色々、ね。
陳腐な言葉かもしれないけど…未来を見せてくれて、ドキドキとワクワクをくれるお店だったんだ…。
UNIXの理想郷は本当にあったんだ!
そんなUNIXの理想郷も、2005年、店舗を閉鎖して、通販サイトと法人事業に特化した時は…とても悲しかったことをよく覚えている。
時代の流れだったんですかね?
2005年といえば、秋葉原ダイビルの開業、電車男ブーム、ヨドバシAkibaの開店。そして2006年には秋葉原UDXの開業。
ちょうど、秋葉原が変貌する時期に姿を消しました。
でも、それはよかったのかもしれない。
2000年にアプライアンスマイクロサーバーとして登場したOpenBlocksは、OpenBlocksIoTと進化したラインナップも加えて、今も存在している。
数々の店舗が、閉鎖から通販特化へと移行しつつも姿を消したという事実を思うと、今もそのDNAが脈々と受け継がれて企業として続いていることは、嬉しい限りだな、と思う。
キャッシュDNSの夢を見た
またDNSをいじってる…
かつて、「DNSは全ての基本」と教わった。
三つ子の魂百まで。DNSの設定ができてこそ一人前だと思っている。
基本的なことしかできないけどね(笑)
で、だ。
また、BeagleBone Blackでセカンダリを立ち上げたので、嬉々として、各クライアントにDNSのIPアドレスを書き込んで喜んでいたのだよ。
そして、ふと、気がつく…これ…DNSのアドレスが変更になったら、すごくめんどくさくないか?とね。
ならばcacheのアドレスを書けばいいじゃない?
ということで、cacheDNSのアドレスを書き込んでおけば、MasterDNSのアドレスが変更になったら、cacheDNSでの設定を変えるだけで済むよね?ということで、cacheの設定を見直すことにした。
今のDNSの構成はこんな感じ。
MainRouter
├──RouterA
│ ├──DNS(Master)
│ │ ├──DNS(Slave1)
│ │ ├──DNS(Slave2)
│ │ └──DNS(cache)
│ └──DNS(MasterCopy)
└──RouterB
└──DNS(Master)
このツリーが示すように、cacheはマスターの下にぶら下がっていて、全ての問い合わせをMasterDNSに投げている。
MasterDNSがローカルかグローバルかを判断して、自分自身(ローカル)かMainRouter(グローバル)に問い合わせして、cacheDNSに答えを返している。
でもね、これ、よく考えてみると、MasterDNSがこけたら、全てアウト。SlaveDNSを2つも構築している意味がないじゃんね。
なので、こうした。
・ローカルゾーンの名前解決は、MasterDNS、SlaveDNS1、SlaveDNS2のいずれかに問い合わせする。
・それ以外のゾーンはグローバルとみなして、MainRouterに問い合わせする。
という方針で、設定を考えてみた。
unboundの設定を変える
cachheDNSはunboundで構築してるわけだが…これ楽だね?
BINDはキャッシュと権威が同居してるけど、unboundはキャッシュ機能がメインなので、設定がすっきりとかける。
はじめ、間違って、stub-zoneに設定を書いたけど、forward-zoneにちゃんと書いてうまくいったよ。
設定ファイルはこんな感じ。
# chache server
server:
interface: 172.18.10.9 ← DNSサービスを稼働するNICのIPアドレス
do-ip6: no
access-control: 0.0.0.0/0 refuse ← 全拒否
access-control: 172.18.0.0/16 allow ← からの、ローカルIPからは許可
hide-identity: yes
hide-version: yes
local-zone: "18.172.in-addr.arpa." transparent ← 名前解決したいプライベートIPのゾーンを指定
remote-control:
control-enable: yes
control-use-cert: no
forward-zone:
name: "dedara.jp." ← 名前解決したいローカルドメインを指定
forward-addr: 172.18.0.1 ← MasterDNSにフォワード
forward-addr: 172.18.10.8 ← SlaveDNS1にフォワード
forward-addr: 172.18.101.103 ← SlaveDNS2にフォワード
forward-zone:
name: "18.172.in-addr.arpa." ← プライベートIPのゾーンを指定
forward-addr: 172.18.0.1 ← MasterDNSにフォワード
forward-addr: 172.18.10.8 ← SlaveDNS1にフォワード
forward-addr: 172.18.101.103 ← SlaveDNS2にフォワード
forward-zone:
name: "." ← 上記以外の全てのゾーン
forward-addr: 192.168.0.1 ← プロバイダ接続しているルーターにフォワード
うん、言われて見ればそうだよね。
こうなるよね。
MasterやSlaveをstopとstartを繰り返して、片肺で動かしつつ、digしながらローカルとグローバルを正引き、逆引き、ちゃんとできるか試してO.K.でした。
こうしてcacheは完成!
実稼働環境では、DNSって1度構築すると設定をやり直すことって少ないよね。
停止したらえらいことになるからね。
若い頃にしくじって実環境で止めちゃってシヌかと思ったこと何回かあるよ。
だからこそ自宅のテスト環境で色々試して遊びたい!
単純なDNSの案件しかやったことないけど、こういうちょっと変わったのの設定もやれるようになりたいな。
と、初心に返って思うのですよ。
BeagleBone BlackにOpenBSD6.5をインストールしてみた
BBBとの出会い
あれは2013年の暮れのこと。
秋葉原をふらふらとしていたら、ふと目に止まったビーグル犬のパッケージ。
それが、BeagleBoneBlack(以下、BBB)だった。
Arduinoが2005年、BeagleBoardが2008年、RaspberryPiは2012年。
この頃は、シングルボードコンピュータの流行時期ではあったと思う。
2BeagleBoardをDigi-Keyに発注したのだが、品切れでなかなか手に入らず、「入荷したからいついつまでに入金してくれたら出荷するよ?」ってメールが届いてたんだが、諸事情で入金できずに手に入れられなかったのが2012年のこと。
そんなこともあったので、BBBを目にした瞬間、「多分、BeagleBoradの新しい版なのだろうな、手に入るうちに買っておくか」ととりあえず購入した。
そして、その後、放置プレイになってしまった、BBBだったのであった。
ちなみに、BBBの公式サイトはこちら。
beagleboard.orgBBBに何を入れる?BBBに何を入れる?
BBBに何を入れる?
性能的にはRaspberryPi初代とほぼ同じかな?と感覚的に思うのが、このBBB。
オンボードのflashストレージにはAngstromがプレインストールされていてる。
SDカードを使えば、他のLinuxディストリビューションやAndroidも動かすことができる。
GPIOも付いているが、今回はマイクロサーバーとして使うつもりなので、それはまあどうでもいいか。
ということでいろいろと調べていて、わかったこと。
OpenBSDはBeagleBoardに付いては公式対応しているとのこと。RaspberryPiは公式対応していない。
いろんなLinuxはRaspberryPiで試せばいいことだし、ここは、OpenBSDをインストールすることにする。
で、いろいろと調べてみたら、こちらのようなサイトがありました。
unosodoku638kam.hatenablog.com
・インストーラーはminirootなので、ネットワークインストール必須
・HDMI出力でインストール画面をディスプレイに出力できないので、シリアル接続
・シリアル変換アダプターは5Vと3.3Vの変換アダプタが必要
OpenBSD自体、興味はあったものの、インストールなんてほとんどやったこと無いし、シリアル接続にしろネットワークインストールにしろやったこと無い。なんかめんどくさいなぁ(当時の俺)だったので、必要な部品は買い集めたものの、長い放置に入ってしまうのである。
再始動 2019
OpenBSDでルーターを作った。
macOSからYAMAHAのルーターにシリアル接続して操作するのにも慣れた。
BBBを放置してる間、RaspberryPiをいくつも立ち上げてマイクロサーバーの扱いにも慣れた。
いろいろと高まった今なら、できる!とふと思い立って、BBBにOpenBSDをインストールすることにした。
SDカードにminiroot書き込みして、シリアルコンソール繋いで、ネットワークインストールする。
うん、それだけだ。よし、やるぞ!
シリアルコンソールの接続
FTDI USBシリアル変換アダプターを使って、PCとBBBをUSB接続する。
変換アダプタはスイッチサイエンスさんのこちらを使用。
ドライバは下記からダウンロードしてインストールできる
BBBへの接続はこんな感じ。
ちなみに、向きは注意!逆向きに接続してしまうと何も表示されなくて、何で?とハマるので気をつけて。うん…実はそれでハマったんだ。
(*ノω・*)テヘw
今回の母艦はmacOSを使用した。
macOSで認識してるか、ターミナルで確認。
$ ls -l /dev/tty.* ← 接続前
crw-rw-rw- 1 root wheel 18, 0 11 10 03:23 /dev/tty.Bluetooth-Incoming-Port
$ ls -l /dev/tty.* ← 接続後
crw-rw-rw- 1 root wheel 18, 0 11 10 03:23 /dev/tty.Bluetooth-Incoming-Port
crw-rw-rw- 1 root wheel 18, 2 11 11 00:09 /dev/tty.usbserial-A901OE8R ← 認識できてる
$ screen /dev/tty.usbserial-A901OE8R 115200 ← スクリーンコマンドで接続
よしよし、認識してる。
screenコマンドで接続後は、
ctrl+aでコマンド選択モードになる。
ctrl+a y なら screenを終了。
ctrl+a h なら ハードコピー。
ctrl+aの後に:の入力でコマンドモードになるので、
:hardcopy -h ログファイル名
でバッファ内の作業ログも保存できる。
SDカードへの書き込み
OpenBSDのminirootをダウンロードしてきて、SDカードに書き込む。
いつものjaistさんのお世話になることにした。
armv7のam335xを使用することにする。
macOSで書き込みするときは、
diskutil list でデバイスの確認
diskutil eraseDisk でフォーマット
diskutil unmountDisk でアンマウント
dd で書き込み
diskutil unmountDisk でアンマウントしてから抜き取り
の手順になる。
$ diskutil list ← デバイスリストを表示
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.1 TB disk0
2: Apple_APFS Container disk1 1.1 TB disk0s2
/dev/disk1 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +1.1 TB disk1
Physical Store disk0s2
1: APFS Volume Machintosh SSD 382.0 GB disk1s1
2: APFS Volume Preboot 46.5 MB disk1s2
3: APFS Volume Recovery 507.4 MB disk1s3
4: APFS Volume VM 3.2 GB disk1s4
/dev/disk2 (disk image):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme +524.3 GB disk2
2: Apple_HFS Time Machine バッ... 523.9 GB disk2s2
/dev/disk3 (internal, physical): ← SDカードは/dev/disk3であることを確認。
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *8.0 GB disk3
1: Windows_FAT_32 boot 43.5 MB disk3s1
2: Linux 8.0 GB disk3s2
$ sudo diskutil eraseDisk MS-DOS NONAME /dev/disk3 ← まずは、フォーマット
Started erase on disk3
Unmounting disk
Creating the partition map
Waiting for partitions to activate
Formatting disk3s2 as MS-DOS (FAT) with name NONAME
512 bytes per physical sector
/dev/rdisk3s2: 15268160 sectors in 238565 FAT32 clusters (32768 bytes/cluster)
bps=512 spc=64 res=32 nft=2 mid=0xf8 spt=32 hds=255 hid=411648 drv=0x80 bsec=15271936 bspf=1864 rdcl=2 infs=1 bkbs=6
Mounting disk
Finished erase on disk3
$ sudo diskutil unmountDisk /dev/disk3 ← アンマウントする
Unmount of all volumes on disk3 was successful
$ sudo dd if=miniroot-am335x-65.fs of=/dev/disk3 ← minirootのインストーラーを書き込み
36864+0 records in
36864+0 records out
18874368 bytes transferred in 18.447924 secs (1023116 bytes/sec)
$
$ diskutil list ← 書き込み結果の確認
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.1 TB disk0
2: Apple_APFS Container disk1 1.1 TB disk0s2
/dev/disk1 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +1.1 TB disk1
Physical Store disk0s2
1: APFS Volume Machintosh SSD 382.0 GB disk1s1
2: APFS Volume Preboot 46.5 MB disk1s2
3: APFS Volume Recovery 507.4 MB disk1s3
4: APFS Volume VM 3.2 GB disk1s4
/dev/disk2 (disk image):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme +524.3 GB disk2
2: Apple_HFS Time Machine バッ... 523.9 GB disk2s2
/dev/disk3 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *8.0 GB disk3
1: Windows_FAT_32 BOOT 2.1 MB disk3s1
2: OpenBSD 15.7 MB disk3s4
$ sudo diskutil unmountDisk /dev/disk3
Unmount of all volumes on disk3 was successful
これで、書き込みは完了!
BBBへの起動とインストール
BBBには起動スイッチは無い。
USBケーブルかACアダプタを接続し、通電すると起動する。
5V2Aの電源が必要になる。今回はUSBタップを接続してみた。
ACアダプタなら、外径5.5mm、内径2.1mm、センター側プラス、5V2Aの規格品を使用する。ちなみに、手元にある、AD-P50P200がちょうどよかった。
SDカードをさしていざ起動!なのだが、そのまま起動すると、内臓flashstorageのOSがロードされてしまう。SDカードスロット側にあるスイッチを長押ししながら起動すると、SDカード内のOSがロードされる。
ちなみに、今回使ったBBBのケースは、長押しスイッチ用の穴が空いていて、治具も付いていたので、便利だった。
起動するとscreenにログが流れてくる。
** Unrecognized filesystem type **
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
34886 bytes read in 4 ms (8.3 MiB/s)
Found EFI removable media binary efi/boot/bootarm.efi
Scanning disks on usb...
Disk usb0 not ready
Disk usb1 not ready
Disk usb2 not ready
Disk usb3 not ready
Scanning disks on mmc...
MMC Device 2 not found
MMC Device 3 not found
Found 4 disks
87292 bytes read in 8 ms (10.4 MiB/s)
## Starting EFI application at 82000000 ...
>> OpenBSD/armv7 BOOTARM 1.3
boot>
cannot open sd0a:/etc/random.seed: No such file or directory
booting sd0a:/bsd: 2808332+461476+8058240+448068 [188996+120+208352+183702]=0x0
OpenBSD/armv7 booting ...
arg0 0xc0ec9c5c arg1 0xe05 arg2 0x87ef4000
Allocating page tables
IRQ stack: p0x80ef8000 v0xc0ef8000
ABT stack: p0x80ef9000 v0xc0ef9000
UND stack: p0x80efa000 v0xc0efa000
SVC stack: p0x80efb000 v0xc0efb000
Creating L1 page table at 0x80ecc000
Mapping kernel
Constructing L2 page tables
undefined page type 0x2 pa 0x80000000 va 0x80000000 pages 0x2000 attr 0x8
type 0x7 pa 0x82000000 va 0x80000000 pages 0x5ef4 attr 0x8
type 0x6 pa 0x87ef4000 va 0x87ef4000 pages 0x18 attr 0x8000000000000008
type 0x7 pa 0x87f0c000 va 0x80000000 pages 0x1438b attr 0x8
type 0x2 pa 0x9c297000 va 0x9c297000 pages 0xb74 attr 0x8
type 0x4 pa 0x9ce0b000 va 0x9ce0b000 pages 0x1 attr 0x8
type 0x2 pa 0x9ce0c000 va 0x9ce0c000 pages 0x100 attr 0x8
type 0x1 pa 0x9cf0c000 va 0x9cf0c000 pages 0x16 attr 0x8
type 0x6 pa 0x9cf22000 va 0x9cf22000 pages 0x1 attr 0x8000000000000008
type 0x0 pa 0x9cf23000 va 0x9cf1e000 pages 0x5 attr 0x8
type 0x6 pa 0x9cf28000 va 0x9cf28000 pages 0x1 attr 0x8000000000000008
type 0x0 pa 0x9cf29000 va 0x9cf29000 pages 0x2 attr 0x8
type 0x2 pa 0x9cf2b000 va 0x9cf2b000 pages 0x302c attr 0x8
type 0x5 pa 0x9ff57000 va 0x9ff57000 pages 0x2 attr 0x8000000000000008
type 0x2 pa 0x9ff59000 va 0x9cf2b000 pages 0xa7 attr 0x8
pmap board type: 3589
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
Copyright (c) 1995-2019 OpenBSD. All rights reserved. https://www.OpenBSD.org
OpenBSD 6.5 (RAMDISK) #146: Mon Apr 15 07:16:38 MDT 2019
deraadt@armv7.openbsd.org:/usr/src/sys/arch/armv7/compile/RAMDISK
real mem = 472379392 (450MB)
avail mem = 447512576 (426MB)
mainbus0 at root: TI AM335x BeagleBone Black
cpu0 at mainbus0: ARM Cortex-A8 r3p2 (ARMv7)
cpu0: DC enabled IC enabled WB disabled EABT branch prediction enabled
cpu0: 32KB(64b/l,4way) I-cache, 32KB(64b/l,4way) wr-back D-cache
omap0 at mainbus0
prcm0 at omap0 rev 0.2
dmtimer0 at omap0 rev 3.1
dmtimer1 at omap0 rev 3.1
simplebus0 at mainbus0: "ocp"
simplebus1 at simplebus0: "l4_wkup"
"wkup_m3" at simplebus1 not configured
simplebus2 at simplebus1: "prcm"
"l4_per_cm" at simplebus2 not configured
"l4_wkup_cm" at simplebus2 not configured
"mpu_cm" at simplebus2 not configured
"l4_rtc_cm" at simplebus2 not configured
"gfx_l3_cm" at simplebus2 not configured
"l4_cefuse_cm" at simplebus2 not configured
simplebus3 at simplebus1: "scm"
syscon0 at simplebus3: "scm_conf"
pinctrl0 at simplebus3
simplebus4 at simplebus3: "scm_conf"
"wkup_m3_ipc" at simplebus3 not configured
"dma-router" at simplebus3 not configured
intc0 at simplebus0 rev 5.0
"edma" at simplebus0 not configured
"tptc" at simplebus0 not configured
"tptc" at simplebus0 not configured
"tptc" at simplebus0 not configured
omgpio0 at simplebus0: rev 0.1
gpio0 at omgpio0: 32 pins
omgpio1 at simplebus0: rev 0.1
gpio1 at omgpio1: 32 pins
omgpio2 at simplebus0: rev 0.1
gpio2 at omgpio2: 32 pins
omgpio3 at simplebus0: rev 0.1
gpio3 at omgpio3: 32 pins
com0 at simplebus0: ti16750, 64 byte fifo
com0: console
tiiic0 at simplebus0 rev 0.11
iic0 at tiiic0
"ti,tps65217" at iic0 addr 0x24 not configured
"atmel,24c256" at iic0 addr 0x50 not configured
"nxp,tda998x" at iic0 addr 0x70 not configured
tiiic1 at simplebus0 rev 0.11
iic1 at tiiic1
"atmel,24c256" at iic1 addr 0x54 not configured
"atmel,24c256" at iic1 addr 0x55 not configured
"atmel,24c256" at iic1 addr 0x56 not configured
"atmel,24c256" at iic1 addr 0x57 not configured
ommmc0 at simplebus0
sdmmc0 at ommmc0: 4-bit, sd high-speed, mmc high-speed
ommmc1 at simplebus0
sdmmc1 at ommmc1: 1-bit
"spinlock" at simplebus0 not configured
omdog0 at simplebus0 rev 0.1
"mailbox" at simplebus0 not configured
"timer" at simplebus0 not configured
"timer" at simplebus0 not configured
"timer" at simplebus0 not configured
"timer" at simplebus0 not configured
"timer" at simplebus0 not configured
"timer" at simplebus0 not configured
"timer" at simplebus0 not configured
"rtc" at simplebus0 not configured
"usb" at simplebus0 not configured
cpsw0 at simplebus0: version 1.12 (0), address 90:59:af:5a:af:30
ukphy0 at cpsw0 phy 0: Generic IEEE 802.3u media interface, rev. 1: OUI 0x0001f0
, model 0x000f
"ocmcram" at simplebus0 not configured
"lcdc" at simplebus0 not configured
"emif" at simplebus0 not configured
"sham" at simplebus0 not configured
"aes" at simplebus0 not configured
"mcasp" at simplebus0 not configured
"rng" at simplebus0 not configured
scsibus0 at sdmmc0: 2 targets, initiator 0
sd0 at scsibus0 targ 1 lun 0: <SD/MMC, NCard, 0010> SCSI2 0/direct removable
sd0: 7663MB, 512 bytes/sector, 15693824 sectors
scsibus1 at sdmmc1: 2 targets, initiator 0
sd1 at scsibus1 targ 1 lun 0: <SD/MMC, MMC02G, 0000> SCSI2 0/direct removable
sd1: 1832MB, 512 bytes/sector, 3751936 sectors
softraid0 at root
scsibus2 at softraid0: 256 targets
bootfile: sd0a:/bsd
boot device: sd0
root on rd0a swap on rd0b dump on rd0b
WARNING: CHECK AND RESET THE DATE!
erase ^?, werase ^W, kill ^U, intr ^C, status ^T
Welcome to the OpenBSD/armv7 6.5 installation program.
(I)nstall, (U)pgrade, (A)utoinstall or (S)hell?
今時のLinuxのようにGUIでラクラクではなく、どこか懐かしいインストーラーでインストールを始める。
OpenBSDのインストールは普通のインストールとほぼ同じ。
・ネットワークとユーザーの設定
・インストール先のディスクパーティションの設定
・インストール元とパッケージの設定
で進んでいく。それぞれの設定項目をあらかじめまとめておくと作業が楽かもね。
今回は、細かいカスタマイズはあまり考えていないので、デフォルトで提示されている項目で進んでいく。
[kagikakko]がデフォルト提示項目なので、そのままEnterを押せばO.K.だ。
ネットワークとユーザーの設定
DHCPはあるが、今回は、固定IPを使用した。
ユーザーは、いつも管理用に使っているvmriderで作ってみた。
Welcome to the OpenBSD/armv7 6.5 installation program.
(I)nstall, (U)pgrade, (A)utoinstall or (S)hell? i ← iキーでインストール開始
At any prompt except password prompts you can escape to a shell by
typing '!'. Default answers are shown in []'s and are selected by
pressing RETURN. You can exit this program at any time by pressing
Control-C, but this can leave your system in an inconsistent state.
Terminal type? [vt220] ← ターミナルタイプはvt200で問題なし。
System hostname? (short form, e.g. 'foo') werwolf ← ホスト名を入力
Available network interfaces are: cpsw0 vlan0.
Which network interface do you wish to configure? (or 'done') [cpsw0] ← NICインターフェイスを選択
IPv4 address for cpsw0? (or 'dhcp' or 'none') [dhcp] 172.18.10.8 ← IPアドレスを指定、DHCPでも可
Netmask for cpsw0? [255.255.255.0] 255.255.0.0 ← サブネットマスクを指定
IPv6 address for cpsw0? (or 'autoconf' or 'none') [none] ← IPv6は今回は設定しない
Available network interfaces are: cpsw0 vlan0.
Which network interface do you wish to configure? (or 'done') [done] ← とりあえずエンター
Default IPv4 route? (IPv4 address or none) 172.18.0.1 ← IPv4のデフォルトゲートウェイを指定
add net default: gateway 172.18.0.1
DNS domain name? (e.g. 'example.com') [my.domain] dedara.jp ← 今後使用するドメイン名を指定
DNS nameservers? (IP address list or 'none') [none] 172.18.0.1 ← DNSサーバーを指定
Password for root account? (will not echo) ← rootのパスワードを設定(非表示)
Password for root account? (again) ← 再入力(非表示)
Start sshd(8) by default? [yes] ← sshdの自動起動をするか設定
Setup a user? (enter a lower-case loginname, or 'no') [no] vmrider ← 管理用のアカウントを作るか選択する。今回はあえて作った。
Full name for user vmrider? [vmrider] vmrider ← 管理用アカウントのフルネームを入力
Password for user vmrider? (will not echo) ← 管理用アカウントのパスワードを設定(非表示)
Password for user vmrider? (again) ← 再入力(非表示)
WARNING: root is targeted by password guessing attacks, pubkeys are safer.
Allow root ssh login? (yes, no, prohibit-password) [no] ← rootでsshログインできるかの選択。もちろん、no
インストール先のディスクパーティションの設定
インストール先は、SDカードしか無いので、選択の余地はない。
パーティションレイアウトも今回は初期値をそのまま利用した。
Available disks are: sd0 sd1.
Which disk is the root disk? ('?' for details) [sd0] ← インストール先のディスクを選択
Disk: sd0 geometry: 976/255/63 [15693824 Sectors]
Offset: 0 Signature: 0xAA55
Starting Ending LBA Info:
#: id C H S - C H S [ start: size ]
-------------------------------------------------------------------------------
*0: 0C 0 32 33 - 0 97 33 [ 2048: 4096 ] FAT32L
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 97 34 - 2 75 9 [ 6144: 30720 ] OpenBSD
Use (W)hole disk or (E)dit the MBR? [whole] ← ディスク全体を使用するか、MBR編集するかを選択する。ディスク全体を選択
Creating a msdos partition and an OpenBSD partition for rest of sd0...done.
/dev/rsd0i: 32668 sectors in 8167 FAT16 clusters (2048 bytes/cluster)
bps=512 spc=4 res=1 nft=2 rde=512 sec=32768 mid=0xf8 spf=32 spt=63 hds=255 hid=2
048
The auto-allocated layout for sd0 is:
# size offset fstype [fsize bsize cpg]
a: 1060.5M 34816 4.2BSD 2048 16384 1 # /
b: 256.0M 2206688 swap
c: 7663.0M 0 unused
d: 3072.0M 2730976 4.2BSD 2048 16384 1 # /usr
e: 2048.0M 9022432 4.2BSD 2048 16384 1 # /home
i: 16.0M 2048 MSDOS
Use (A)uto layout, (E)dit auto layout, or create (C)ustom layout? [a] ← パーティションレイアウトを編集するか選択、ここでは、初期提案のレイアウトを選択
/dev/rsd0a: 1060.5MB in 2171872 sectors of 512 bytes
6 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each
/dev/rsd0e: 2048.0MB in 4194304 sectors of 512 bytes
11 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each
/dev/rsd0d: 3072.0MB in 6291456 sectors of 512 bytes
16 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each
Available disks are: sd1.
Which disk do you wish to initialize? (or 'done') [done] ← ディスクのイニシャライズ
/dev/sd0a (160519e4f4bd7fc7.a) on /mnt type ffs (rw, asynchronous, local)
/dev/sd0e (160519e4f4bd7fc7.e) on /mnt/home type ffs (rw, asynchronous, local, n
odev, nosuid)
/dev/sd0d (160519e4f4bd7fc7.d) on /mnt/usr type ffs (rw, asynchronous, local, no
dev)
インストール元とパッケージの設定
ネットワークインストール元には、いつものjaistさんを利用させてもらった、httpのプロキシなしを選択。
パッケージはデフォルトを選択。
ネットワーク経由のインストールなので、時間はかかるがコーヒーでも飲んで、待つべし。
最後に、タイムゾーンを合わせたら、再起動!
Let's install the sets!
Location of sets? (disk http nfs or 'done') [http] ← インストール元を選択
HTTP proxy URL? (e.g. 'http://proxy:8080', or 'none') [none] ← プロキシを使用するか選択
(Unable to get list from ftp.openbsd.org, but that is OK)
HTTP Server? (hostname or 'done') ftp.jaist.ac.jp ← インストール元はjaistさん
Server directory? [pub/OpenBSD/6.5/armv7] ← パッケージのツリーを選択
Select sets by entering a set name, a file name pattern or 'all'. De-select
sets by prepending a '-', e.g.: '-game*'. Selected sets are labelled '[X]'.
[X] bsd [X] comp65.tgz [X] xbase65.tgz [X] xserv65.tgz
[X] bsd.rd [X] man65.tgz [X] xshare65.tgz
[X] base65.tgz [X] game65.tgz [X] xfont65.tgz
Set name(s)? (or 'abort' or 'done') [done] ← インストールパッケージの選択、デフォルトのまま
Get/Verify SHA256.sig 100% |**************************| 1869 00:00
Signature Verified
Get/Verify bsd 100% |**************************| 6235 KB 00:02
Get/Verify bsd.rd 100% |**************************| 11637 KB 00:12
Get/Verify base65.tgz 100% |**************************| 114 MB 01:41
Get/Verify comp65.tgz 100% |**************************| 66595 KB 00:59
Get/Verify man65.tgz 100% |**************************| 7386 KB 00:08
Get/Verify game65.tgz 100% |**************************| 2696 KB 00:01
Get/Verify xbase65.tgz 100% |**************************| 17141 KB 00:18
Get/Verify xshare65.tgz 100% |**************************| 4449 KB 00:05
Get/Verify xfont65.tgz 100% |**************************| 39352 KB 00:30
Get/Verify xserv65.tgz 100% |**************************| 7191 KB 00:03
Installing bsd 100% |**************************| 6235 KB 00:02
Installing bsd.rd 100% |**************************| 11637 KB 00:04
Installing base65.tgz 100% |**************************| 114 MB 02:07
Extracting etc.tgz 100% |**************************| 260 KB 00:00
Installing comp65.tgz 100% |**************************| 66595 KB 01:36
Installing man65.tgz 100% |**************************| 7386 KB 00:22
Installing game65.tgz 100% |**************************| 2696 KB 00:02
Installing xbase65.tgz 100% |**************************| 17141 KB 00:23
Extracting xetc.tgz 100% |**************************| 6949 00:00
Installing xshare65.tgz 100% |**************************| 4449 KB 00:22
Installing xfont65.tgz 100% |**************************| 39352 KB 00:48
Installing xserv65.tgz 100% |**************************| 7191 KB 00:06
Location of sets? (disk http nfs or 'done') [done] ← パッケージのインストール元を選択
What timezone are you in? ('?' for list) [Canada/Mountain] Asia/Tokyo ← タイムゾーンを日本に
Saving configuration files... done.
Making all device nodes... done.
Relinking to create unique kernel... done.
CONGRATULATIONS! Your OpenBSD install has been successfully completed!
When you login to your new system the first time, please read your mail
using the 'mail' command.
Exit to (S)hell, (H)alt or (R)eboot? [reboot] ← 再起動を選択
BBB、起動
再起動後の起動ログがこちら。ログインプロンプトの表示はインストール成功の証。
途中、カーネルの読み込みで止まったように時間がかかる。
何度か再起動したが、そういうものらしいし、特に異常なログも吐いてないので、問題なさそうだ。
SVC stack: p0x809cf000 v0xc09cf000
Creating L1 page table at 0x809a0000
Mapping kernel
Constructing L2 page tables
undefined page type 0x2 pa 0x80000000 va 0x80000000 pages 0x2000 attr 0x8
type 0x7 pa 0x82000000 va 0x80000000 pages 0x5ef4 attr 0x8
type 0x6 pa 0x87ef4000 va 0x87ef4000 pages 0x18 attr 0x8000000000000008
type 0x7 pa 0x87f0c000 va 0x80000000 pages 0x148a4 attr 0x8
type 0x2 pa 0x9c7b0000 va 0x9c7b0000 pages 0x65b attr 0x8
type 0x4 pa 0x9ce0b000 va 0x9ce0b000 pages 0x1 attr 0x8
type 0x2 pa 0x9ce0c000 va 0x9ce0c000 pages 0x100 attr 0x8
type 0x1 pa 0x9cf0c000 va 0x9cf0c000 pages 0x16 attr 0x8
type 0x6 pa 0x9cf22000 va 0x9cf22000 pages 0x1 attr 0x8000000000000008
type 0x0 pa 0x9cf23000 va 0x9cf1e000 pages 0x5 attr 0x8
type 0x6 pa 0x9cf28000 va 0x9cf28000 pages 0x1 attr 0x8000000000000008
type 0x0 pa 0x9cf29000 va 0x9cf29000 pages 0x2 attr 0x8
type 0x2 pa 0x9cf2b000 va 0x9cf2b000 pages 0x302c attr 0x8
type 0x5 pa 0x9ff57000 va 0x9ff57000 pages 0x2 attr 0x8000000000000008
type 0x2 pa 0x9ff59000 va 0x9cf2b000 pages 0xa7 attr 0x8
pmap [ using 891724 bytes of bsd ELF symbol table ]
board type: 3589
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
Copyright (c) 1995-2019 OpenBSD. All rights reserved. https://www.OpenBSD.org
OpenBSD 6.5 (GENERIC) #158: Mon Apr 15 06:26:37 MDT 2019
deraadt@armv7.openbsd.org:/usr/src/sys/arch/armv7/compile/GENERIC
real mem = 477724672 (455MB)
avail mem = 458072064 (436MB)
mainbus0 at root: TI AM335x BeagleBone Black
cpu0 at mainbus0: ARM Cortex-A8 r3p2 (ARMv7)
cpu0: DC enabled IC enabled WB disabled EABT branch prediction enabled
cpu0: 32KB(64b/l,4way) I-cache, 32KB(64b/l,4way) wr-back D-cache
omap0 at mainbus0
prcm0 at omap0 rev 0.2
dmtimer0 at omap0 rev 3.1
dmtimer1 at omap0 rev 3.1
simplebus0 at mainbus0: "ocp"
simplebus1 at simplebus0: "l4_wkup"
"wkup_m3" at simplebus1 not configured
simplebus2 at simplebus1: "prcm"
"l4_per_cm" at simplebus2 not configured
"l4_wkup_cm" at simplebus2 not configured
"mpu_cm" at simplebus2 not configured
"l4_rtc_cm" at simplebus2 not configured
"gfx_l3_cm" at simplebus2 not configured
"l4_cefuse_cm" at simplebus2 not configured
simplebus3 at simplebus1: "scm"
syscon0 at simplebus3: "scm_conf"
pinctrl0 at simplebus3
simplebus4 at simplebus3: "scm_conf"
"wkup_m3_ipc" at simplebus3 not configured
"dma-router" at simplebus3 not configured
intc0 at simplebus0 rev 5.0
"edma" at simplebus0 not configured
"tptc" at simplebus0 not configured
"tptc" at simplebus0 not configured
"tptc" at simplebus0 not configured
omgpio0 at simplebus0: rev 0.1
gpio0 at omgpio0: 32 pins
omgpio1 at simplebus0: rev 0.1
gpio1 at omgpio1: 32 pins
omgpio2 at simplebus0: rev 0.1
gpio2 at omgpio2: 32 pins
omgpio3 at simplebus0: rev 0.1
gpio3 at omgpio3: 32 pins
com0 at simplebus0: ti16750, 64 byte fifo
com0: console
tiiic0 at simplebus0 rev 0.11
iic0 at tiiic0
"ti,tps65217" at iic0 addr 0x24 not configured
"atmel,24c256" at iic0 addr 0x50 not configured
nxphdmi0 at iic0 addr 0x70: rev 0x0301
nxphdmi0: no display detected
tiiic1 at simplebus0 rev 0.11
iic1 at tiiic1
"atmel,24c256" at iic1 addr 0x54 not configured
"atmel,24c256" at iic1 addr 0x55 not configured
"atmel,24c256" at iic1 addr 0x56 not configured
"atmel,24c256" at iic1 addr 0x57 not configured
ommmc0 at simplebus0
sdmmc0 at ommmc0: 4-bit, sd high-speed, mmc high-speed
ommmc1 at simplebus0
sdmmc1 at ommmc1: 1-bit
"spinlock" at simplebus0 not configured
omdog0 at simplebus0 rev 0.1
"mailbox" at simplebus0 not configured
"timer" at simplebus0 not configured
"timer" at simplebus0 not configured
"timer" at simplebus0 not configured
"timer" at simplebus0 not configured
"timer" at simplebus0 not configured
"timer" at simplebus0 not configured
"timer" at simplebus0 not configured
"rtc" at simplebus0 not configured
"usb" at simplebus0 not configured
cpsw0 at simplebus0: version 1.12 (0), address 90:59:af:5a:af:30
ukphy0 at cpsw0 phy 0: Generic IEEE 802.3u media interface, rev. 1: OUI 0x0001f0
, model 0x000f
"ocmcram" at simplebus0 not configured
amdisplay0 at simplebus0
amdisplay0: no display attached.
"emif" at simplebus0 not configured
"sham" at simplebus0 not configured
"aes" at simplebus0 not configured
"mcasp" at simplebus0 not configured
"rng" at simplebus0 not configured
scsibus0 at sdmmc0: 2 targets, initiator 0
sd0 at scsibus0 targ 1 lun 0: <SD/MMC, NCard, 0010> SCSI2 0/direct removable
sd0: 7663MB, 512 bytes/sector, 15693824 sectors
scsibus1 at sdmmc1: 2 targets, initiator 0
sd1 at scsibus1 targ 1 lun 0: <SD/MMC, MMC02G, 0000> SCSI2 0/direct removable
sd1: 1832MB, 512 bytes/sector, 3751936 sectors
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
scsibus3 at softraid0: 256 targets
bootfile: sd0a:/bsd
boot device: sd0
root on sd0a (160519e4f4bd7fc7.a) swap on sd0b dump on sd0b
WARNING: CHECK AND RESET THE DATE!
Automatic boot in progress: starting file system checks.
/dev/sd0a (160519e4f4bd7fc7.a): file system is clean; not checking
/dev/sd0e (160519e4f4bd7fc7.e): file system is clean; not checking
/dev/sd0d (160519e4f4bd7fc7.d): file system is clean; not checking
pf enabled
starting network
reordering libraries: done.
openssl: generating isakmpd/iked RSA keys... done.
ssh-keygen: generating new host keys: RSA DSA ECDSA ED25519
starting early daemons: syslogd pflogd ntpd.
starting RPC daemons:.
savecore: no core dump
checking quotas: done.
clearing /tmp
kern.securelevel: 0 -> 1
creating runtime link editor directory cache.
preserving editor files.
starting network daemons: sshd smtpd sndiod.
running rc.firsttime
Path to firmware: http://firmware.openbsd.org/firmware/6.5/
No devices found which need firmware files to be downloaded.
starting local daemons: cron.
OpenBSD/armv7 (beowulf.dedara.jp) (console)
login:
別端末からsshもできるし、うまくいった!やった!
6年近い放置プレイ永い眠りから目覚めたぞ!BBB!
BeagleBone Black 今後は?
ということで、インストールは無事完了。
こんなに簡単ならもっと早くやればよかった…何でこんなに長く放置したんだろう?と不思議だが、またそれは別の話。
ちなみに、実はインストールは2回やっている。
最初、「最新版がいいよね!」とOpenBSDの6.6を入れてみたら、新しすぎてパッケージがなく、追加のソフトを何もインストールできなくて泣きそうだった。
6.6のパッケージを強引にインストールできそうだったが、あとあと面倒になるのは嫌で入れ直しをした。
さてさて、今後のBegleBoneBlackk。
我が家で常時稼働する2台目のOpenBSDになるので、1台目のバックアップシステムとして動かしてみようと思う。
がとりあえずの目標かな。