ご存知のとおり、Linux 環境ではすべてがファイルであり、ファイルはすべてを表すことができます。ファイル システムは、これらの共通コンポーネントの集合です。組み込み分野では、ファイルシステムの構築にbusyboxをベースに構築されたrootfsがよく使われます。
busybox は 20 年近く前から存在しており、現在では組み込み業界で主流の rootfs 構築ツールとなっています。
busybox のコードは完全にオープンソースです。公式 Web サイトに入り、「Get BusyBox」の下の「Download Source」をクリックして、ソースコードのダウンロードインターフェイスに入ることができます。
#2.busybox の設定とコンパイル#「」
公式ウェブサイトのリンク:https://busybox.net/
」
\1. コンパイル ツール チェーンの設定
\2.コンパイルモードの設定
\3. ファイルシステムがサポートする機能
最初の 2 つの項目は完了する必要がありますが、3 番目の点はユーザー自身のニーズに応じて策定されます。
make menuconfig を実行して、設定インターフェイスに入ります。
設定されたクロスコンパイル ツール チェーンは、カーネル コンパイルに使用されるツール チェーンと同じである必要があります。たとえば、クロスコンパイル ツール チェーンが arm-linux-gnueabi- に設定されている場合は、設定するビルド オプションを入力します。それ。
もちろん、ルート ディレクトリに Makefile ファイルを入力して、対応するクロスコンパイル ツール チェーンとプラットフォーム情報を変更することもできます。
コンパイルモード設定
コンパイルされたイメージ ファイルが静的か動的かを設定します。動的にコンパイルされる場合は、クロスコンパイル ツール チェーンの下の lib ライブラリを最終的な _install フォルダーに手動でコピーする必要があります (逆も同様)。静的コンパイルの構成は以下の通りですが、括弧内のプロンプトには共有ライブラリが含まれていないことがわかります。このオプションが有効になっていない場合、コンパイル方法は動的になります。
**rootfs でサポートされている関数を設定します
**
busybox は、何百ものコマンド ラインとその他の機能をサポートしており、必要に応じて増減できます。たとえば、devmem コマンド ラインを追加する場合は、対応する有効化ボックスをオンにします。
############コンパイル######make と make install を実行すると、コンパイル パスに _install フォルダーが生成され、bin、sbin、usr などのファイルが含まれます。追加したばかりの devmem コマンドを確認し、コンパイルされていることを確認します。
このとき、busybox 配下にコンパイルされた _install を rootfs の基本フレームワークとしてコピーし、その他必要なコンポーネントを追加します。3. rootfs のビルド
_install の下にあるすべてのファイルをコピーして lib フォルダーと etc フォルダーを作成し、クロスコンパイル ツール チェーン arm-linux-gnueabi の下にある lib ライブラリを作成した lib フォルダーにコピーします。
次に、home、opt、run、sys、var、boot、dev、media、proc、tmp、usr
を作成します。etc ディレクトリの構成
rcS ファイルを作成する前に、etc ディレクトリに init.d フォルダーを手動で作成し、その init.d フォルダーに rcS を作成する必要があります。
この時点で、次のコマンドを実行して、軽量の rootfs をパッケージ化して生成します。
リーリーmfgtools を使用して圧縮された rootfs.tar.bz2 を mmc にダウンロードし、システムを再起動すると、作成されたルート ファイル システムが正常に動作し、前に追加した devmem コマンドも正常に実行できることがわかります。
以上がLinux rootfs を構築する方法を段階的に説明します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。