玄箱Pro、直します。

超初心者が、玄箱PROでLinuxを勉強する無謀なブログです。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
別窓 | スポンサー広告
∧top | under∨

1ヶ月目の日記

Linuxを初めて触って約1か月が経ちました。
今現在の理解度を後日懐かしむために(笑)、種々の項目の説明を書いておきます。
もちろん、私が「理解できたつもり」なだけなのでアテにはしないでください。
あくまでもあとで読んで懐かしむためだけの記事です・・。

chroot
基本的なrootファイルが存在する親ディレクトリにchrootすると、そこを仮想上の/とみなし動作する。
たとえばLinuxが入ったHDDを別のパソコンに接続しHDDにchrootすることでHDD上のLinux環境で作業できる。
逆に、フラッシュブート玄箱PROに、HDDブートを見越して接続したHDDのdebootstrapで作成したDebian環境にchrootして設定を整えることができるし、擬似的にDebianを起動することができる。
そのための機能。

debootstrap
Linuxに必要なカーネル、ブートローダー以外の最小構成を作成してくれる便利な機能。
オプションで渡したURLから必要なものを取ってくるため、wgetを事前に準備しなければならない。
また、debootstrap自体を導入する際にarコマンドを必要とするため、binutilsも準備する必要がある。

make
コンパイラとリンカーの両方の役目を担う。Makefileに記述された内容に従いgccを利用してオブジェクトファイルの作成まで行う。
Makefileは、各ソフトが用意したconfigureスクリプトが自らの環境に適したものを自動で作成する。また手動で編集することもできる。
gccで一つ一つコンパイル・リンクをしても構わないが現実に無理がある。

mtdblock
ブロック・デバイスの一種。/dev/mtdblock2にrootfsがある。それをjffsで/mnt/mtd2にマウントした、というだけのコトかな。つまり、/dev/mtd2にrootfsがあるわけではない。
もしこれが正解なら、何にも増して基本的なことを1か月も理解できなかったことになる(笑)。
そうであればbootargs_rootに/dev/mtd2を渡したところでkernel panicになって当然。
/mntがただのマウントポイント(架空の概念)だということが理解できるまでに相当の時間を使ったのか・・。

セルフコンパイル
別の環境で玄箱PROの環境を構築することが「クロスコンパイル」。玄箱PRO自身で環境を構築することが「セルフコンパイル」。
玄箱PROのCPUはARMという非インテル系を採用しているため、インテルCPU上で作った環境をそのままでは玄箱PROで動かせない。ARM用のカーネルをビルドしたHDDの環境を整えて玄箱PROでブートさせればこれでクロスコンパイルができたことになる。
この、「クロスコンパイル」は比較的理解しやすいけど、自分自身が起動した状態で、どうして自分の環境を変えることができるのかが不思議。


また1か月経った頃に書いてみようかな。
スポンサーサイト
別窓 | 日記のようなもの | コメント:0 | トラックバック:0
∧top | under∨
<<ビルド練習で四苦八苦(3)~tar編2~ | 玄箱Pro、直します。 | ビルド練習で四苦八苦(2)~tar編~>>

この記事のコメント

∧top | under∨

コメントの投稿

 

管理者だけに閲覧
 

この記事のトラックバック

トラックバックURL

FC2ブログユーザー専用トラックバックURLはこちら
∧top | under∨
| 玄箱Pro、直します。 |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。