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.2k
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
57
GitHub Actionsを使ってNetBSDマイナー機種用のビルドテストCIを書いてみた話 / OSC2025Osaka
tsutsui
0
53
PC-6001のPSG演奏デモを機会にNetBSDを真面目に説明してみる / OSC2024Ehime
tsutsui
0
240
PC-6001のPSG演奏デモをなるべくNetBSD環境を使って作った話 / KOF2024
tsutsui
1
370
OSC展示とLUNAとNetBSD / OSC2024Kyoto
tsutsui
1
520
digital VAX, NetBSD/vaxの歴史と VAXstation 3100/m30 展示 / OSC2024Osaka
tsutsui
0
1.1k
SONY NEWS NetBSD移植作業とNWS-3260展示 / KOF2023
tsutsui
0
1.4k
37年前の Sun 3/60 のために最新のNetBSDと最新のX.orgをメンテする話 / KOF2022
tsutsui
1
520
お歳暮で Sun3 が送られてきたので NetBSD/sun3 を展示デモしました / OSC2020Osaka
tsutsui
5
2.8k
Other Decks in Programming
See All in Programming
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
8
2.4k
お前もAI鬼にならないか?👹Bolt & Cursor & Supabase & Vercelで人間をやめるぞ、ジョジョー!👺
taishiyade
7
4.2k
LINE messaging APIを使ってGoogleカレンダーと連携した予約ツールを作ってみた
takumakoike
0
110
複数のAWSアカウントから横断で 利用する Lambda Authorizer の作り方
tc3jp
0
120
Honoとフロントエンドの 型安全性について
yodaka
7
1.5k
2025.2.14_Developers Summit 2025_登壇資料
0101unite
0
200
color-scheme: light dark; を完全に理解する
uhyo
7
490
Formの複雑さに立ち向かう
bmthd
1
940
PRレビューのお供にDanger
stoticdev
1
230
TCAを用いたAmebaのリアーキテクチャ
dazy
0
120
Go 1.24でジェネリックになった型エイリアスの紹介
syumai
2
290
Rubyで始める関数型ドメインモデリング
shogo_tksk
0
140
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
How to Ace a Technical Interview
jacobian
276
23k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
10
510
Making Projects Easy
brettharned
116
6k
Adopting Sorbet at Scale
ufuk
74
9.2k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
Designing for humans not robots
tammielis
250
25k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
BBQ
matthewcrist
87
9.5k
Transcript
NetBSD/zaurus 8.1 を テストしたら動かなかったので 動くまで直した話 関西オープンソース 2019 NetBSD SHARP 祭り@Kansai
Izumi Tsutsui tsutsui@NetBSD.org Twitter: @tsutsuii Mastodon: @tsutsuii@social.mikutter.hachune.net
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さん、ありがとうございました! まとめ