Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
NetBSD/zaurus 8.1 を テストしたら動かなかったので 動くまで直した話 関西オープンソース 2019 NetBSD SHARP 祭り@Kansai Izumi Tsutsui
[email protected]
Twitter: @tsutsuii Mastodon: @
[email protected]
Slide 2
Slide 2 text
NetBSDと SHARP マシン
Slide 3
Slide 3 text
これだけ動きます 目のつけどころが? ● X68030 (X68000+030アクセラレータも可) ● SL Zaurus (いわゆる リナザウ) ● W-ZERO3 ● NetWalker ● あとTelios (WindowsCE MIPS機)とか
Slide 4
Slide 4 text
今でも 動くの?
Slide 5
Slide 5 text
二十年ふた昔 各マシンの発売年 ● X68030 1993年 ● SL Zaurus 2002年 ● W-ZERO3 2005年 ● NetWalker 2009年 ● Telios 2000年?
Slide 6
Slide 6 text
NetBSD 最新リリース 9.0_BETA も進行中 ● NetBSD 8.0: 2018/ 7/ 4 ● NetBSD 8.1: 2019/ 5/31 ● netbsd-9 : 2019/ 7/30 ブランチ作成 NetBSD 9.0 は来年春までには出る??
Slide 7
Slide 7 text
NetBSD/x68k エミュレータで動きます →実機も展示中
Slide 8
Slide 8 text
NetBSD/zaurus もともと Linuxなので ● OpenBSD/zaurus (2004年) がベース OpenBSD/zaurus は 6.0 で終了 ● NetBSD/zaurus: 2006/12/17 コミット ● 2011年? に SL-C1000サポート (このころに実機をジャンクで入手) ● 2012年に SL-C7x0/860サポート
Slide 9
Slide 9 text
起動動画もあります https://www.youtube.com/watch?v=Jq5ZHwum5vM
Slide 10
Slide 10 text
Zaurus と OSC Twitterで拉致事件 https://twitter.com/tristelo/status/133912360040677376
Slide 11
Slide 11 text
https://togetter.com/li/242873
Slide 12
Slide 12 text
OSC東京 2011 秋 http://movapic.com/pic/201111191552144ec7521e3419f
Slide 13
Slide 13 text
NetBSD/zaurus Live Image C7x0サポートの 2012年作成 https://togetter.com/li/243703
Slide 14
Slide 14 text
Kapperさんによる紹介 いつもありがとうございます https://www.slideshare.net/kapper1224/beginner-for-install-archlinux-and-netbsd-in-linuxzaurus-i n-2019-archlinuxnetbsd-in-linux-zaurus-162939626
Slide 15
Slide 15 text
https://www.amazon.co.jp/gp/customer-reviews/R2TR7CA91F7AXJ
Slide 16
Slide 16 text
そういえば ここ数年 Zaurus を さわってない
Slide 17
Slide 17 text
Live Imageを作った NetBSD 6.1.3?くらいから 放置してたのですが、 せっかく紹介して いただいたので 今はどうかなとテスト
Slide 18
Slide 18 text
NetBSD/zaurus 7.2 は起動 8.1 はカーネルロード後ハング port-zaurus ML にもハング報告が とりあえずの検証結果 https://mail-index.netbsd.org/port-zaurus/2017/04/02/msg000066.html
Slide 19
Slide 19 text
NetBSD/zaurus 起動方法 ちょっと面倒 ● Zaurus純正 Linux を起動 ● BSDカーネルロード用のLinuxカーネル モジュール (zbsdmod.o) を組み込み ● /proc/zboot に NetBSDカーネルを 書き込むとカーネルが起動する ● zboot という NetBSD FFSからロード するツールもあり ⇒これらの組み合わせ検証が面倒だったり
Slide 20
Slide 20 text
7.2→8.1 変化点検証 地味作業① ● リンカスクリプトの変更を 戻すと起動する? ● 変更考慮漏れでカーネルエント リアドレスが変わってしまって いた →修正
Slide 21
Slide 21 text
7.2→8.1 変化点検証 地味作業② ● zbsdmod.o の違いは gcc更新に よるアドレスずれ? ● 各種比較検証の結果、 カーネルジャンプ命令周辺を キャッシュラインに整列させた ら起動 →修正
Slide 22
Slide 22 text
7.2→8.1 変化点検証 地味作業③ ● zbsdmod.o を直しても読めない カーネルがある? ● コードをながめてみて、なんと なくダメっぽく見えたので bssクリア処理を追加 →ダメなカーネルもロードOK
Slide 23
Slide 23 text
7.2→8.1 変化点検証 地味作業④ ● GENERICカーネルを起動すると ”Alignment Fault 3” と言われて落ちる ● 野生の勘でフレームバッファの rasops が怪しい? と調べて 実装ミスを確認 →修正
Slide 24
Slide 24 text
さらに動作検証 地味作業⑤ ● disklabel(8) や fdisk(8) が 動かない ● MAKEDEV(8) スクリプトの Rawパーティション判定が 間違っている →send-pr して修正されました
Slide 25
Slide 25 text
さらに動作検証 地味作業⑥ ● Xサーバーで画面回転設定時の 表示がおかしくなる ● 検証未です(すいません) ● 7.2の Xorgサーバーバイナリを 持ってくるととりあえず 動きます
Slide 26
Slide 26 text
さらに動作検証 地味作業⑦ ● 9.0_BETA だとXサーバーで キーボード入力できない ● 必要なカーネルオプションが 無効化されてしまっていたので 戻す(ついでにコンパイルエ ラーも発覚したので修正)
Slide 27
Slide 27 text
さらに動作検証 地味作業⑧ ● 9.0_BETA の audio 修正後も C760/C860だと認識されない ● カーネル設定によっては動く? ● 散々調べて delay(9) 実装のバグ と発覚 →修正
Slide 28
Slide 28 text
ついでに改善 地味作業⑨ ● zbsdmod.o でのデバッガ用 シンボルテーブル読み込みを 動くようにしてカーネルサイズ 削減 ● KOFにコミットします
Slide 29
Slide 29 text
というわけで展示準備
Slide 30
Slide 30 text
放置するとバグがたまっていくので 定期的に起動するようにしましょう 基本は差分探索でしんどいですが 狙い通り直るとヨッシャ感あります 音が鳴って動画が動くとたのしい! 使ってもらえるとさらにうれしい! Kapperさん、ありがとうございました! まとめ