少し前から EFI をさわりはじめてます!
こんなのとか github.com
2,3年前からそろそろ触らないとと思ってましたが、開発環境整えるの面倒だし CSM で起動できるから平気だもんね! と強がって放置たら、最近の PC に CSM 積んでないものが増えてきてどんどんやばいなと思ってたところ、 gnu-efi というものがあることを知り、これなら簡単に開発環境揃いそうだね☆
と、いうことで、はじめてみました。
ちなみに、ふだんは Mac 使いですが、 EFI 関係は主に Windows 10 を使ってます! WSL 便利☆(ゝω・)v
そんなわけで現在のメインプロジェクトはこんなかんじです。
主なポリシー
ファームウェア
- ACPI/UEFI 前提
- ACPI 未対応機種は捨てる
- UEFI 未対応 BIOS の機種もサポートする(そのうち)
- UEFI 32bit/64bit 両方をサポートする(そのうち)
- x64 未対応機種は捨てる?
- 開発がある程度落ち着くまでは ExitBootServices を呼び出さない
グラフィックス
- UEFI/GOPからもらったモードをそのまま使おう
キーボード
- 当面は PS/2 キーボードをサポート(USBスタックは難しい)
- キーボードが内部的にUSB接続していてUSBレガシーをサポートしていない機種ではキー操作ができない
- Bluetooth 対応とかそのまた先の先の先
まだなにもできません。はりぼて OS の一日目?のカーソルが動いたみたいなかんじです。
ねり氏のますますの発展をお祈りします🙏