借り初めのひみつきち

仮ブログです。

UEFI

Rust 自作 OS 日記/Part 3 ブートローダー

最近の大きな変更点は、カーネルとブートローダーを分離しました! UEFI の便利なところはカーネルを直接起動できるところです。 一方、カーネルに UEFI のコードが含まれることによる問題も少なからずあるので、 ブートローダーを分離することになりました…

Rust で ARM64-UEFI Hello World

以前書いた日記の続きになります。 neriring.hatenablog.jp Rust ではさまざまなターゲットがあり、比較的容易にクロスコンパイルできます。 一方 UEFI も PC に依存しないように設計されていて、 x86 系とは全く別のアーキテクチャである ARM 系 CPU などに…

Rust 自作 OS 日記/Part 1 my new gear...

前回の日記でお察しかと思いますが、さいきん Rust + UEFI で OS がどのくらい作れるのか検証していました。 TL; DR 結論から言うとマルチスレッドが動く程度までは動いて、今後も継続して開発していこうと思います。(๑╹ω╹๑ ) Rust で OS Rust 特有の苦労し…

Rust で UEFI のハローワールド

2020-12-23: cargo xbuild が不要になったので一部修正しました。 さいきん Rust のべんきょうはじまりました! github.com Rust とは 安全に低レベルプログラミングができるナウい言語っぽいです。 メモリ管理が厳しいので初学者はコンパイルを成功させるだ…

UEFI ゴルフの果てに

前回の記事の UEFI ゴルフの続報です。Hello world はどの環境でも文字列出力関数(API, メソッド, etc...)を呼び出すだけなのでコードはほぼ定型となりコード部分の最適化の余地はほとんどありませんでした。 ゴルフのお題のひとつに CHARS というものがあり…

最小の UEFI Hello World

UEFI は実行ファイルに PE/COFF という形式を採用しています。PE/COFF 形式はご存知の方も多いかと思いますが Windows で現在主流の実行ファイル形式で、名前の通り昔 UN*X で使われていた COFF 形式の派生です。 COFF から PE/COFF になる際にオリジナルの …

ACPI で電源を切るの補足

前回の ACPI 記事が当初の予定より長くなってしまって説明を省略した部分の補足したいと思います。neriring.hatenablog.jp FADT FADT というのは Fixed ACPI Description Table の略で、 ACPI のもっとも基本的で重要なテーブルのひとつで、電源制御などの多…

ACPI BGRT

昔同じタイトルの記事を書いたところ結構googleしてる人がいるみたいなので、ちゃんとした記事のせときますね:;(∩´﹏`∩);:win8くらいの時からPCが起動する時にメーカーロゴが表示された状態のままwindowsが起動してることにお気づきでしょうか?この仕組みは…

再度進捗的な。

最近忙しいです・・・

進捗的なもの。

さいきんあまり時間がとれてないですが・・・

UEFI のクロス開発

llvm/clang って全部入りなんですよ。

EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL を置き換える

UEFI で文字を表示するときは EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL を使うのが普通です。

バイバイ、 gnu-efi

gnu-efi は手軽でしたが、不満もありました。

最後の遺産。

以前、 UEFI コンピュータはレガシーフリーであると言いました。

GPD Pocket

一般人もちょこちょこ入手可能になりましたね。GPD Win と比べると一見まともそうなキーボードと見せかけてアルファベット以外の配列がかなり変態なのでわりと標準に近い配列の GPD Win のほうが使いやすいまであります。 ポインティングデバイスも使いにく…

BungBungame Photon 2

おひさしぶりです。結構記事の間が空いてしまいました。

はりぼてOSをUEFIで起動する/総集編

この記事は 自作OS Advent Calendar 2016 - Adventar の4日目の記事です。

VMware fusion

VMwareのUEFIを見てみましょう。

MacBook Pro (Late 2016)

ふらっとご飯買いにうろうろしてたら売ってたので買ってみました。

GPD WIN

少し前にkonozamaでポチったのがいつの間にか届いてました。

はりぼてOSをUEFIで起動する/5日目?

Hyper-VのUEFIモードはどうでしょうか?

PORTABOOK

さいきん2万円代で売ってると話題のポメラじゃないヤツを確保しました。

はりぼてOSをUEFIで起動する/4日目

どうしても起動時にフリーズしてしまう機種があったのですが、答えはシンプルでした。

はりぼてOSをUEFIで起動する/3日目

昨日の奴、というかそれ以前から致命的なバグがあったので修正しました。

はりぼてOSをUEFIで起動する/2日目

はりぼてOSローダーをアップデートしました。

はりぼてOSをUEFIで起動する/1日目

以前 UEFI 環境でレガシー OS を起動するのは相当厳しそうだという結論が出ましたが、はりぼて OS の事情を考えてみます。

BIOS から UEFI へ

BIOS の時代はプレイヤーが多かった。

640K ought to be enough for anybody

EFI 環境でレガシー OS を起動しようと企むときに特に致命的な、リアルメモリに空きがないとなぜ困るのかについて詳しく検証していきます。

雑感

帰宅後即寝落ちして寝過ごしたので連続更新日が途切れてしまいました。。 EFI_ABSOLUTE_POINTER_PROTOCOL 前回の改修で多くの機種でタッチが取れるようになりましたが、まだ一部の機種では動作が不安定なようです。 機種依存難しい。 YOGA 試しに外に持ち出…

EFI_ABSOLUTE_POINTER_PROTOCOL の不思議

そういえば GOP のサンプルで LocateHandleBuffer で複数の GOP を取得してから選択して使ってるサンプルを見かけたな~と思い出しました。