Linux で ARM 開発ボード用のファイルシステムを作成する

Linux で ARM 開発ボード用のファイルシステムを作成する

1. Busyboxのソースコードをオンラインでダウンロードしてください。コンパイル方法については、Baiduを参照してください。

2. まずクロスコンパイルツールチェーンを設定してください。

上記 1 と 2 に問題がなければ、次のスクリプトを使用して ARM 開発ボード用のファイルシステムを作成できます。

カスタマイズして独自のテスト デモを追加できます。

#!/bin/bash
#yuanxin.yang 開発 2015-07-05
#ファイルシステムとBusyboxのパス ====>自分でカスタマイズできます FILESYSTEM=/Softwave/filesystem #作成したファイルシステムの場所を定義します BUSYBOX=/Softwave/arm/busybox-1.17.2 #Busyboxソフトウェアの場所 LIBS=/usr/local/arm/4.5.1/arm-none-linux-gnueabi #クロスコンパイル関連のライブラリファイルの場所 #ファイルが存在するかどうかを判断し、存在する場合は削除します if [ -d $FILESYSTEM ]
それから
  rm -rf $FILESYSTEM &>/dev/null
  mkdir $FILESYSTEM &>/dev/null 
それ以外
  mkdir $FILESYSTEM &>/dev/null 
フィ
#busybox関連ファイルをコピーします if ! cp -rf $BUSYBOX/_install/* $FILESYSTEM &>/dev/null
それから
  echo "cp busybox が失敗しました..."
  出口1
フィ
#ライブラリをコピーif !cp -rf $LIBS/lib/ $FILESYSTEM/ &>/dev/null
それから
  echo "コピーライブラリは公平です...."
  出口1
フィ
#コピーなど
if ! cp -rf $BUSYBOX/examples/bootflpy/etc $FILESYSTEM &>/dev/null
それから
  echo "コピーなど公平です..."
  出口1
フィ
#Linux関連のディレクトリを作成する cd $FILESYSTEM &>/dev/null
mkdir boot mnt root sys var net proc tmp dev home opt &>/dev/null
#設定ファイルを変更する echo > $FILESYSTEM/etc/fstab 
#etc/profile ファイルを変更する echo "# /etc/profile: Bourne シェルのシステム全体の .profile ファイル" > $FILESYSTEM/etc/profile
echo "echo \"============================\"" >> $FILESYSTEM/etc/profile
echo "echo \"Linux システムへようこそ\"" >> $FILESYSTEM/etc/profile
echo "echo \"============================\"" >> $FILESYSTEM/etc/profile
echo "export PS1=\"[jiaobenzhijia@Linux \W] # \"" >> $FILESYSTEM/etc/profile
#etc/init.d/rcS を変更する
echo "#!/bin/sh" > $FILESYSTEM/etc/init.d/rcS
echo "/bin/mount -n -t proc none /proc" >> $FILESYSTEM/etc/init.d/rcS 
echo "/bin/mount -n -t sysfs none /sys " >> $FILESYSTEM/etc/init.d/rcS 
echo "/bin/mount -t ramfs none /dev " >> $FILESYSTEM/etc/init.d/rcS 
echo "/bin/mount -n -t ramfs none /tmp " >> $FILESYSTEM/etc/init.d/rcS 
echo "/sbin/mdev -s" >> $FILESYSTEM/etc/init.d/rcS  
#NFS サービスを設定する if ! grep "$FILESYSTEM" /etc/exports &>/dev/null
それから
  echo "/filesystem *(rw,sync,no_root_squash)" >> /etc/exports
フィ
#iptablesサービスを開始する -F &>/dev/null
サービスrpcbindを再起動 
サービスNFSの再起動 
echo "ファイルシステムを正常に作成しました....."
終了 0

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • Linux システムの /etc/fstab ファイルの詳細な解釈
  • paramiko を使用した Linux サーバー上の Python リモート ファイル ダウンロードの例
  • PythonはLinuxサーバー上のファイルを読み取る
  • Linux カーネル デバイス ドライバー仮想ファイル システムに関する注意事項
  • Linux カーネル デバイス ドライバー proc ファイル システム ノート
  • Linuxシェルはファイルを検索し、行番号と対応する間隔を表示します。
  • ファイルの列をコンマで区切る Linux awk の例
  • Linux コマンドラインのクイックヒント: ファイルの検索方法
  • 知らないかもしれないLinuxのファイル権限管理方法
  • Linux で指定されたフォルダの各サブフォルダ内のファイル数を表示する

<<:  Vue.js と MJML でレスポンシブなメールを作成する

>>:  MySQL SQL ステートメントのパフォーマンス チューニングの簡単な例

推薦する

読み取り専用と無効の違い

要約すると: Readonly は入力 (テキスト/パスワード) とテキスト領域に対してのみ有効です...

WeChatアプレットは画像コントロールを選択します

この記事の例では、WeChatアプレットで画像コントロールを選択するための具体的なコードを参考までに...

MySQL 8.0.13 のインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 8.0.13のインストールと設定のチュートリアルを参考までに紹介します。具...

SpringBootはActiviti7実装コードを統合する

Activiti7 の正式リリース以降、SpringBoot2.x との統合開発を全面的にサポートし...

vue3.0プロジェクトアーキテクチャを段階的に構築する方法を教えます

目次序文: 1. vue-cliでプロジェクトを作成する2. ルーターをインストールする3. ディレ...

mysql5.7.20 での最初のログイン失敗に対する簡単な解決策

まず、 (1)MySQL 5.7にはデフォルトのパスワードがあるデフォルトのパスワードを見つける g...

CSS フレキシブルレイアウト FLEX、メディアクエリ、モバイルクリックイベントの実装

フレックスレイアウト定義: Flexレイアウトの要素は、 Flex 、または略して「コンテナー」と呼...

MySQL MHA 操作ステータス監視の概要

目次1. プロジェクトの説明1.1 背景1.2 実装設計1.2.1 従来の方法1.2.2 最適化され...

LinuxにComposerをインストールする方法

1. インストールスクリプト(composer-setup.php)を現在のディレクトリにダウンロー...

MySQL で JSON 形式のフィールドをクエリする詳細な説明

作業開発プロセス中に、顧客の名前、携帯電話番号、ID カード、およびドキュメントの種類を動的に保存す...

Javascript フロントエンド最適化コード

目次if判定の最適化1. 最も簡単な方法:判断2. より良い方法: スイッチ3. より良いアプローチ...

jsは配列の平坦化を実装します

目次配列をフラット化する方法1.flat() の使用2. 正規表現を使用する3.reduce()+c...

一般的な XHTML タグの使用方法の紹介

XHTML には多くのタグがありますが、頻繁に使用されるのはごくわずかであり、習得する必要があるのは...

MySQL 8.0.26 のインストールとアンインストールの完全なステップバイステップの記録

目次序文1. インストール1.公式サイトからダウンロード2. 構成を作成する3. MySQLを初期化...