}ページHome2012-03-31最近読んだ本Tweet最近の興味の方向性ってなんだろうと思ってAmazonで技術書の購入履歴を抜き出してみた。alPostgreSQLが出てきたあたりからおかしくなってきたことが読み取れる...。一部読んでないものがあるけど(レガシーコード~読み忘れてた)、だいたいよかったので、読みたい方向性のものがあればおすすめ。/dev/sdb以下のように作った。/dev/sdb4どうやらSDカードではext4が速いらしいので、/boot以外に採用。ジャーナルなしが速いらしいので、ジャーナルは無効化する。電源断に備えても、書き込みが増えて壊れては意味が無いしね。/bootはU-Bootが読めなかったら困るので、ext3のままにしておく。extra_isizehas_journalがなくなっていることを確認。debootstrapdebootstrapで初期環境を作る。--second-stageに分割する必要はない。linux~~~てな感じ。おまじない/etcにあまり書かないようにする。etc/mtab作っているホストのNIC情報でeth0が固定されてしまうっぽいので、消しておく。/etc/udev/rules.d/70-persistent-net.rulesあまり書かないように設定。ブートイメージの作成chrootの流れで。リブート終わったらいよいよSDカードを差してリブート。U-Bootのカウントダウンで止める。U-Boot環境変数設定printenvして、期待する値になっていなかったら、以下のようにセットしてしまう。saveenv終わったらbootする。031100592012dateコマンドでセットするときはmmddHHMMyyyyなんだよね。あとはいつもの感じで設定。tzdata→Tokyoあとはお好みでsudoを入れたり、openssh-serverを入れたりすれば使えるようになる。conv=sync,noerrorこれだと進行状況が見えないが、LinuxのddはSIGUSR1をぶつければ終了時に出てくるアレが表示される。whileで送り続ければ、一定間隔で状態を表示できる。MB/s・・・(以下最後まで)だめだー。Linuxよく知らないARMデバイスのU-Boot環境変数を読むTweetU-Bootはブートローダ。x86では似たようなことを違うUIでBIOSが担うのであまりピンとこないが、SPARCを使ったことある人なら、OpenBootのプロンプトを思い浮かべてもらえばピンとくると思う。U-Bootの設定情報を維持している、U-Bootの環境変数を見るには、U-Bootを実行している間にprintenvすれば表示できるのだが、シリアルにアクセスできないデバイスを持っている人もいるはず。そこで、ここではOS(Linux)上から見る方法を取り上げる。【正攻法】fw_printenvというコマンドがあるので、これを使う。設定どこからか機器依存なデバイス情報を拾ってきて、/etc/fw_env.configに書く。0x20000ちなみに0xa0000でない場合もあるらしい。fw_printenvCASset=minMALLOC_len=1autoload=nobaudrate=115200~~~簡単。【邪道な方法】アドレス情報がわからなかったり、ソフトをインストールできないデバイスを持っている人もいると思う。いう場合でも、読むだけならできる。/dev/mtdblock1mtd0~mtd2があるようなので、mtd0でチャレンジ。s」など、環境変数に設定されていそうな値を適当に入力して、値が入っている場所を探し出す。終わりは\0が続いているだけなので簡単。\0区切りで分割する見ての通り、\0で区切られてASCII文字が格納されているだけなので、開始アドレス~終了アドレスのデータを取り出して、\0で分割して出力してあげれば終わり。mtd0.binCASset=minMALLOC_len=1autoload=nobaudrate=115200bootargs=console=ttyS~~~CRCがあるようなので、間違っても書こうとはしないこと。HDDのパーティションを切るTweet切ってしまったあとに、こういうことを気にしないといけないと気づいたが、partedがどうもよろしくやってくれたらしい。