と
の複数のアドレスに関与uBoot Linuxカーネルのパラメータ
感謝と理解しました************************************************* < BR>
アーチ/腕/Makefileの
//仮想アドレスを実行するためのカーネルTEXTADDR = 0xC0008000
******************* ******************************
アーチ/腕/ブーツ/Makefileの
//カーネルのロードアドレスZRELADDR = 0x20008000
*************************************自己解凍ZTEXTADDR = 0x00000000の
(Linuxを************
アーチ/アーム/ブート/圧縮/Makefileの
//アドレス自己解凍gunzipはあり
/lib/inflate.cの-2.4.19-rmk7コア機能gzipで1.0.3をするために、バージョンがPC上にgzip
圧縮機能を使用していますファイルにgunzip gzipで1.0.3バージョンを識別することができない、のlinux-2.4.19-rmk7
、デフォルト値ZTEXTADDR = 0x00000000の
が表現されていない自己解凍のカーネル関数が利用できないに等しくされます使用しています。(のみuBootのgunzipを解凍によってロードすることができます)
)
************************* ************ **********
//uImageストアアドレス= 0x21000000
********************* **************************
mkimage -Aアーム-O Linuxの-C GZIP -a 0x20008000 -e 0x20008000 -d linux.bin.gzをuImage
-A:CPUタイプ
-O OS
ログイン
-C:
を用いる圧縮方法
-a:カーネルロードアドレス
-e:カーネル・エントリ・アドレス
*********************** ************************
do_bootmのuBoot(cmd_tbl_t * cmdtp、INTフラグ、int型ARGC、CHAR * ARGV []); /*画像ヘッダのマジック;
は、
アドレス0x21000000
uImageフォーマットされたデータmkimage
構造体image_headerのtypedef {
のuint32_t ih_magicにおけるヘッドを通して機能試験に格納されています番号* /
のuint32_t ih_hcrc; /*画像ヘッダCRCチェックサム* /
ih_timeのuint32_t; /*画像の作成タイムスタンプ* /
ih_sizeのuint32_t; /*画像の容量* /
のuint32_t ih_load; /*データのロードアドレス* /
のuint32_t ih_ep; /*エントリ・ポイント・アドレス* /
のuint32_t ih_dcrc; /*画像データのCRCチェックサム* /
uint8_t ih_os; /*オペレーティングシステム* /
uint8_t ih_arch; /* CPUアーキテクチャ* /
uint8_t ih_type; /*イメージタイプ* /
uint8_t ih_comp; /*圧縮タイプ* /
uint8_t ih_name [IH_NMLEN]; /*イメージ名* /
} image_header_t;
(ih_ep値0x20008000、ih_load値0x20008000)
各ヘッド場合
gunzipは((void *型)ntohl(HDR:でgunzipを解凍機能
+圧縮されたカーネルアドレスを次のようにCRCしきい値と合法的に、そしてdo_bootmが呼び出されます(image_header_t)はsizeof 0x21000000を解凍 - > ih_load)、0x400000、データ、(int *)& len);
1。 hdr-> ih_load出力データアドレス0x20008000の
出力データを解凍gunzipを2.0x400000上限-4M
3。データは入力データアドレスdata = 0x21000000 + sizeof(image_header_t);
4です。 LEN入力データ長LEN = ntohl(hdr-> ih_size);
減圧の完了は、減圧後gunzipを介し
Linuxカーネル圧縮ファイルuImageを、データの実際のサイズを格納する後、それ関数の後、
によって
do_bootm_linux(cmdtp、フラグ、ARGC、ARGV、ADDR、len_ptr、ベリファイ); 5つのパラメータ
<へのLinuxカーネルの動作カーネルの
伝達関数を必要P>カーネル=(ボイド(*)(* bd_t、ULONG、ULONG、ULONG、ULONG))hdr-> ih_ep;
は、
1。 hdr-> ih_epある0x20008000
/*
* Linuxカーネルパラメータ:
* R3:情報データ
* R4に搭乗するPTR:initrd_startまたは0がない場合にinitrd
* R5:initrd_end - R4は0
がある場合は、未使用の
* R6:コマンドライン文字列のスタート
* R7:コマンドライン文字列の終わり< BR>
* /
(*カーネル)(KBD、initrd_start、initrd_end、cmd_start、CMD_END);
これは、Linuxに5つのパラメータを開始するために必要なデリバリーシステムを完了し、これuBootの作業は終わり、Linuxは正式にアドレス0x20008000で実行されます。
でインターネットフィルタリングを実装する現在、多くの学校がキャンパスネットワークを構築してインターネットに接続していますが、インターネット上には、ウェブサイトのフィルタリング方法や不健康なウェブサイト
を使用します。 nmapはネットワークポートスキャナーです。その主な機能は、ターゲットホストのグループを調べて、どのTCPポートとUDPポートがサービス上にあるかを確認することです。ほとんどのネットワ
開始からnginxの0.7.48バージョンは、イカキャッシュは、同様の機能をサポートします。このキャッシュは、ハードディスクに保存されたハッシュでエンコードされたキー、MD5などURLおよび関連ポー
この記事には新しい概念はなく、コマンドラインツールを使用して以前に行ったことを繰り返すだけで、前提条件はありません。プロセスは、我々は以前の記事を議論しました。 ステップ1:ストレージプールの設定
初心者にとって、Linuxコマンドの習得はそれほど単純ではありませんが、初心者の多くはコマンドを使用したりコマンドの使用方法を知らなかったりするため、Linuxコマンドは非常に重要です。 Linuxシステムのコマンド操作を学ぶ方法。
Linuxシステムのコマンド操作スキルを習得する初心者
まず、毎日のヒント
Linuxコマンドを習得するための漸進的な方法は、毎回ターミナルを開くことで
all) Shuf -n 1) この行を追加するだけでいいです!もっと楽しくしたい場合は、cowsayをインストールすることができます。 Ubuntu /Debianの下にcowsayをインストール