問題タブ [bootloader]

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.

0 投票する
1 に答える
7173 参照

linux - U-boot の環境を取得するために fw_printenv を使用します。

U-boot の環境を取得するために fw_printenv を使用したいと考えています。

それから

何が悪いのか教えてください。

どうもありがとう。^^

0 投票する
1 に答える
4662 参照

bootloader - フラッシュ ドライブから Windows をインストールするときに、「USB から起動するには任意のキーを押してください」を追加するにはどうすればよいですか? (Grub4dos の質問 / ブートローダーの削除方法)

私はしばらくこの問題に苦労してきましたが、ついに助けを求めることにしました。最初に、このアプリの主な目的を説明します。非常に使いやすいファイルのバックアップ方法を提供することです。その後、ドライブをフォーマットして Windows 7 のセットアップを開始します。

これは、スクリプトを実行して Windows のインストールを検出し、ファイル ブラウザーを開く WinPE を起動することによって行います。ファイル ブラウザーを閉じた後、スクリプトは続行し、Windows インストールを含むドライブをフォーマットし、Windows 7 の無人インストールを開始します。ここに問題があります:

DVD から Windows セットアップまたは WinPE を開始すると、「任意のキーを押して DVD から起動する」オプションが表示されます。これは、インストールの最初のフェーズが完了してコンピューターが再起動するときに、コンピューターが DVD を起動するのを防ぐためです。ただし、フラッシュ ドライブから起動する場合、Windows はこのオプションを提供しません。再起動するたびにフラッシュ ドライブを起動するだけです。

「任意のキーを押す」機能を再現するために、Grub4Dos をインストールしました。小さなメニューがあり、最初の標準項目は「インストールの続行」、2 番目の標準項目は「インストールの開始」です。かなり多くの調整を行った後、すべてが機能するようになりました。Start installation は WinPE を開始し、次に Windows のインストールを開始します。最初の再起動時に、Grub4Dos メニューが表示され、5 秒カウントされ、インストールの第 2 段階が起動されます。ここで、次のエラーが表示されます。

「Windows セットアップは、このコンピューターのハードウェアで実行するように Windows を構成できませんでした。」

通常の方法で WinPE を起動し (bootmgr をスティック ルートに置く)、BIOS を変更して最初の再起動後にプライマリ hdd から起動すると、このエラーは発生しません。

調べてみたところ、BIOS が起動デバイスに hd0 という名前を自動的に付けており、Windows は hd 0 でしか実行/インストールできないことがわかりました。これが問題かどうかはわかりません。この問題を解決するための再マッピングについて読みましたが、それを行うには、hd(0,1) のように、ハード ドライブとパーティションの物理的な場所を知る必要があります。OSがインストールされている場所に関係なく、このフラッシュドライブがどのPCでも動作することを望んでいるので、それは実際には不可能です.

私が考えた修正方法は、WinPE を使用しているときにフラッシュ ドライブからブートローダーを削除することです。そうすれば、PC の再起動時に、BIOS はフラッシュ ドライブを起動ドライブとして認識せず、代わりにプライマリ HDD を起動します。これを行う方法をまだ見つけていません。

私の質問を読んでくれてありがとう。何か提案があれば、してください。

0 投票する
1 に答える
1732 参照

c - ブートセクタからC++カーネルへ

単純なasmブートローダーとc++カーネルを作成することにしました。チュートリアルをたくさん読みましたが、アセンブリファイルをコンパイルできません。次のようになります。

(cファイルからk_main関数を呼び出したい)

コンパイル/アセンブル/リンクエラー:

では、.oファイルを作成してみました。

誰かが私にplzの実用的な例を教えてくれるか、コンパイル方法を教えてくれます。:/(チュートリアルを閲覧していて、2日前に役立ちましたが、正しい答えが見つかりません)

0 投票する
1 に答える
5148 参照

android - Androidを別のディストリビューションに置き換える方法

Android 2.0 がプリインストールされている非常に弱いネットブックを購入しましたが、これを puppy や DamnSmallLinux などの別の Linux ディストリビューションに置き換えたいと考えています。

ネットブックには「SDカードから起動」オプションを備えたBIOSメニューがないため、grub/liloでSDカードまたはUSBキーを挿入しても、そこからボットしませんでした。

Androidシステムのルートを持っていないため、Androidデバッグモードに入るキーシーケンスが見つかりませんでした。

  1. 別のメディアからの起動を指定する Android 内部の方法はありますか?
  2. 別のデバイスから Android を強制的に起動する「das-uboot」方法はありますか?

ありがとう!

0 投票する
3 に答える
9723 参照

assembly - How to make an bootable iso(not cd or flash drive) for testing your own boot loader?

i am trying to write a boot loader(hello world sort). i am using Bochs for simulation (platform Linux-Ubuntu). But i am unable to make an bootable iso for my binary file. Though in tutorial VFD(virtual floppy disk) is used but it is for windows platform. Here is my code for bootloader ( just for testing)

i tried master ISO on Ubuntu. It is converting the binary file to ISO but not to bootable ISO. Bochs is showing error "cd is not eltorito" which i googled and found to be standard for bootable ISO.What additional things i have to add to it to make it bootable. i have already added boot signature in the end. Can anyone suggest a reliable application to make a bootable ISO on Ubuntu? My work is stuck due to this.... OR i am pretty sure a lot of people must be involved in OS development on Linux platform. How do you people test?

I have made a bootable flash-drive with Unetbootin with the iso of my bootloader program. switched to Virtual-box and twisted a bit to boot from pendrive, but still its showing it to be non-bootable. I think someone said it correctly that u need a lot of patience in OS development.


:phew finally my bootloader program ran...
I used virtual floppy image to boot my program on Virtual box. Here are the steps in case somebody is struggling with it.
1.Create boot.asm which have your bootloader program.
2.Compile with nasm. nasm -f bin boot.asm -o boot.bin.
3.sudo mkfs.msdos -C /home/username/floppy.img 1440
4.sudo chown username ./floppy.img. link text
5.Copy with dd. dd if=./boot.bin of=./floppy.img.
6.Run VirtualBox and select floppy.img as booting device in your new virtual machine.
PS: you can also attach floppy.img to device "loop" and mount it just as a real floppy disk.

0 投票する
1 に答える
3018 参照

nasm - NASM-USBドライブからコードをロード

アセンブリの達人は、最初のUSBドライブを意味する引数(レジスタdl )を知っていますか?

私はいくつかのNASMチュートリアルに取り組んでおり、物理的なブートを取得したいと思っています(qemuでクリーンなブートを取得できます)。

これは、ディスクから「カーネル」データをロードするコードのセクションです。

違いがある場合は、標準のDell Inspiron15BIOSを実行しています。


どうやら、私にとって正しい値は0x80です。

BIOSはハードドライブをロードし、この回答に従って0x80からラベルを付けます。

私の特定のBIOSは、何らかの理由でUSBドライブを最初にロードすることを決定したので、そこから起動できます。

0 投票する
3 に答える
6779 参照

bootloader - Grub2 ブート メニューを非表示にしますか?

grub2でメニューを非表示にする手順を探しています。また、 /etc/default/grub config をセットアップしようとしました

  • GRUB_TIMEOUT
  • GRUB_HIDDEN_TIMEOUT
  • GRUB_HIDDEN_TIMEOUT_QUIET

成功しないオプション。
ご協力いただきありがとうございます

0 投票する
1 に答える
1580 参照

c - U-boot の環境設定 (U-boot) に fw_setenv を使用

ソースコードを使用しました(バージョン:u-boot 1.2)

コンパイラ fw_setenv をcorssしたい。

それで。uboot/uboot-1.2-dm9000/tools/env に入ります

arm-linux-gcc -Wall -DUSE_HOSTCC -I/include crc32.c fw_env.c fw_env_main.c -o fw_setenv

しかし..それは仕事ではありません。

どうもありがとう。

0 投票する
2 に答える
11128 参照

assembly - ブートローダー-プロセッサをプロテクトモードに切り替える

単純なブートローダーがどのように機能するかを理解するのに苦労しています。私が話しているブートローダーは、MITのコース「オペレーティングシステムエンジニアリング」からのものです。

まず、BIOSが実行するアセンブリコードの一部を示します。

このコードは、見た目から、割り込みテーブルと記述子テーブルを設定してから、プロテクトモードをオンにします。

  1. BIOSでプロテクトモードに入るのはなぜですか?ブートローダーをリアルモードで実行するべきではありません(ところで、なぜリアルモードで実行する必要があるのですか?)
  2. 私は検索しましたが、ljmpl命令がどのように機能するかを正確にどこにも見つけられませんでした。これは、ljmpおよび通常のjmpとの違いです。誰かが正しい方向を指し示していただければ幸いです。
  3. なぜジャンプを実行するのですか?この指導の目的は何ですか?

ブートローダーコードに移ります-

  1. プロセッサがリアルモードになっていると表示されますが、BIOSがプロテクトモードに切り替わるのを見たばかりです...混乱しています-どうすればこれが可能になるのでしょうか。
  2. 32ビットモードに切り替えるにはどうすればよいですか?ljmp命令が原因で、プロセッサが魔法のように32ビットモードになる原因は何ですか?

そして、私が理解していないもう1つのことは、gdbを使用してブートローダーの実行を追跡すると、次の命令が実行されていることを確認します(これは、ブートローダーコードのljmp命令です)。

しかし、.asmファイルを見ると、次のことがわかりました。

ここで完全に失われました-.asmファイルに書き込まれた命令と実行された命令がどうして違うのですか?私はこれがプロテクトモードとそれがアドレスをどのように変換するかに関係しているという予感がありますが、私は実際にはそれを理解していません。

助けていただければ幸いです!

0 投票する
1 に答える
244 参照

bootloader - ブータブル CD の最初に実行されたバイトはどこにありますか?

小さな Linux ディストリビューションの iso イメージ (ISO 9660) を調べてみました。16 個の空のセクターが見つかり、その後にプライマリ ボリュームの説明を記述するセクターが続きました。次のセクターは通常、システムやバージョン識別子などの説明情報と、指定されていないバイト範囲内のリトル エンディアン整数のみを含むブート レコードです。次に、Supplementary Volume Descriptor が続き、最後に Volume Descriptor Set Terminator が続きます。

ブート レコードのリトル エンディアン整数だと思います。これに関するこれ以上の情報は見つかりませんでした。私が使用したすべての画像で、プライマリ ボリューム記述子のセクター カウントの値よりも小さいリトル エンディアンの整数が使用されていたため、画像内のセクターを指していると推測されます。誰かがこれについてより詳細な情報を提供できますか?