問題タブ [grub]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
framebuffer - GRUB2 + VESA BIOS 拡張機能 / VBE が壊れていますか?
適切なブート イメージのビルドに関する以前の問題は修正されましたが、ほぼ 1 日中、別の GRUB2 関連の問題と格闘していました。
問題は、マルチブート ヘッダーにビデオ情報要求ビットを設定しても、GRUB2 が適切な VESA BIOS 拡張 (VBE) 情報を返さないことです。
カーネルは私自身の作品であり、以前のバージョンの GRUB2 で動作 (TM) していたことは注目に値します (画面を白いピクセルで埋めることができましたが、問題ありませんでした)。
これが私の現在のgrub.cfgです:
ブート イメージの作成に使用するスクリプトは次のとおりです。
assembly - GRUB2 が diskboot.img をアドレス 0x8000 に直接ロードしないのはなぜですか?
GRUB2 のソース コードを調べて、boot.S のコードが diskboot.img (core.img の最初のセクター) を最初に 0x70000 にロードし、次に copy_buffer を使用して 0x8000 にコピーし、そこにジャンプする理由を理解しようとしています実行を継続します。イメージを 0x8000 に直接ロードしないのはなぜですか?
#define GRUB_BOOT_MACHINE_BUFFER_SEG 0x7000 に関するコメントがあります。しかし、最初のセクターは 512 バイトしか占有しません。
linux - grub オプションをプログラムで編集する
現在のOSの再起動後に実行される次のOSをプログラムで選択したい。たとえば、私はこれらのOSを持っています:
私は現在 Linux を使用しており、再起動後に Windows を実行したいと考えています。どのファイルを変更する必要がありますか?
assembly - grubを使用してアセンブリで記述されたカーネルを起動する
この小さな単純なカーネルでは、実際に GRUB でブートする必要がないことはわかっていますが、カーネルが大きくなり、ブートする必要がある前に、これを行う方法を学ぼうとしています。OSDev.org のリアル モード アセンブリ チュートリアルを使用して、アセンブリを含む単純なカーネルを作成しました。起動しようとしましたが、GRUB からマルチブート ヘッダーが見つからないというエラーが表示されました。C Bare Bones チュートリアルのアセンブリ コードを調べました。セクション .multiboot にすべてを入れる必要がありますか? このコードを起動する方法を教えてください。(このコードは私が作成したものではありません。自宅のマシンにコードを残し、現在学校に通っています。このコードは OSDev から借りただけなので、誰かのコードを盗んだなどと言って意地悪なコメントをしないでください。)
BIOS を使用して起動および印刷できますか、それともスタックを使用する必要がありますか?
前もって感謝します。
grub - カーネルの起動中に grub.conf を読み取るソース コード
grub.conf、googled を読み取るが見つからないコードを見たい。以下のリンクから、/boot/grub/stage2 がバイナリ ファイルである grub.conf を読み取ることを理解しています。 http://docs.oracle.com/cd/E37670_01/E41138/html/ch04s02.html
ステージ 2 ステージ 2 のコードは /boot/grub/grub.conf を読み取り、カーネルのロード方法を決定します。ステージ 2 のコードは、ファイル /boot/grub/stage2 に保存されます。
ls -al /boot/grub/stage2
-rw-r--r--. 1 ルート root 125976 2012 年 6 月 28 日 /boot/grub/stage2
私がそれを見つけることができるアイデア。ありがとう
makefile - grub_script.yy.c:2354:13: エラー: 'yy_fatal_error' が定義されていますが、使用されていません
最新の grub2 (2.00) をビルドすると、このエラーが発生します。
、、およびの-Wno-unused-function
両方に追加しようとしました。実行中にその関数を削除しようとさえしました!HOST_CFLAGS
HOST_CPPFLAGS
TARGET_CPPFLAGS
TARGET_CFLAGS
Makefile
make
残念ながらエラーは残ります。
linux - grub2-extra-lua モジュールの使用方法
grub2-lua をグーグルで検索しましたが、それに関する情報はほとんど見つかりませんでした。git clone リンクを除いて、grub2-lua の公式 Web サイト (つまり、公式のソース コード tarball ダウンロード リンク) が見つかりません。
さらに、grub lua に関するドキュメントが見つかりません。なので使い方がわかりません。
lua モジュールと一緒に grub2 をコンパイルすることができたので、grub を起動し、「help lua」と入力してヘルプ情報を取得しようとしました。しかし、コマンド「lua script_file.lua」を使用してluaスクリプトを実行できるとだけ書かれています。だから、luaモジュールの使い方の詳細を知りたいだけです。たとえば、grub.cfg ファイルで lua コマンドを実行する方法、lua の実行結果を grub.cfg ファイルに返す方法、および grub が lua モジュールに提供する API について説明します。
lua モジュールを使用する理由は、grub でファイル システム操作 (つまり、mv、cp、cd、pwd、mkdir、rm、nano コマンド) が必要だからです。grub2 自体はこの機能を提供していません。一部の投稿では、grub-extra-lua モジュールがこの機能を提供する可能性があると述べています。
したがって、grub lua モジュールを使用してファイルとディレクトリを操作する方法を知りたいだけです。
shared-libraries - 共有ライブラリをサポートする Grub ブートローダー
grub ブートローダーを使用して、ブート段階で共有ライブラリ (クローズド ソースのバイナリ ユーザー空間ライブラリ) をロードしたいと考えています。これを行う可能性はありますか、それとも custom-elf-loader (grub モジュール) を作成する必要がありますか?
- 29/08/2014: 詳細については、これは Grub ブートローダー プロジェクトにいくつかの新機能をカスタマイズまたは追加したいプログラミングの問題です。ご支援いただきありがとうございます!