問題タブ [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.
c - マルチブートヘッダーで QEMU を適切に使用する方法
OS作りの基礎を学んでいます。マルチ ブート ヘッダーに準拠した .asm ファイルと .c ファイルを作成しました。.asm ファイルのコードは、.c ファイルのメイン関数を呼び出します。
問題は、.asm ファイルと .c ファイルのコンパイルとリンク後に生成されたファイルから QEMU を起動できないことです。
起動可能なデバイスが見つからないというだけです。
ただし、次のような単純な .asm ファイルから起動できます:-
私がしなければならないことがもっとありますか?
assembly - カーネルを GRUB またはその他のアセンブリ ブートローダーに接続する
私はこのカーネル ( http://www.cs.vu.nl/~herbertb/misc/writingkernels.txt ) をたどり、grub とリンクされている部分に到達しました。ただし、/boot/grub/ (Linux mint x64) に stage1 と stage2 がありません。また、「mpartition -I c:」と書くと、「mpartition: init: open: No such file or directory」というエラーが表示されます。そのため、ステージ 1 とステージ 2 へのリンクと、必要なすべてのファイル、またはこのカーネルをロードするアセンブリ ブート ローダーへのコードを取得すると便利です。追記: 私のシステム上、'elf' ではなく 'elf64' を使用しました。
makefile - GRUB2 Makefile (Makefile.core.def)
grub2/grub-core の Makefile.core.def では、
ldadd は何をしますか? libgnulib.a はどこに住んでいますか? grub ディレクトリで libgnulib.a を検索しようとしましたが、見つかりませんでした。私もネットで検索してみましたが、情報が見つかりませんでした。
ありがとう、マット
c++ - GRUB を使用して BIOS を照会する方法は?
主に学習目的で 80386 プロセッサ用の小さなカーネルを作成しようとしており、使用可能な RAM の完全なメモリ マップを取得したいと考えています。
BIOS に直接クエリを実行するよりも、GRUB を使用して実行する方が可能であり、より優れていることを読みました。
どうすればいいのか教えてもらえますか?
特に、リアル モードで BIOS 機能を使用するには、BIOS 割り込みを使用し、いくつかのレジスタで目的の値を取得します。GRUB が提供する関数を使用する場合、実際に同等の方法は何ですか?
linux - コマンドを Grub2 に追加する
そこで、次のパッチを適用して、「apple_set_os」コマンドを Grub2 に追加しようとしています。
http://lists.gnu.org/archive/html/grub-devel/2013-12/msg00442.html
Grub は正常にコンパイルされ、「applesetos.model」および「applesetos.mod」ファイルが /usr/lib/grub/x86_64-efi/ に表示されます。しかし grub2 は、このコマンドが見つからないと言っています。コマンドを Grub に追加するための追加の手順はありますか?
linux - 汚い致命的なエラー: 適切なテンプレートが見つかりません
そこで、AWS EC2 ベース イメージのカーネルをアップグレードyum -y update kernel
したところ、次のようになりました。
/boot/grub/grub.conf の内容は次のとおりです。
したがって、grub.conf は更新されず、kernel-2.6.32-504.1.3.el6.x86_64 が既にインストールされているため、前回カーネルを更新したときに grub も更新されませんでした。手動でカーネルを追加してみました:
/boot/grub/grub.conf は次のようになります。
しかし、/vmlinuz-2.6.32-504.3.3.el6.x86_64
私が入ったカーネルではありません。だから私はそれを削除し、次のように再試行しました:
その結果、次のようになりました。
この時点で、手動で /boot/grub/grub.conf を編集しdefault=0
て再起動しましたが、EC2 が起動しませんでした。そこで、新しいインスタンスのコピーを試みたところ、同じエラーがすべて発生したため、既存の設定を新しいエントリにコピーしました。
そして再起動しましたが、再起動に失敗しました。さらに別の試みで、上記を繰り返しましたが、root=/dev/xvda3
、それも起動に失敗しました。したがって、現時点では、カーネルをアップグレードする方法はまったくありません。私は何をしますか?
更新: /boot/boot/ の内容を把握したところ、/boot/grub/grub.conf は次のようになりました。
そして、システムを正常に起動できますが、これに関する他のすべてが当てはまります。新しいカーネルをインストールしても、「汚い致命的なエラー:適切なテンプレートが見つかりません」というgrubby --default-kernel
結果になり、出力はまだありません。カーネルの更新のために /boot/grub/grub.conf を手動で編集する必要があります。
linux - 文書化されていないカーネルブートパラメータ?
Linux カーネルにはcryptopts=...
、暗号化されたルート パーティションを指定できるブート パラメータがあるようです。Google 検索では、その使用例が多数返されますが、実際のドキュメントを見つけることができませんでした。たとえば、man bootparam
それについて言及していません。これは文書化されていない機能なのか、それとも非推奨なのだろうか? それとも、特定のディストリビューションに特有のものでしょうか? grep
文字列の Linux カーネル ソースを調べてcryptopts
みましたが、何も見つかりませんでした...謎を解くのを手伝ってください!
archlinux - Arch のインストール後に GRUB にパーティションを再追加する
https://wiki.archlinux.org/index.php/Beginners%27_Guideの初心者向けガイドに従って Arch Linux をインストールする際に、ブートローダーとして GRUB をインストールしました。ただし、再起動すると、以前の Ubuntu オプションが消えており、Arch しか残っていません。
他にわかりやすいチュートリアルが見つからないため、他のディスク パーティションを GRUB に再追加する方法を知りたいです。ありがとう。