UEFI
最近の大きな変更点は、カーネルとブートローダーを分離しました! UEFI の便利なところはカーネルを直接起動できるところです。 一方、カーネルに UEFI のコードが含まれることによる問題も少なからずあるので、 ブートローダーを分離することになりました…
以前書いた日記の続きになります。 neriring.hatenablog.jp Rust ではさまざまなターゲットがあり、比較的容易にクロスコンパイルできます。 一方 UEFI も PC に依存しないように設計されていて、 x86 系とは全く別のアーキテクチャである ARM 系 CPU などに…
前回の日記でお察しかと思いますが、さいきん Rust + UEFI で OS がどのくらい作れるのか検証していました。 TL; DR 結論から言うとマルチスレッドが動く程度までは動いて、今後も継続して開発していこうと思います。(๑╹ω╹๑ ) Rust で OS Rust 特有の苦労し…
2020-12-23: cargo xbuild が不要になったので一部修正しました。 さいきん Rust のべんきょうはじまりました! github.com Rust とは 安全に低レベルプログラミングができるナウい言語っぽいです。 メモリ管理が厳しいので初学者はコンパイルを成功させるだ…
前回の記事の UEFI ゴルフの続報です。Hello world はどの環境でも文字列出力関数(API, メソッド, etc...)を呼び出すだけなのでコードはほぼ定型となりコード部分の最適化の余地はほとんどありませんでした。 ゴルフのお題のひとつに CHARS というものがあり…
UEFI は実行ファイルに PE/COFF という形式を採用しています。PE/COFF 形式はご存知の方も多いかと思いますが Windows で現在主流の実行ファイル形式で、名前の通り昔 UN*X で使われていた COFF 形式の派生です。 COFF から PE/COFF になる際にオリジナルの …
前回の ACPI 記事が当初の予定より長くなってしまって説明を省略した部分の補足したいと思います。neriring.hatenablog.jp FADT FADT というのは Fixed ACPI Description Table の略で、 ACPI のもっとも基本的で重要なテーブルのひとつで、電源制御などの多…
昔同じタイトルの記事を書いたところ結構googleしてる人がいるみたいなので、ちゃんとした記事のせときますね:;(∩´﹏`∩);:win8くらいの時からPCが起動する時にメーカーロゴが表示された状態のままwindowsが起動してることにお気づきでしょうか?この仕組みは…
最近忙しいです・・・
さいきんあまり時間がとれてないですが・・・
llvm/clang って全部入りなんですよ。
UEFI で文字を表示するときは EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL を使うのが普通です。
gnu-efi は手軽でしたが、不満もありました。
以前、 UEFI コンピュータはレガシーフリーであると言いました。
一般人もちょこちょこ入手可能になりましたね。GPD Win と比べると一見まともそうなキーボードと見せかけてアルファベット以外の配列がかなり変態なのでわりと標準に近い配列の GPD Win のほうが使いやすいまであります。 ポインティングデバイスも使いにく…
おひさしぶりです。結構記事の間が空いてしまいました。
この記事は 自作OS Advent Calendar 2016 - Adventar の4日目の記事です。
VMwareのUEFIを見てみましょう。
ふらっとご飯買いにうろうろしてたら売ってたので買ってみました。
少し前にkonozamaでポチったのがいつの間にか届いてました。
Hyper-VのUEFIモードはどうでしょうか?
さいきん2万円代で売ってると話題のポメラじゃないヤツを確保しました。
どうしても起動時にフリーズしてしまう機種があったのですが、答えはシンプルでした。
昨日の奴、というかそれ以前から致命的なバグがあったので修正しました。
はりぼてOSローダーをアップデートしました。
以前 UEFI 環境でレガシー OS を起動するのは相当厳しそうだという結論が出ましたが、はりぼて OS の事情を考えてみます。
BIOS の時代はプレイヤーが多かった。
EFI 環境でレガシー OS を起動しようと企むときに特に致命的な、リアルメモリに空きがないとなぜ困るのかについて詳しく検証していきます。
帰宅後即寝落ちして寝過ごしたので連続更新日が途切れてしまいました。。 EFI_ABSOLUTE_POINTER_PROTOCOL 前回の改修で多くの機種でタッチが取れるようになりましたが、まだ一部の機種では動作が不安定なようです。 機種依存難しい。 YOGA 試しに外に持ち出…
そういえば GOP のサンプルで LocateHandleBuffer で複数の GOP を取得してから選択して使ってるサンプルを見かけたな~と思い出しました。