Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
NetBSD/zaurus 8.1 をテストしたら動かなかったので動くまで直した話 / KOF...
Search
Izumi Tsutsui
November 08, 2019
Programming
1
1.3k
NetBSD/zaurus 8.1 をテストしたら動かなかったので動くまで直した話 / KOF2019-NetBSD
関西オープンフォーラム2019 1日目 BSDなひととき で発表した「NetBSD/zaurus 8.1 をテストしたら動かなかったので動くまで直した話」のスライドです
Izumi Tsutsui
November 08, 2019
Tweet
Share
More Decks by Izumi Tsutsui
See All by Izumi Tsutsui
NetBSDの解説と NetBSD/luna68kの歴史と ついでにPC-6001展示 / OSC2025Tokyo-spring
tsutsui
0
110
GitHub Actionsを使ってNetBSDマイナー機種用のビルドテストCIを書いてみた話 / OSC2025Osaka
tsutsui
0
91
PC-6001のPSG演奏デモを機会にNetBSDを真面目に説明してみる / OSC2024Ehime
tsutsui
0
340
PC-6001のPSG演奏デモをなるべくNetBSD環境を使って作った話 / KOF2024
tsutsui
1
460
OSC展示とLUNAとNetBSD / OSC2024Kyoto
tsutsui
1
590
digital VAX, NetBSD/vaxの歴史と VAXstation 3100/m30 展示 / OSC2024Osaka
tsutsui
0
1.3k
SONY NEWS NetBSD移植作業とNWS-3260展示 / KOF2023
tsutsui
0
1.5k
37年前の Sun 3/60 のために最新のNetBSDと最新のX.orgをメンテする話 / KOF2022
tsutsui
1
570
お歳暮で Sun3 が送られてきたので NetBSD/sun3 を展示デモしました / OSC2020Osaka
tsutsui
5
2.9k
Other Decks in Programming
See All in Programming
Discover Metal 4
rei315
2
100
データの民主化を支える、透明性のあるデータ利活用への挑戦 2025-06-25 Database Engineering Meetup#7
y_ken
0
330
High-Level Programming Languages in AI Era -Human Thought and Mind-
hayat01sh1da
PRO
0
630
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
2
680
Google Agent Development Kit でLINE Botを作ってみた
ymd65536
2
210
Team operations that are not burdened by SRE
kazatohiei
1
280
Benchmark
sysong
0
280
20250628_非エンジニアがバイブコーディングしてみた
ponponmikankan
0
530
A2A プロトコルを試してみる
azukiazusa1
2
1.3k
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
6
1.7k
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
240
“いい感じ“な定量評価を求めて - Four Keysとアウトカムの間の探求 -
nealle
0
210
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
184
22k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
Adopting Sorbet at Scale
ufuk
77
9.4k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
RailsConf 2023
tenderlove
30
1.1k
Rails Girls Zürich Keynote
gr2m
94
14k
A designer walks into a library…
pauljervisheath
207
24k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Facilitating Awesome Meetings
lara
54
6.4k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Building Adaptive Systems
keathley
43
2.6k
Transcript
NetBSD/zaurus 8.1 を テストしたら動かなかったので 動くまで直した話 関西オープンソース 2019 NetBSD SHARP 祭り@Kansai
Izumi Tsutsui
[email protected]
Twitter: @tsutsuii Mastodon: @
[email protected]
NetBSDと SHARP マシン
これだけ動きます 目のつけどころが? • X68030 (X68000+030アクセラレータも可) • SL Zaurus (いわゆる
リナザウ) • W-ZERO3 • NetWalker • あとTelios (WindowsCE MIPS機)とか
今でも 動くの?
二十年ふた昔 各マシンの発売年 • X68030 1993年 • SL Zaurus 2002年
• W-ZERO3 2005年 • NetWalker 2009年 • Telios 2000年?
NetBSD 最新リリース 9.0_BETA も進行中 • NetBSD 8.0: 2018/ 7/
4 • NetBSD 8.1: 2019/ 5/31 • netbsd-9 : 2019/ 7/30 ブランチ作成 NetBSD 9.0 は来年春までには出る??
NetBSD/x68k エミュレータで動きます →実機も展示中
NetBSD/zaurus もともと Linuxなので • OpenBSD/zaurus (2004年) がベース OpenBSD/zaurus は
6.0 で終了 • NetBSD/zaurus: 2006/12/17 コミット • 2011年? に SL-C1000サポート (このころに実機をジャンクで入手) • 2012年に SL-C7x0/860サポート
起動動画もあります https://www.youtube.com/watch?v=Jq5ZHwum5vM
Zaurus と OSC Twitterで拉致事件 https://twitter.com/tristelo/status/133912360040677376
https://togetter.com/li/242873
OSC東京 2011 秋 http://movapic.com/pic/201111191552144ec7521e3419f
NetBSD/zaurus Live Image C7x0サポートの 2012年作成 https://togetter.com/li/243703
Kapperさんによる紹介 いつもありがとうございます https://www.slideshare.net/kapper1224/beginner-for-install-archlinux-and-netbsd-in-linuxzaurus-i n-2019-archlinuxnetbsd-in-linux-zaurus-162939626
https://www.amazon.co.jp/gp/customer-reviews/R2TR7CA91F7AXJ
そういえば ここ数年 Zaurus を さわってない
Live Imageを作った NetBSD 6.1.3?くらいから 放置してたのですが、 せっかく紹介して いただいたので 今はどうかなとテスト
NetBSD/zaurus 7.2 は起動 8.1 はカーネルロード後ハング port-zaurus ML
にもハング報告が とりあえずの検証結果 https://mail-index.netbsd.org/port-zaurus/2017/04/02/msg000066.html
NetBSD/zaurus 起動方法 ちょっと面倒 • Zaurus純正 Linux を起動 • BSDカーネルロード用のLinuxカーネル
モジュール (zbsdmod.o) を組み込み • /proc/zboot に NetBSDカーネルを 書き込むとカーネルが起動する • zboot という NetBSD FFSからロード するツールもあり ⇒これらの組み合わせ検証が面倒だったり
7.2→8.1 変化点検証 地味作業① • リンカスクリプトの変更を 戻すと起動する? • 変更考慮漏れでカーネルエント リアドレスが変わってしまって
いた →修正
7.2→8.1 変化点検証 地味作業② • zbsdmod.o の違いは gcc更新に よるアドレスずれ? •
各種比較検証の結果、 カーネルジャンプ命令周辺を キャッシュラインに整列させた ら起動 →修正
7.2→8.1 変化点検証 地味作業③ • zbsdmod.o を直しても読めない カーネルがある? • コードをながめてみて、なんと
なくダメっぽく見えたので bssクリア処理を追加 →ダメなカーネルもロードOK
7.2→8.1 変化点検証 地味作業④ • GENERICカーネルを起動すると ”Alignment Fault 3” と言われて落ちる
• 野生の勘でフレームバッファの rasops が怪しい? と調べて 実装ミスを確認 →修正
さらに動作検証 地味作業⑤ • disklabel(8) や fdisk(8) が 動かない •
MAKEDEV(8) スクリプトの Rawパーティション判定が 間違っている →send-pr して修正されました
さらに動作検証 地味作業⑥ • Xサーバーで画面回転設定時の 表示がおかしくなる • 検証未です(すいません) • 7.2の
Xorgサーバーバイナリを 持ってくるととりあえず 動きます
さらに動作検証 地味作業⑦ • 9.0_BETA だとXサーバーで キーボード入力できない • 必要なカーネルオプションが 無効化されてしまっていたので
戻す(ついでにコンパイルエ ラーも発覚したので修正)
さらに動作検証 地味作業⑧ • 9.0_BETA の audio 修正後も C760/C860だと認識されない •
カーネル設定によっては動く? • 散々調べて delay(9) 実装のバグ と発覚 →修正
ついでに改善 地味作業⑨ • zbsdmod.o でのデバッガ用 シンボルテーブル読み込みを 動くようにしてカーネルサイズ 削減 •
KOFにコミットします
というわけで展示準備
放置するとバグがたまっていくので 定期的に起動するようにしましょう 基本は差分探索でしんどいですが 狙い通り直るとヨッシャ感あります 音が鳴って動画が動くとたのしい! 使ってもらえるとさらにうれしい!
Kapperさん、ありがとうございました! まとめ