問題タブ [bootstrapping]
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.
erlang - Erlang は何で書かれていますか?
Ericsson の Erlang および Erlang/OTP の実装は、どのような言語で記述およびコンパイルされていますか? アセンブリは、C または Erlang 自体ですか?
更新 1: DrJokepu に感謝します。私の理解が正しければ、Erlang ソースから VM へのコンパイラは Erlang 自体で記述されています。ただし、VM は C で記述されています。
更新 2: Hynek-Pichi-Vychodil が多くの詳細を指摘しました。
- VM および HW 相互作用ドライバー: C.
- コンパイラ (VM へ) とライブラリ: Erlang で。
- 拡張機能: ポートまたは Erlang ノードをその言語で作成することにより、どの言語でも可能です。
assembly - BIOS の下で USB フラッシュ ドライブを使用して低レベル IO を実行する方法 (フロッピーと比較)?
私は最近、フロッピー ドライブで使用するためのブートストラップ コードを研究しています。私の目標は、私の USB フラッシュ ドライブを使用するようにプログラムを変更することです。これで、INT 13H 機能がフロッピー デバイスでどのように使用されたかがわかりますが、私の質問は、USB ドライブとの通信はどのように異なるのでしょうか?
たとえば、フロッピー コード (GNU アセンブラ) の一部を次に示します。
0x80 を %dl に移動すると、BIOS で最初の HDD が選択されることを確認しました。私の特定の BIOS では、USB ドライブを含むドライブの順序を変更できます。これが BIOS に依存するようになっていることは確かですが、BIOS にリストされている順序は、%dl に移動する値に対応している可能性があると考えていました。いくつかのドキュメントを追跡する必要があります...
ブロックデバイスをそのまま使用することに本当に慣れていません。誰かがもっと学び始めるのに適した場所を教えてもらえますか?
ありがとう!
visual-studio-2005 - Bootstrapper: 単一の .msi パッケージでアプリケーションと前提条件をコンパイルする方法は?
インストールの前提条件を持つアプリケーションの .msi パッケージを作成しています。このタスクには Visual Studio 2005 Bootstrapper を使用しています。この目的のために、私は次のことを行いました: フォルダー C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\ を見つけ、前提条件用のフォルダーを作成しました (「dotnetfx」と同じ構造にしました)。 ; 「product.xml」と「package.xml」を作成し、適切に配置しました。インストールをテストするために、これまでxmlファイルを非常に単純に保ちました。
product.xml
package.xml
これで、リストから前提条件を追加して、セットアップ プロジェクトをビルドできます。
問題:
ビルド出力は、「setup.exe」、「MyApp.msi」パッケージ、および「MyPrereq.exe」を含む「MyPrereq」というサブフォルダーです。
ビルドで 'setup.exe' と 1 つの 'MyApp.msi' を作成したいと思います。この中に 'MyPrereq' が含まれ、追加のファイル/ディレクトリはありません。
.NET フレームワークが私のアプリのもう 1 つの前提条件であり、同じ .msi に含まれていることはわかっています。
どうすればこれを達成できますか?
spring - Grails:Bootstrapコードの破壊的なクロージャでSpring Beanにアクセスしますか?
GrailsプロジェクトのBootstrap.groovyのdestroyクロージャでBeanにアクセスしようとしています。これを達成する方法について何かアイデアはありますか?
私はservletContextにアクセスできないようです...?
windows-installer - Inno Setup を使用して条件付きで x64 ドライバーをインストールする
Inno Setup を使用して、必要なすべての前提条件を備えた WiX で生成された .msi ファイルをブートストラップしようとしています。
ほとんどの場合、これはうまく機能していますが、Windows インストーラーのように、条件付きで x86/x64 に基づく前提条件のインストーラーをインストールして実行するための情報を見つけることができません。
誰でもこれで運がありますか?ドライバーが 1 つしかないという理由だけで、個別の x64 インストーラーを用意しないようにしています。私がブートストラップしているアプリケーションは x86 で実行され、x64 のサポートは WOW に依存しています。
ありがとう!
vxworks - Workbench から PXE 起動可能なブートローダーを構築するにはどうすればよいですか?
Workbench から PXE ブート可能な VxWorks ブート ローダーをビルドしようとしていますが、うまくいきません。私の環境の概要は次のとおりです。
- VxWorks 6.6 + 最新のパッチ
- Workbench 3.0 + 最新のパッチ
- モンテビーナ BSP リリース 2.0/1
ターゲットは Dell Precision M4400 ラップトップです。成功せずに私がやっていることは次のとおりです。
- プロファイル
VxWorks Image Project
を使用して、Montevina BSP に基づいて Workbenchで新規作成します。PROFILE_BOOTAPP
- 次のコンポーネントをカーネル構成に追加します (それ以外の場合、ビルドは失敗します):
-INCLUDE_TIMER_SYS
-INCLUDE_PCI_BUS
-INCLUDE_PCI_OLD_CONFIG_ROUTINES
-INCLUDE_PENTIUM_PCI
- コンソール表示用のカーネル構成にコンポーネントを追加し
INCLUDE_PC_CONSOLE
ます (ターゲットにシリアル ポートはありません)。 - ビルド仕様を に設定し、次の
default_romCompress
名前の新しいビルド ターゲットを追加します。vxWorks_romCompress.bin
vxWorks_romCompress.bin
ターゲットをビルドすると、対応するファイルが作成されます。- ファイルに PXE パディングを追加します。
cat $WIND_BASE/vxworks-6.6/target/config/montevina/pxeBoot.bin vxWorks_romCompress.bin > vxWorks_romCompress.pxe
- TFTP サーバーの適切な場所にコピー
vxWorks_romCompress.pxe
し、ターゲットから PXE ブートを実行します。
この時点で、ターゲットは TFTP サーバーからファイルを正常にダウンロードしますが、そこで停止し、何も出力されません。コンソールには何も表示されません。
およびは、Workbench プロジェクトで正しく設定されているように見えます (これらは、それぞれ および の従来の config.h ファイルの設定と一致しRAM_HIGH_ADRS
ます) 。RAM_LOW_ADRS
0x00108000
0x003080000
bootrom.pxe
(Montevina BSP にはビルド済みのブート ローダーが同梱されていることに注意してください。これにより、私は PXE ブートに成功しました。ただし、ブート ローダーにいくつかのコンポーネントを追加する必要があります。従来の config.h メソッドではなく、Workbench 環境です。)
Workbench プロジェクトのカーネル構成に含まれるコンポーネントをミラーリングして、従来の config.h 設定に可能な限り一致させることも試みましたが、成功しませんでした。これらは追加されたコンポーネントです (これらの依存関係に加えて):
INCLUDE_PLB_BUS
DRV_NVRAM_FILE
INCLUDE_GENERICPHY
DRV_INTCTLR_IOAPIC
INCLUDE_GEI825XX_VXB_END
DRV_TIMER_IA_TIMESTAMP
INCLUDE_MII_BUS
DRV_INTCTLR_MPAPIC
DRV_SIO_NS16550
INCLUDE_FEI8255X_VXB_END
DRV_TIMER_LOAPIC
INCLUDE_SIO_UTILS
VXBUS_TABLE_CONFIG
INCLUDE_INTCTLR_LIB
INCLUDE_DMA_SYS
INCLUDE_PARAM_SYS
INCLUDE_SW_FPP
だから、それが私が今いるところです。問題は上記の手順 4 ~ 6 にあると思いますが、ワークベンチ内からブート ローダーを PXE ブート可能にする適切な方法について、ドキュメントには何も記載されていません。
c - OSなしで実行
OSなしでRAMから直接実行できるように、 Cプログラムを有効なELF形式(またはRAW形式)にコンパイルするにはどうすればよいですか? RAM の任意の場所にコードをロードし、そのアドレスで実行を開始できるブートローダーが存在すると仮定します。正確には、コンパイラ( GCC )フラグは何ですか? マップファイルは必要ですか?
サンプルの helloworld アプリケーションは大歓迎です :)
私の要点を詳しく説明するために
、main() メソッドを空の無限 while ループにして、OS固有または標準のライブラリ呼び出しが使用されないようにします。目的の o/p はハングです。通常のGCCオプションを使用すると、ブートローダーは実行可能ファイルのロードに確実に失敗し、無効なELF形式であることが通知されます。ただし、リンカーに-dNオプションを渡すと、有効なELFになります。クラッシュせずにハングアップさせるには、より多くのコンパイラ/リンカーオプションが必要です!! これらのコンパイラ オプションとは正確には何ですか?
コンパイル
gcc -c -nostdinc -fno-builtin
file.c ld -dN -nostdlib file.o
ブートローダーはa.outを RAM にロードして実行します。
zend-framework - Zend Framework アプリの「デフォルト モジュールが定義されていません」エラー
現在、bootstrap.php ファイルをより整理している最中ですが、すべてを個別の静的メソッドに配置した後、インデックス コントローラー以外のページを読み込むことができません。たとえば、開こうとすると
http://localhost/zftutorial/login/index
私は得る
私のブートストラップファイルでは、コントローラーが見つかる場所を定義したようです:
おそらくルーティングで何かを行う必要がありますが、私のアプリは以前は暗黙的なルーティングでうまく機能していました。たとえば、他のコントローラーもうまく機能していました。上記のエラーの原因は何ですか? どうすればテスト/検索/修正できますか?