今回はラズパイに開発に必要なCコンパイラ(gcc)をインストールします。
まずは、ラズパイにログインします。
$ ssh pi@192.168.0.13
pi@192.168.0.13's password:
Linux raspberrypi 6.6.20+rpt-rpi-v6 #1 Raspbian 1:6.6.20-1+rpt1 (2024-03-07) armv6l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Jul 21 10:38:03 2024 from 192.168.0.28
SSH is enabled and the default password for the 'pi' user has not been changed.
This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.
ログインするとプロンプトが変わるので、プロンプトで確認すれば十分ですが、下記のコマンドを入力するとARMのマシンにログインしていることが確認できます。
pi@raspberrypi:~ $ uname -m
armv6l
ちなみに、armvl6はラズパイシリーズのインストールしたOSイメージによって異なる点に注意してください。
なお、開発用PCにはubuntuを導入しましたが、同じようにコマンドを入力すると
$ uname -m
x86_64
と表示されます。
debian系で開発をする人たちはgccなどをチマチマとインストールすることはしません。(私目線ですがw)
build-essential は、開発に必要なのビルドツール群を提供しているパッケージでaptコマンドを使用して簡単に導入できます。
$ sudo apt install build-essential
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
build-essential is already the newest version (12.9).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
というように、今回インストールしたRaspberry Pi OSでは、すでにインストール済みであるとのメッセージが出力されました。
まぁそれだけ便利ということで
C言語といえば定番の「hello World!」を出力してみましょう。
pi@raspberrypi:~ $ nano test.c
エディタは好みのものを使用してください。CUIで操作するので慣れが必要ですので頑張ってみましょう。
メジャーなエディタは「vi」や「Emacs」ですが、Debianでは「nano」と呼ばれるエディタが標準でインストールされており、個人的には「nano」推しですw。
ソースコードのファイル名は「test.c」とします。エディタを起動し下記を入力します。
#include <stdio.h>
int main(void)
{
printf("Hello World!\n");
return 0;
}
コンパイルを行います。
pi@raspberrypi:~ $ gcc test.c
コンパイルした結果は、指定しなければ「a.out」というファイル名になります。
それでは、実行してみましょう。
pi@raspberrypi:~ $ ./a.out
Hello World!
無事に出力できたでしょうか?
また、コンパイルして出来たファイル形式を確認しておきましょう。
ファイル形式を確認するには「file」コマンドを使用します。
pi@raspberrypi:~ $ file a.out
a.out: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, BuildID[sha1]=1ca586791fff9677b5657b809a93556d10794b54, for GNU/Linux 3.2.0, not stripped
出力したファイル形式はちゃんと「ARM」となっていますか?
間違って開発用PCで作成しないように注意してください。
ここまでで、アプリケーションの追加は完了です。
次回からはBuildrootの導入を行うのですが、ここまで作成したSDイメージを保存しておきたいので、もう一枚SDカードを用意してお待ちください。