広告

ホーム > NFSTFTPその他のuboot >ブート(更新)NFSおよびTFTPを使用して

NFSとTFTPを使用してブートする(更新)

むしろゆっくりとNANDフラッシュを身に着けているよりも、あなたは、NFS共​​有からTFTPおよびOSを使用してカーネルをロードすることによって、ネットワーク経由でmini2440を起動することができます。 これはまた、はるかに高速の変更をテストできるようになります。 Fedora 11の使用するには、TFTP、tftp - serverのとnfs - utilsをインストールするには、YUMを使用できます。

yumのインストール TFTP TFTPサーバのnfs - utils

私は、フォルダ/ home/doug/mini2440/root_fsを作成し、192.168.1からR / Wアクセスを許可する/ etc / exportsに次の行を追加しました.*:

doug / mini2440 / root_fs 192.168.1.1 / 24 ( rw, sync ,no_root_squash ) /ホーム/ダグ/ mini2440 / root_fs 192.168.1.1 / 24(RW、 同期 、no_root_squashを

..と/ home/doug/mini2440/root_fsへのルートとして、オングストロームのファイルシステムを抽出

あなたがセットアップTFTPように、/ etc / xinetd.d / tftpを編集する必要があります。 地雷が参考のため以下に掲載されている、あなたは少なくとも=は無効を設定する必要はありません。

#デフォルト:オフ
#説明:TFTPサーバは、些細なファイル転送を使用してファイルを提供しています
#プロトコル。 TFTPプロトコルは、多くの場合、ディスクレスのブートに使用されます。
#ワークステーション、ダウンロードコンフィギュレーションファイルをネットワーク対応のプリンタへ、
#と一部のオペレーティングシステムのインストールプロセスを開始する。
サービスのtftp
{
=何を無効にしない
socket_typeを= dgram
プロトコル= UDP
はい =を待つ
ユーザ=ルート
sbin / in.tftpdサーバ= の/ usr / sbin / in.tftpdの
home / doug / mini2440 / kernel server_args = - sの /ホーム/ダグ/ mini2440 /カーネル
per_source = 11
CPS = 100 2
フラグ= IPv4の
}

私はその後サービスを開始しました。

init.d / nfs start の/ etc / init.d / nfsを開始

service xinetd start / sbin / serviceが xinetdを開始

私はあなたがすることができると考え、これらを自動化するには:

chkconfigをTFTPで

chkconfigはでxinetdを

chkconfigをNFS上で

次に、その他のubootの環境を編集しました。 操作が終了したら、エントリを変更または追加するコマンドは、setenvを使用してsavenev。 私は、以下のになってしまった。

MINI2440#printenvの
BootDelayは = 3
ボーレート = 115200
: 18 : 12 : 27 ethaddr = 8:08:11:18:12:27
usbtty = cdc_acm
=mini2440-nand:256k @ 0 ( u-boot ) ,128k ( env ) ,5m ( kernel ) ,- ( root ) mtdparts = mtdparts = mini2440 - NAND:256K 128K @ 0(U - boot)で、(ENV)、5M(カーネル)、 - ルート
=0tb mini2440 = mini2440 = 0tb
=ttySAC0, 115200 noinitrd bootargs_base = コンソール = ttySAC0、115200 noinitrd
= / sbin / init bootargs_init = INIT = / sbin / initを
= / dev / mtdblock3 rootfstype =jffs2 root_nand = ルート = / devの/ mtdblock3 rootfstype = JFFS2
= / dev / mmcblk0p2 rootdelay = 2 root_mmc = ルート = / devの/ mmcblk0p2 にrootdelay = 2
mnt / nfs root_nfs = を/ mnt / nfsに
= / dev / nfs rw nfsroot = ${serverip} : ${root_nfs} set_root_nfs =は、setenv root_nfs ルート = / devの/ NFS RW nfsrootを = $ {serveripの}:$ {root_nfs}
ip = ${ipaddr} : ${serverip} :: ${netmask} :mini2440:eth0 ifconfig_static =ランは、setenv ifconfigの IP = $ {IPADDR}:$ {serveripの}::$ {ネットマスク}:mini2440:eth0
ip =dhcp ifconfig_dhcp =ランは、setenv ifconfigの IP = DHCP
=dhcp ifconfigコマンド = IP = DHCP
set_bootargs_mmc =はsetenv bootargs $ {bootargs_base} $ {bootargs_init} $ {mini2440} $ {root_mmc}
set_bootargs_nand =はsetenv bootargs $ {bootargs_base} $ {bootargs_init} $ {mini2440} $ {root_nand}
set_bootargs_nfs =ランset_root_nfs;はsetenv bootargs $ {bootargs_base} $ {bootargs_init} $ {mini2440} $ {root_nfs} $ {ifconfigコマンド}
=mini2440-nand mtdids = nand0 = mini2440 - NAND
=ttySAC0, 115200 noinitrd init = / sbin / init mini2440 =0tb ip =192.168.1.85 root = / dev / nfs rw nfsroot =192.168.1.10: / home / doug / mini2440 / root_fs bootargs = コンソール = ttySAC0、115200 noinitrd にinit = / sbin / initを mini2440 = 0tb IP = 192.168.1.85 ルート = / devの/ NFS RW nfsrootを = 192.168.1.10:/ホーム/ダグ/ mini2440 / root_fs
ブートファイル ="uImage"
ファイルサイズ = 1E9088
fileaddr = 32000000
gatewayip = 192.168.1.100
ネットマスク = 255.255.255.0
IPADDR = 192.168.1.85
serveripの = 192.168.1.10
bootcmd = TFTP; bootm 32000000
パーティション = nand0、0
mtddevnum = 0
mtddevname =のU - Boot

あなたにsetenvを使用すると、=記号を省略しなければならないときに注意してください。 明らかにあなたのネットワークの設定に合わせて、このの一部を変更するとよいでしょう。 ここに私のラップトップはDHCPによってmini2440に192.168.1.85を割り当てている私のpfsenseボックスである192.168.1.10と192.168.1.100です。

システムをブートするときにその他のubootはTFTP経由でカーネルをダウンロードして、NFS共​​有をマウントします。

あなたのネットワーク上でDHCPを使用している場合オングストロームは、自動的にIPを取得する必要があります。 この場合には残りをスキップすることができます!

静的アドレスが必要な場合は、/ etc / network / interfacesを変更することができます。 私は単純にeth0をstaticにdhcpを変更:

静的eth0のinetをIFACE

そしてこの後、システムは正常に起動。 最後に私はシンボリックリンクを/ etc / resolve.confを削除し、それを交換したという注記があります。

ローカルドメイン
ローカル検索
ネームサーバ192.168.1.100

上記のニーズの全体は、ファイアウォールとSELinuxに準拠するようにという警告が表示され、それはそうでなければ動作しません!

私は以下のリンクが参考になったと答えています:

TFTP

NFS

U - bootのNFS / TFTPブート

Tags: , カテゴリー: NFSTFTPその他のubootの タグ:
  1. Anafor
    8時02分時2009年12月31日| #1

    親愛なる皆様、
    私はmin​​i2440用openembedded distrubitionを構築しています。 私がコピーされている
    私のホストPCへmini2440 -ベースimage.tar.gzと私は、クロス用のNFSをarrenged
    建物。 それは[OK]を動作しますが、私はコピーして抽出するとき
    mini2440 -コンソールimage.tar.gz、私のNFSが応答していません。 何かを持っていますか
    私のためのアドバイスは? 私はmin​​icomのコンソールメッセージをコピーし、それを添付。

    また、私はリンクの下のNFS sistemのためのrootfsのを試みたが、それはまだないです
    応答。

    U - Bootの1.3.2 - mini2440(2009年10月6日 - 12時51分09秒)

    I2C:準備
    DRAM:64 MB
    フラッシュ:2 MB
    NAND:チップ0の見つからない不良ブロックのテーブル
    チップ0の見つからない不良ブロックのテーブル
    128 MiBの
    環境がOOBでのオフセットを発見..
    USB:S3C2410 USB Deviced
    の:シリアル
    出力:シリアル
    エラー:シリアル
    MAC:08:08:11:18:12:27
    0:自動ブートを停止するには、任意のキーを押す
    DM9000のI / O:0 × 20000300、ID:0x90000a46
    DM9000:16ビットモードで実行している
    MAC:08:08:11:18:12:27
    サーバ192.168.1.10からTFTP;私たちのIPアドレスは192.168.1.85です。
    ファイル名'uImage.bin"。
    ロードアドレス:0 ×3200万
    ローディング:不正なチェックサム
    不正なチェックサム
    T ################################################# ################
    ################################################## ###############
    #########
    行わ
    バイト= 2031220(1efe74 hex)を譲渡
    ##32000000で、従来のイメージからカーネルを起動...
    画像名:Angstrom/2.6.31 + git/mini2440
    作成:2009-10-30 9時06分09秒UTC
    画像タイプ:ARM Linuxカーネルイメージ(非圧縮)
    データサイズ:2031156バイト= 1.9メガバイト
    ロードアドレス:30008000
    エントリポイント:30008000
    チェックサムの確認... OK
    カーネルイメージを読み込んでいます... OK
    [OK]

    カーネルの起動...

    圧縮解除
    Linuxバージョン2.6.31.1(スヴェン@オフィス)(gccのバージョン4.2.4)第1金曜10月30日午前17時〇四分01秒CST 2009
    CPU:ARM920T [41129200]リビジョン0(ARMV4T)、CR = c0007177
    CPU:VIVTのデータキャッシュ、VIVT命令キャッシュ
    マシン:MINI2440
    メモリポリシー:ECCを無効に、データキャッシュのライトバック
    CPU S3C2440A(ID 0 × 32440001)
    S3C24XXクロック、(C)2004 Simtecエレクトロニクス
    S3C244X:コア405.000 MHzのメモリ101.250 MHzで、末梢50.625 MHzの
    CLOCK:低速モード(1.500 MHz)を、高速で、MPLL、UPLL上で
    ゾーンの順、モビリティグループ化で1 zonelistsを建てた。 総ページ数:16256
    カーネルのコマンドライン:コンソール= ttySAC0、115200 noinitrdにinit = / sbin / initをmini2440 = 0tb IP = 192.168.1.85ルート= / devの/ NFS RW nfsrootを= 192.168.1.10:/ HD
    PIDハッシュテーブルのエントリ数:256(オーダー:8、1024バイト)
    dentryのキャッシュハッシュテーブルのエントリ:8192(順:3、32768バイト)
    iノードキャッシュのハッシュテーブルのエントリ:4096(順:2、16384バイト)
    メモリ:64MB = 64MB合計
    メモリ:60640キロバイト使用可能(3568Kコード、417Kデータ、132K initは、0K highmem)
    SLUB:Genslabs = 11、HWalign = 32、注文= 0-3、MinObjects = 0は、CPU = 1、ノード= 1
    NR_IRQS:85
    IRQ:クリアペンディング状態02000000
    IRQ:クリアsubpendingステータス00000002
    コンソール:カラーダミー装置80 × 30
    コンソールは、[ttySAC0]有効
    キャリブレーション遅延ループ... 201.93 BogoMips値(LPJ = 504832)
    マウント - キャッシュハッシュテーブルのエントリ:512
    CPU:テスト書き込みバッファのコヒーレンシ:OK
    NET:登録プロトコルファミリー16
    MINI2440:オプションの文字列mini2440は= 0tb
    MINI2440:LCD [0:240 X320] 1:800 × 480 2:1024 × 768
    S3C2440:イニシャライズアーキテクチャ
    S3C2440:IRQのサポート
    S3C24XX DMAドライバ、(C)2003-2004,2006 Simtecエレクトロニクス
    c4808000でのDMAチャネル0、IRQ 33
    c4808040、IRQ 34でDMAチャネル1
    c4808080でのDMAチャネル2、IRQ 35
    c48080c0、IRQ 36でDMAチャネル3
    S3C244X:クロックのサポートは、オフDVS
    バイオ:0スラブを作成する
    usbcore:登録新しいインターフェースドライバusbfs
    usbcore:登録新しいインタフェースドライバのハブ
    usbcore:登録新しいデバイスドライバがUSB
    S3C2440 - I2C S3C - I2C:スレーブアドレス0 × 10
    S3C - I2C S3C2440 - I2C:98 kHzに設定されたバスの周波数
    S3C - I2C S3C2440 - I2C:I2C - 0:S3C I2Cアダプタ
    NET:登録プロトコルファミリー2
    IPルートキャッシュのハッシュテーブルのエントリ:1024(順:0、4096バイト)
    (オーダー:2、16384バイト)2048:TCPは、ハッシュテーブルのエントリを設立
    TCPバインドハッシュテーブルのエントリ:2048(順:1、8192バイト)
    TCP:設定されたハッシュテーブル(2048バインド2048設立)
    TCP Renoの登録
    NET:登録プロトコルファミリ1
    JFFS2バージョン2.2。 (NAND)© ​​2001-2006 Red Hat、Inc。の
    ROMFS MTD(C)2007レッドハット株式会社
    MSGMNIは118に設定されています
    ALG:stdrng(krng)に対する試験
    IOスケジューラNOOP​​登録
    IOスケジューラ先行登録(デフォルト)
    登録されたIOスケジューラの締め切り
    IOスケジューラCFQ登録
    コンソール:カラーフレームバッファデバイス60 × 53に切り替え
    FB0:s3c2410fbのフレームバッファデバイス
    S3C2440 - uart.0:ttySAC0 MMIO 0 ×5000万(IRQ = 70)においては、S3C2440です
    S3C2440 - uart.1:ttySAC1 MMIO 0 × 50004000(IRQ = 73)においては、S3C2440です
    S3C2440 - uart.2:ttySAC2 MMIO 0 × 50008000(IRQ = 76)においては、S3C2440です
    BRD:モジュールがロードさ
    at24 0〜0050:1024バイト24c08 EEPROM(書き込み可能)
    DM9000イーサネットドライバ、V1.31
    eth0の:c486e300でdm9000e、c4872304 IRQ 51 MAC:08:08:11:18:12:27(チップ)
    S3C24XX NANDドライバ、(C)2004 Simtecエレクトロニクス
    s3c24xx - NAND S3C2440 - NAND:Tacls = 1、9ns Twrph0 = 3 29ns、Twrph1 = 2 19ns
    s3c24xx - NAND S3C2440 - NAND:NANDソフトECC
    NANDデバイス:メーカーID:0xec、チップID:0xf1(サムスンNAND 128MiB 3,3 V 8ビット)
    "NAND 128MiB 3,3 Vの8ビット"に4 MTDパーティションの作成:
    0 × 000000000000から0 × 000000040000:"U - bootの"
    ftl_cs:FTLのヘッダが見つからない。
    0 × 000000040000から0 × 000000060000:"u - bootの- ENV"
    ftl_cs:FTLのヘッダが見つからない。
    0 × 000000060000から0 × 000000560000:"カーネル"
    ftl_cs:FTLのヘッダが見つからない。
    0 × 000000560000から0 × 000008000000:"ルート"
    ftl_cs:FTLのヘッダが見つからない。
    ohci_hcd:USB 1.1"開く"ホストコントローラ(OHCI)ドライバ
    S3C2410 - OHCI S3C2410 - OHCI:S3C24XX OHCI
    S3C2410 - OHCI S3C2410 - OHCI:新しいUSBバス登録、割り当てられたバス番号1
    S3C2410 - OHCI S3C2410 - OHCI:IRQ 42、IO MEM 0 ×4900万
    USB USB1:構成1の選択肢から選んだ第1位
    ハブ1-0:1.0:USBハブが見つかりました
    ハブ1-0:1.0:検出された2ポート
    usbcore:登録新しいインターフェースドライバlibusual
    S3C2440 - usbgadget S3C2440 - usbgadget:S3C2440:128バイトのFIFOを増やす
    マウス:全てのマウス用の一般的なPS / 2マウスデバイス
    入力:GPIO -キーとして/ devices/platform/gpio-keys/input/input0
    S3C2440 - TS S3C2440 - TS:スタート
    作成したグループTSフィルタのlen 12、深さ2近い10脱穀6
    作成された中央値、TSフィルタのlen 20深さ2 12月24日
    平均TSフィルタlenは4深さ2スレッショルド65535を作成
    作成されたリニアTSフィルタの深さ2
    S3C2440 - TS S3C2440 - TS:4フィルタ(秒)初期化
    S3C2440 - TS S3C2440 - TS:正常にロード
    入力:S3C2410タッチスクリーンとして/ devices/virtual/input/input1
    S3C24XX RTC、(C)2004,2006 Simtecエレクトロニクス
    S3C2410 - RTC S3C2410 - RTC:RTCは、再有効化、無効化
    S3C2410 - RTC S3C2410 - RTC:リアルタイムクロックコア:rtc0として登録S3C
    devの/ I2Cのエントリのドライバ
    S3C2410ウォッチドッグタイマ、(C)2004 Simtecエレクトロニクス
    S3C2410 - WDT S3C2410 - WDT:ウォッチドッグ非アクティブ、無効になってリセット、IRQが有効になって
    cpuidle:知事のはしごを使用して
    sdhci:セキュアデジタルホストコントローラインタフェースのドライバ
    sdhci:著作権(C)ピエールOssman
    マップされたチャネル0から0
    S3C2440 - SDI S3C2440 - SDI:パワーダウン。
    S3C2440 - SDI S3C2440 - SDI:初期化が完了。
    登録されたLEDデバイス:LED1
    登録されたLEDデバイス:LED2
    登録されたLEDデバイス:LED3
    登録されたLEDデバイス:LED4
    登録されたLEDデバイス:バックライト
    usbcore:登録新しいインターフェースドライバhiddev
    usbcore:登録新しいインターフェースドライバusbhid
    usbhid:V2.6:USB HIDコアドライバ
    高度なLinuxサウンドアーキテクチャドライバのバージョン1.0.20。
    DAI UDA134Xのためのデバイスがありません
    DAI s3c24xx - I2Sのためのデバイスがありません
    S3C24XX_UDA134X SoCのオーディオドライバ
    UDA134X SoCのオーディオコーデック
    ASOC:OK UDA134X s3c24xx - I2Sのマッピング
    ALSAのデバイスのリスト:
    #0:S3C24XX_UDA134X(UDA134X)
    TCP立方登録
    NET:登録プロトコルファミリー17
    RPC:登録されたUDPトランスポートモジュール。
    RPC:登録されたTCPトランスポートモジュール。
    S3C2410 - RTC S3C2410 - RTC:2009-12-19午後12時36分25秒UTCに設定するシステムクロック(1261182985)
    はeth0:ダウンリンク
    IP - CONFIG:ネットマスク255.255.255.0を推測
    IP - CONFIG:完全:
    デバイス= eth0を、ADDR = 192.168.1.85、マスク= 255.255.255.0、GW = 255.255.255.255、
    ホスト= 192.168.1.85、ドメイン=、NISドメイン=(なし)、
    ブートサーバ= 255.255.255.255、rootserverの= 192.168.1.10、rootpathは=
    192.168.1.10にRPC 2分の100003のポートを探して
    はeth0:リンクアップ、100Mbpsの、全二重、LPA 0xCDE1
    192.168.1.10にRPC 1分の100005のポートを探して
    VFS:デバイス0:14上にマウントされたルート(NFSファイルシステム)。
    initはメモリの解放:132K
    INIT:バージョン2.86の起動
    しばらくお待ちください。ブート...
    開始udevの
    devのキャッシュの移入
    ルートファイルシステムを再マウント...
    未知のHZの値! (90)100を仮定します。
    ALSA:ミキサーの設定を復元...
    ネットワークインターフェイスを設定する...いいえ状態では、カードS3C24XXUDA134Xために存在していません
    / usr / sbinに/ alsactl:解析:1639:ファイル"/ usr/share/alsa/init/00main'を開けません:そのようなファイルやディレクトリはありません
    ない状態では、カードS3C24XXUDA134Xために存在していません
    NFS:サーバ192.168.1.10はまだ試みて、応答していない

  2. jmboy
    08:49 2010年5月27日| #2

    こんにちは皆、

    私は、NFSでopenembedded使用して正確に同じ動作を持っている

    私はメッセージの後にイーサネットインターフェイスと障害が発生したNFSのリンクを再構成しようとするopenembedded"いいえ状態がカードS3C24XXUDA134Xがために存在していない"と仮定しますが、私はこれを避けるために何をすべきかわからない。
    誰もが解決策を発見した?
    私を助けてくれてありがとう
    jmboy

  3. 13:57 2010年8月8日| #3

    ハイ
    私は同じ問題を抱えていた、ネットワークが再設定されましたとNFSの接続が失われました。
    私はここに投稿するソリューションのURLを見つけることができませんでしたが、私はまだ私のrootfsの上のファイルを変更している。
    あなたのrootfsの上にファイル/ etc / init.d /ネットワーキングを編集
    このような行を見つけます:
    エコー- n"はネットワークインターフェースの設定..."
    ifupを、
    エコーは、"行って。"
    そしてこのような何かを持っている二行目をコメントアウトします。
    エコー- n"はネットワークインターフェースの設定..."
    #ifupを、
    エコーは、"行って。"
    NFS経由でこのrootfsの後には何の問題もありません。 少なくとも私にとっては。
    これは醜い回避策のように見えますが、それはあなたを助けることを望む。

  4. 14:18 2010年8月8日| #4

    こんにちは、ええ、私はこの問題に出会った時、私は固定IPアドレスに変更。 私はほとんど同じ方法で構成された異なるネットワーク上に同じことを、しようとしたときに、奇妙なことがあった、私は何も変更する必要はありませんでした。 私は、違いが何であったかを考え出したことはない。 ポストIrakliてくれてありがとう。

  1. トラックバックはまだありません。