組込みLinux開発——注(1)——組込み開発環境の構築

この一連のブログは「Embedded Linux Development Process」に文書化されています。穴を踏んで情報を調べた、内容はopenv.comのチュートリアルを参照しています。

まず、手元にあるコンピューターの数を把握する必要があります。

1. 開発用コンピューター - 私のは Windows 11 を搭載したラップトップです
2. サーバー コンピューター - ここでは、作業用サーバー コンピューターをシミュレートするために Ubuntu Linux 18.04 LTS が使用されています
3. 開発ボード - ARM Cortex A7 タブレット コンピューターでの開発

1. Linux 上で FTP サーバーを構成する (開発用コンピューター - サーバー間通信)

Linux と開発者のマシンの間 (私のマシンは Windows 11)多くの場合、ファイルの配信が必要になりますただし、一般に仮想マシン ソフトウェアにはオプションがあります。ローカル マシンと仮想マシンの間でファイルを直接コピーする, しかし、そのような操作は標準化されていないため、Linuxサーバー上にFTPサーバーをセットアップし、次のようなFTPクライアントソフトウェアをインストールするのが標準的な操作です。ファイルジラFTP転送など。

まず Linux にインストールする必要がありますFTPサーバー, Ubuntu上で以下のコマンドを実行してインストールします。vsftpd

sudo apt-get install vsftpd

vsftpdはVery Secure FTP Daemon の略称。UNIX システム上で動作する FTP サーバーです。, Linux に vsftpd をインストールした後、FileZilla などの FTP クライアントを使用して接続できます。vsftpd のインストールが完了したら、その構成ファイルにいくつかの変更を加える必要があります。vsftpdの設定ファイルをroot権限で開きます。

sudo vim /etc/vsftpd.conf

次に、次の 2 行、最初の行のコメントを解除します。ローカル ユーザー ログインを開く、2行目は任意の FTP コマンド ラインの入力を有効にしますを保存して終了します。
ここに画像の説明を挿入
上記の変更を有効にするには、FTP サーバー サービスを再起動します。

# 重启FTP服务器以使配置文件改动生效
sudo /etc/init.d/vsftpd restart
# 检查一下当前是否已经启动成功,当前运行进程中出现vsftpd表示已经成功运行(如下所示)
> ps -e | grep vsftpd
> 773 ? 00:00:00 vsftpd

次に、ifconfig などのツールを使用します。Linux サーバーのアドレスを表示する, このマシンで FileZilla ツールを使用して、FTP クライアントとしてログインします。FileZilla の使用方法は非常に簡単です。このトピックに関するチュートリアルはインターネット上に多数あるため、ここでは繰り返しません。
ここに画像の説明を挿入
これは、ifconfig を使い始めたときに示したビネットですIPアドレスは10.0.2.15ですLinux 上で FileZilla を使用してこのアドレスに接続すると、成功しません (また ping も実行できません)。これは、仮想マシンのネットワーク カードが原因です。接続方法の設定が間違っている, 私が使用している仮想マシンは VirtualBox 配下にあります。このとき、仮想マシンのネットワーク接続方法を から変更する必要があります。ネットワークアドレス変換(NAT) に調整ブリッジネットワークカードを設定した後、仮想マシンに割り当てられます。LANのIPアドレスを設定すると、FTP クライアントが仮想マシンに接続できるようになります。
ここに画像の説明を挿入
これらの設定を完了した後、次の設定も行う必要があります。無差別モードのオプションは、すべてを許可するように設定されています。、そして意志ネットワークケーブルを確認してくださいそうしないと、仮想マシンがインターネットに接続できない可能性があります。
ここに画像の説明を挿入

2. Linux 上で NFS サーバーを構成する (開発ボード - サーバー通信)

NFSとはNetwork File System(ネットワークファイルシステム)の略称で、分散ファイルシステム、クライアントがアクセスできるサポートローカルストレージなどのサーバーファイルにアクセス、このプロセスは次のものに依存しますリモートプロシージャコールサーバーを完成させる (リモート プロシージャ コール、RPC) サービスクライアントポートのマッピングと識別したがって、NFS をインストールするときは、最初に RPC サービスをインストールする必要があります。NFS サービスのインストールは、後で完了するための便宜のためです。LinuxサーバーとARM開発ボード間のファイルの相互転送

NFS サービスをインストールするコマンド ラインは次のとおりです。NFS サーバーと RPC サービスの両方がインストールされている

sudo apt-get install nfs-kernel-server rpcbind

インストールが完了したら、いくつかの構成を完了する必要があります。
Linux サーバーの場合NFSプロキシフォルダーを作成する、NFS 構成ファイル内のプロキシ フォルダーを完成させます。マウントとアクセス許可の設定、開発ボードが NFS サービスを使用してサーバーに接続すると、ローカルストレージのようなプロキシフォルダーにアクセス

# 在根目录下创建一个文件夹,这就是nfs在本地的代理文件夹
sudo mkdir -p nfs

プロキシ フォルダーを作成したら、次のことが必要です。設定ファイル外部のプロキシ フォルダーへのアクセス許可を制限するには、次の手順を実行します。

# 打开nfs配置文件
sudo vim /etc/exports
# 输入以下配置命令来约束代理文件夹的访问控制权限,各个权限字之间绝对不可以有空格
<your nfs file path> *(rw,sync,no_root_squash,no_subtree_check)

設定ファイル設定のスクリーンショットを以下に示します, ファイルの冒頭に書いたように、このファイルはアクセス制御のリスト(アクセス制御リスト)として使用され、エクスポートすることができます設定ファイルのオプションの詳細な意味については、関連するマニュアルを参照してください。

# 查看每一个关键字的详细含义
man 5 exports

設定コマンドの意味を詳しく解説したブログがこちらにあり、とてもわかりやすく書かれており、参考にして理解することができます。

# *表示任何IP地址和域名均可访问此代理文件夹
# 括号内标志均为权限,它们中间绝对不可以有空格存在
*(rw,sync,no_root_squash,no_subtree_check)

:

存在する上記の構成をすべて完了しますその後、次のことができます。NFSサービスを再起動しますすべての変更を有効にすると、正常に開始できます。これは、サービス設定が正常であることを意味します。

# 重新启动NFS服务
sudo /etc/init.d/nfs-kernel-server restart

3. Linux 上で SSH サーバーを構成する (開発コンピューター - サーバー通信)

この手順は Linux サーバー上で行われます (ここでは代わりに仮想マシンが使用されます)。SSHサーバーをインストールしてSSHサービスを開始する、将来コンピュータが開発できるようにLinuxサーバーにリモート接続するコンピュータ上でサーバーの制御を完了します。SSH クライアント プログラムを開発用コンピュータにインストールする必要があります。ここでは、MobaXTerm を推奨する, 他にXShellやPuttyという選択肢もありますが、MobaXTermほど使いやすいものではないと思います。

まず、OpenSSH サーバーを仮想マシンにインストールします。通常は、デフォルト設定で問題ありません

sudo apt install openssh-server

4. Linux サーバーに x86-ARM クロス コンパイラーをインストールします。

ここでインストールされているクロス コンパイラは Linaro gcc です。オープンソースのクロスコンパイラで実行されますx86 アーキテクチャ上の Linux、できるARM 命令セットのコンパイルを完了するここをクリックして、punctual atom のチュートリアルに従って、Linaro gcc コンパイラの 4.9.2 バージョンをダウンロードします。リンクについては、ここをクリックしてください

ここに画像の説明を挿入次に、このクロス コンパイラーをダウンロードします。FileZilla が Ubuntu 仮想マシンに配信される
ここに画像の説明を挿入
それではこれでクロスコンパイラを解凍してインストールします

# 解压缩交叉编译器
sudo tar -xvf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz

解凍が完了すると、次のようになります。コンパイラ実行可能ファイル、ターミナルを起動するたびにコンパイラを直接使用するには、ここにコンパイラを置くことができます保存場所は環境変数にインポートされます、 保存して終了:

# 打开环境变量文件,这个文件在每次启动终端时都会自动加载
sudo vim /etc/profile
# 在文件的最后一行将交叉编译器的bin目录绝对路径导入环境变量中
export PATH=$PATH:/home/zheyuan/tools/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin

スクリーンショットは次のとおりです。
ここに画像の説明を挿入
上記の設定を完了すると、次のことが可能になります。端末を再起動します, この時点で設定した環境変数が有効になっているはずです。
それなら必要ですクロスコンパイラーが依存する必要がある追加ツールをいくつかインストールします

# 安装交叉编译器依赖的工具,好像是一些GNU编译器需要的运行时库
sudo apt install lsb-core lib32stdc++6

この時点で、クロス コンパイラがインストールされます。バージョン番号をチェックして、インストールが成功したことを確認します。

# 查看交叉编译器的版本信息,正常显示说明已经配置成功
arm-linux-gnueabihf-gcc -v

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/zzy980511/article/details/128491268