ラベル Linux の投稿を表示しています。 すべての投稿を表示
ラベル Linux の投稿を表示しています。 すべての投稿を表示

2024年3月3日日曜日

「pcDuino3」でYocto Project その8

前回からの続きです。

このテーマを最初からご覧になる場合はこちらからどうぞ。


実用的なディストリビューションの作成

前回までで「pcDuino3」で動くディストリビューションを作成することができるようになりました。

「pcDuino3」


しかし、このディストリビューションは「Yocto Project」で最初から用意されているディストリビューション・タイプの中でも「core-image-minimal」という最小限のもの。

クックック…、ヤツは我らYoctoディストリビューションの中でも最弱…。

そのままでは、実用性がありません。

そこで今回は、この「core-image-minimal」をベースに代表的なJavaScriptの実行環境の一つ「Node.js」を使えるように改造したいと思います。

「Node.js」で何か凝ったものを開発しようと思えば、JavaScriptのパッケージ管理ツールの「NPM」も必要です。

また、ソースコードを管理するためには「Git」コマンドも使いたいものですよね。

さらには「core-image-minimal」にはロクなGUIを積んでいませんので「pcDuino3」側でコーディング作業を行うのは困難です。

ですので、パソコン側から「pcDuino3」を操作したいので「OpenSSH」というプロトコルも載せちゃいましょう。

この「OpenSSH」を「pcDuino3」に積んでおけば、パソコン側で「VisualStudio Code」などのリッチなIDE(統合開発環境)を使って「Node.js」による開発を行えるようになりますよ。

というわけで、現在の「core-image-minimal」に加えるパッケージは、以下の4つとなります。


◯nodejs

◯nodejs-npm

◯openssh

◯git


問題は、これらをどうやってディストリビューションに組み込むか、ということですが…。

それには、前回「pcDuino3」用のディストリビューションを作るために、ほんのチョットだけ修正した「local.conf」ファイルを編集することによって行います。

「local.conf」ファイルの開き方は、前回の記事を参考にしてください。

以下のように「local.conf」の末尾に呪文を追記しましょう。

  1. #
  2. # Memory Resident Bitbake
  3. #
  4. # Bitbake's server component can stay in memory after the UI for the current command
  5. # has completed. This means subsequent commands can run faster since there is no need
  6. # for bitbake to reload cache files and so on. Number is in seconds, after which the
  7. # server will shut down.
  8. #
  9. #BB_SERVER_TIMEOUT = "60"
  10. # CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
  11. # track the version of this file when it was generated. This can safely be ignored if
  12. # this doesn't mean anything to you.
  13. CONF_VERSION = "2"
  14. # ↓以下を追記↓
  15. #
  16. # for pcDuino3
  17. #
  18. CORE_IMAGE_EXTRA_INSTALL += "nodejs nodejs-npm openssh git"


この呪文の意味、なんとなく分かりますよね?

CORE_IMAGE_EXTRA_INSTALL」という変数にインストールしたいソフトウェアのパッケージをスペース区切りで記述して代入しています。

このように「Yocto Project」においては、作成するディストリビューションにソフトウェアやパッケージをインストールしたい場合「local.conf」などの設定ファイルに任意の変数へ追加代入することによって行います。

注意しなければならないのは、今回は「CORE_IMAGE_EXTRA_INSTALL」という変数に代入しましたが、ソフトウェアや機能によっては、別の変数を使用しなければならない場合があることです。

このような変数には、他にも「IMAGE FEATURES」や「DISTRO_FEATURES」などがありますので、インストールしたいソフトウェアや機能のドキュメントなどを事前に調査しておくことが必要です。

しかしながら、殆どの場合は「CORE_IMAGE_EXTRA_INSTALL」で大丈夫でしょう。

さて「local.conf」の追記が完了したら、こちらの記事を参考に再度「core-image-minimal」を「bitbake」コマンドでビルドしましょう。

今回も完了までに結構な時間がかかりますので、コマンドの実行は就寝前がオススメです。


スワップの設定

朝起きて「bitbake」コマンドが無事終了していた方は幸いです。

しかし、私の場合はダメでしたぁ~。

ターミナルは以下のようなエラー表示。。。

最悪の寝覚めだ…。

この「ld tarminated with signal 9 [killed]」というエラーメッセージ、実は一番目にする機会が多いものです。

ターミナル - 1


これの主な原因は、メモリ不足です。

ログを見ていると「nodejs」のコンパイル中にエラーが発生しています。

「nodejs」は、巨大なソフトウェアです。

「Yocto Project」がソフトウェアのソースコードをダウンロードして、それをビルドしてディストリビューションにインストールする作業を繰り返していることは、以前の記事でもご説明した通り。

それらのソフトウェアの中には、このようなコンパイルのためホスト側のパソコンに膨大なメモリを要求するソフトウェアもあります。

コンパイルを試みたものの、その過程でメモリが食い尽くされて、Linuxカーネルがたまらず「Signal 9」を発生させてプロセスを中断したことが、今回の顛末です。

では、どうするか?

ホストのパソコンにメモリを増設すれば良いのですが、お金がかかるからヤダ。

となれば、ハードディスクの余りの容量を仮想のメモリをして使用するための「スワップ」というLinuxの機能を使いましょう。

まずは、今のLinuxのスワップの状況を調べてみましょう。

ターミナルから以下のコマンドを入力します。


$ free -m

ターミナル - 2


単位はM(メガ)ですので、現在、このLinuxには「4095MB - 4GB」程度のスワップ領域が有効になっていることが分かります。

本来のメモリ16GBに加えて、スワップも4GBですよ!?

そんなにあっても足らない?

「Node.js」恐ろしい子…。

では、この容量を増やしてやりましょう。

まずは、現在のスワップ機能をオフにする必要があります。

以下のコマンドを実行します。


$ sudo swapoff /swapfile

ターミナル - 3

次にスワップ領域を拡張しましょう。

どの程度に拡張するかが問題です、

多いほど良さそうな感じがしますが、一般に多すぎても意味がないという説もあります。

今回は、本来のメモリと同じ容量である16GBに拡張します。

足りなくて再度ビルドに失敗するようであれば、またトライすれば良いし…。

(やたら時間がかかるので、失敗すると凹むけど!)

以下のコマンドでスワップ領域の予約を行います。


$ sudo fallocate -l 16G /swapfile

ターミナル - 4

スワップ領域の実態は、ルートディレクトリに配置されている「swapfile」というファイルです。

以下のコマンドでパーミッションを設定しておきます。


$ sudo chmod 600 /swapfile

ターミナル - 4


次に、実際のスワップ領域の作成です。

以下のコマンドを実行してください。


$ sudo mkswap /swapfile

ターミナル - 5


スワップ領域が作成できましたので、これを有効化しましょう。

以下のコマンドです。


$ sudo swapon /swapfile

ターミナル - 6


コレで良し!!

念のため、確認だけはしておきましょうか。

うん、ちゃんと16GBに拡張できていますね!


$ free -m

ターミナル - 7


この状態で、こちらの記事を参考に再度「$ bitbake core-image-minimal」に挑戦です。

今度は、絶対に上手くいきますよ!


「OpenSSH」の検証

無事に「core-image-minimal」がビルドできたら、こちらの記事を参考にSDカードを作成して「pcDuino3」を起動させたいところなんですが…。

その前に「pcDuino3」のネットワーク環境を考える必要があります。

「pcDuino3」にはWiFiが無くて、有線LANポートが一つしかありません。

そして、ここに繋ぐネットワークはインターネットに接続できて、且つ、開発用のパソコンとも接続できなければなりません。

今どきのお宅は、WiFiしかなくて有線LANのネットワークなんて少数派なんじゃないですかね?

ウチもそうです。

そうすると「pcDuino3」は家のネットワークに参入できません。

ですので、私は、以下のようなWiFiー有線LANブリッヂを買ってきました。

WiFiー有線LANブリッヂ


Amazonさんで¥3,000程度ですね。

これは、名の如く有線LANポートしかない機器をWiFiネットワークに接続させるためのブリッヂです。

組み込み用途などで使用頻度の高い安価なLinuxボードでは、WiFiが非搭載の場合が多いです。

そのような機器のソフトウェアの開発の際に、こういったブリッヂは非常に有意義ですので、一台持っておいても絶対に損はありませんよ。

ちなみに、電源はUSBのバス供給です。

これを「pcDuino3」に接続して、新しいディストリビューションのSDカードでLinuxを起動します。

Linuxの起動


起動が完了したら「root」でログインします。

パスワードは入力の必要がありません。

「pcDuino3」のターミナル - 1


ログインできたら、まずは「pcDuino3」のIPアドレスを調べておきましょう。

このIPアドレスが分かれば、以後の作業はすべて「OpenSSH」を使って開発用のパソコンでリモートに行うため、非常に効率が良くなりますよ。

以下のコマンドでIPアドレスを調べます。

私が試した時は「pcDuino3」は「192.168.179.12」というIPアドレスが割り振られたことが確認できますね。


# ip a

「pcDuino3」のターミナル - 2


以降の作業は、開発用のパソコンで今まで作業していた「VMware Workstation Player」上の「Ubuntu」Linuxではなく、Windowsで行うことにします。

まずは、現在の開発用のパソコンのIPアドレスも調べてみましょう。

Windowsのコマンドプロンプトを開いて以下のコマンドでIPアドレスを調べます。

私のパソコンは「192.168.179.15」というIPアドレスが割り振られたことが確認できます。


> ipconfig

Windowsのコマンドプロンプト


パソコンが「192.168.179.15」。

「pcDuino3」が「192.168.179.12」ですから、これらは同じクラスですので、お互いに通信できます。

それが確認できたところで、ターミナルソフトウェア「TeraTerm」を起動します。

インストールしていない方は、こちらの記事を参考にしてください。

以下のダイアログが表示されたら「ホスト」の欄に「pcDuino3」のIPアドレスである(今回の場合は)「192.168.179.12」を入力して「OK」ボタンをクリックします。

「新しい接続」ダイアログ


次は以下のようなダイアログが現れます。

「ユーザ名」のテキストボックスに「root」と入力し、下方の「OK」ボタンをクリックです。

「SSH認証」ダイアログ


すると「TeraTerm」の表示が以下の様になり、ターミナルで「pcDuino3」のLinuxへログインできたことになります。

ここまでできれば、新しく作成したLinuxディストリビューションに追加した「OpenSSH」が正しく動作していることが確認できます。

「TeraTerm」ターミナル - 1


一応「pcDuino3」の時計の時刻合わせだけは行っておきましょう。

時計があまり大きく狂っていると、以降の作業においてSSH認証のエラーが出る可能性があります。

とはいえ「pcDuino3」の電源を一度でも落としてしまうと、また狂ってしまうんですけどね…。

以下のコマンドで現在設定されている時刻を確認します。


# date

「TeraTerm」ターミナル - 2


設定する時刻が「2024年2月25日 1時15分」だったら以下のコマンドです。


# date 022501152024

「TeraTerm」ターミナル - 3


「Node.js」の検証

「OpenSSH」の次は「Node.js」の動きも確認しておきましょう。

「Node.js」の起動は、以下のコマンドを入力することによって行います。

バージョン情報など、何か表示されましたね?

プロンプトが「#」から「>」になっているのに注目です。


# node

「TeraTerm」ターミナル - 4


これだけでも、新しく作成したLinuxディストリビューションに追加した「Node.js」が正しく動作していることが確認できますが、それだけだと面白くないので、簡単なプログラムを実行させてみましょう。

「>」というプロンプトに以下のプログラムを入力し、エンターキーを入力します。

お約束の例のヤツです。


> console.log("Hello World!");

「TeraTerm」ターミナル - 5


「Ctrl」+「c」を押すと「Node.js」が終了し、プロンプトが「>」から「#」に戻ります。

「TeraTerm」ターミナル - 6


以上で「Node.js」の検証は終了です。


「NPM」の検証

「Node.js」を使って開発を進めていく上では、様々なパッケージやツールを別途ダウンロードする必要が出てきます。

そのためのパッケージ管理ツールが「NPM」であり、こちらも新しいディストリビューションに追加しました。

こちらも検証しておきましょう。

まず以下のコマンドで「sample」というディレクトリを作成し、その中へ移動します。


# mkdir sample

# cd sample/

「TeraTerm」ターミナル - 7


おそらく「Node.js」を使うなら、いずれ必ず使うであろう「ejs」というテンプレート・エンジンを「NPM」を使ってダウンロードしてみましょう。

以下のコマンドを実行するとダウンロードできるはずです。


# npm install ejs

「TeraTerm」ターミナル - 8


「sample」ディレクトリの中に以下のようなディレクトリやファイルが確認できたら「NPM」の検証も完了です。


# ls -l

「TeraTerm」ターミナル - 9


以下のコマンドで、元のディレクトリに戻りましょう。


# cd ..

「TeraTerm」ターミナル - 10


「Git」の検証

最後に「Git」の検証を行います。

何でも良いのですが、リポジトリからソースコードをクローンします。

ここでは、私のリポジトリから「openocd_nora」というソースコードをクローンしてみます。

ちょっと長いけど、以下のコマンドです。

クローンが始まったでしょうか?


# git clone https://github.com/RyutaroMorita/openocd_nora.git

「TeraTerm」ターミナル - 11


正しくクローンできたでしょうか?


# ls -l

「TeraTerm」ターミナル - 12


以上で「core-image-minimal」に新たに追加したすべてのソフトウェアが正しく動作していることが確認できました!


「pcDuino3」用のLinuxディストリビューションも、ここまでくれば、かなり実用的なものになったはずです。

次回は、今まで慣れ親しんだ最小限のディストリビューション「core-image-minimal」を離れ、よりリッチでGUIの表示を持つ「core-image-sato」というディストリビューションのビルドを行いたいと思います。

え、単に「bitbake core-image-sato」ってやるだけでしょ…って?

いやいや、これが結構大変だったんですよ~。


<続く>

2024年2月4日日曜日

「pcDuino3」でYocto Project その7

前回からの続きです。

このテーマを最初からご覧になる場合はこちらからどうぞ。


「local.conf」の更新

いよいよ「pcDuino3」のLinuxディストリビューションをビルドしたいと思うのですが、最後の…というより最も重要な作業が残っています。

それは「local.conf」というファイルを「pcDuino3」のための内容に更新することです。

その「local.conf」が何処にあるかというと、以下のパスに生成されているはずです。


/home/yocto/poky/build/conf

ファイル・ブラウザ - 1


このファイルは「Yocto Project」を導入した後に初めて「$ source oe-init-build-env」を実行した際に生成された「build」ディレクトリに含まれています。

内容は、以下の通り…といってもゴチャゴチャしていて難しそうです。

「local.conf」の内容


今はあまり深入りせずに「pcDuino3」のディストリビューションを作るための要点だけに集中しましょう。

まずは、以下の箇所をご覧ください。

「local.conf」の16行から始まる「Machine Selection」という部分からです。

最後の行にご注目。

なにやら「MACHINE」という変数に「qemux86-64」という文字列を代入していますね。

  1. #
  2. # Machine Selection
  3. #
  4. # You need to select a specific machine to target the build with. There are a selection
  5. # of emulated machines available which can boot and run in the QEMU emulator:
  6. #
  7. #MACHINE ?= "qemuarm"
  8. #MACHINE ?= "qemuarm64"
  9. #MACHINE ?= "qemumips"
  10. #MACHINE ?= "qemumips64"
  11. #MACHINE ?= "qemuppc"
  12. #MACHINE ?= "qemux86"
  13. #MACHINE ?= "qemux86-64"
  14. #
  15. # There are also the following hardware board target machines included for
  16. # demonstration purposes:
  17. #
  18. #MACHINE ?= "beaglebone-yocto"
  19. #MACHINE ?= "genericx86"
  20. #MACHINE ?= "genericx86-64"
  21. #MACHINE ?= "edgerouter"
  22. #
  23. # This sets the default machine to be qemux86-64 if no other machine is selected:
  24. MACHINE ??= "qemux86-64"


これは、「QEMU」というオープンソースのエミュレータ(今使っている「VMware」みたいなものですね!)で動作するのインテルx86-64アーキテクチャ用のLinuxディストリビューションを選択する、という意味です。

つまり「Yocto Project」は、デフォルトの状態で「bitbake」すると「QEMU」用のディストリビューションが作成されるということになります。

このことから、この「local.conf」というファイルは、作ろうとしているLinuxディストリビューションの各種設定を記述するファイルであると推測できます。

というわけなので「local.conf」を「pcDuino3」で動くようなLinuxディストリビューションを作成できるように修正していけばよいのです。

まずは手始めに、今「qemux86-64」となっている「MACHINE」変数を変更する必要があります。

ところで、このqemux86-64」という文字列の根拠は何でしょうか?

実は、これは同名の設定ファイルを意味しています。

前回のレイヤーの話で触れた「meta~」というディレクトリ。

これらの中には「conf」というディレクトリと、その下に「machine」というディレクトリを持つものがあります。

例えば「meta」というディレクトリの中には「conf」というディレクトリがあって、さらにその下に「machine」というディレクトリが存在します。

この中には、多くの設定ファイル「~.conf」が置かれており、デフォルトで「MACHINE」変数に設定されている「qemux86-64.conf」も存在しています。


/home/yocto/poky/meta/conf/machine

ファイル・ブラウザ - 2


興味のある方は、この設定ファイルの中を覗いてみてください。

つまり「pcDuino3」用の設定ファイルを見つけて、そのファイル名を「local.conf」の中で「MACHINE」変数に代入すればよさそうです。

いままでの作業で、この設定ファイルが存在してそうなレイヤー、もしくは「mata~」ディレクトリといえば…「meta-sunxi」あたりが臭そうですね。

というわけで「meta-sunxi」ディレクトリを開いてみると…あった!

「meta~/conf/machine」のパターンです!


/home/yocto/poky/meta-sunxi/conf/machine

ファイル・ブラウザ - 3


この中に「pcDuino3」用の設定ファイルがあれば楽なんだけど…。

あーありました!!

その名もズバリ「pcduino3.conf」!


/home/yocto/poky/meta-sunxi/conf/machine

ファイル・ブラウザ - 4


では、この「pcduino3.conf」を「MACHINE」変数に代入するよう「local.conf」を修正しましょう。

「local.conf」の37行から、以下のように修正して保存してください。

  1. #
  2. # This sets the default machine to be qemux86-64 if no other machine is selected:
  3. MACHINE ??= "pcduino3"
  4. #MACHINE ??= "qemux86-64" コメントアウト


「pcDuino3」用ディストリビューションのビルド

それでは、早速「pcDuino3」用のLinuxディストリビューションをビルドしましょう!

「/home/yocto/poky/build」に移動して以下のコマンドを入力します。

エラーが出る場合は、ホームから「$ cd poky/」でpokyディレクトリへ移動して「$ source oe-init-build-env」で環境変数を設定するのをお忘れなく!


$ bitbake core-image-minimal

ターミナル - 1


以前にも味わったので嫌な思い出があるかもしれません。

そう…これは終了までに物凄い時間がかかるのです。

というわけで、今日は寝ちゃいましょう…。


....

zzzz

....

起床!


警告は出ているものの無事終了のようです。

ターミナル - 2


以下のディレクトリを開いてください。

色々できてると思います。


/home/yocto/poky/build/tmp/deploy/images/pcduino3

ファイル・ブラウザ - 5


「pcDuino3」起動用SDカードの作成

さて、今回はこのできあがったLinuxディストリビューションのイメージファイルを「bmaptool」というコマンドでSDカードに書き込みたいと思います。

イメージファイルを書き込んだSDカードを「pcDuino3」に挿入して、Linuxを起動させようという目論見です。

この「bmaptool」で使用するイメージは「WIC」形式(「~.wic」)のファイルでなければいけません。

core-image-minimal-pcduino3.wic.gz」っていう、それっぽいファイルがありますね。


/home/yocto/poky/build/tmp/deploy/images/pcduino3

ファイル・ブラウザ - 6


このファイルは圧縮されているようですので、解凍しましょう。

以下のコマンドです。

元の「~.wic.gz」ファイルを残す場合は「-k(--keep)」、このファイルはリンクされており、それを強制的に解凍するので「-f(--force)」オプションを付けましょう。


$ gunzip -k -f ./tmp/deploy/images/pcduino3/core-image-minimal-pcduino3.wic.gz

ターミナル - 3


すると「/home/yocto/poky/build/tmp/deploy/image/pcduino3」に「core-image-minimal-pcduino3.wic」というファイル名で「WIC」形式のイメージファイルが解凍されました!


/home/yocto/poky/build/tmp/deploy/images/pcduino3

ファイル・ブラウザ - 7


イメージファイルは準備OK。

あとは、これをSDカードに書き込むためのツール「bmaptool」の調達が必要です。

これは、Linuxディストリビューションと同じく「bitbake」コマンドを使用してビルドします。

以下のコマンドを実行します。

とかく待たされる印象が強い「bitbake」コマンドですが、今度はすぐに終わりますのでご安心を。


$ bitbake bmap-tools-native

ターミナル - 4


次に、マイクロSDカードを用意します。

加えて、これをお使いのパソコンに接続するためのアダプタが必要になります。

私は、こんなのを買ってきました。

USBのコネクタ部分にマイクロSDカードを差し込むようなタイプですが、これって、下手をするとパソコン側のUSBの口にマイクロSDカードが取り残されそうで怖いんだよなぁ…。

マイクロSDカードUSBアダプタ


マイクロSDカードを挿入したアダプタをパソコンに接続します。

すると、以下のようなダイアログが表示されますので「仮想マシンに接続」を選択して「OK」ボタンをクリックします。

「新しいUSBデバイスが検出されました」ダイアログ


以下のような表示も出るかもしれませんが、これも「OK」ボタンをクリックして閉じちゃってください。

「取り外し可能デバイス」ダイアログ


Ubuntu上のファイル・ブラウザの左側に、認識されたマイクロSDカードが表示されましたでしょうか?

以下の例では「16 GB Volume」と表示され、認識されていることが分かります。

ファイル・ブラウザ - 8


この「16 GB Volume」の表示の部分にマウスカーソルをしばらく乗せておくと、マウントされたディレクトリのパスが表示されます。

ファイル・ブラウザ - 9


続いてターミナルに戻り、以下のコマンドを実行します。

これにより、先程のディレクトリのパスの行に「/dev/sdb1」と表示されているので、このマイクロSDカードは「/dev/sdb」という仮想ファイルとしてシステムに認識されたことが分かります。

他のデバイスの接続状況によっては「sdb」ではない可能性もありますので、この部分はよく確認してから作業を行ってください。


$ df

ターミナル - 5


上記のコマンドの結果、現在マイクロSDカードは「/media/yocto/DDEB-8DCA」というディレクトリとしてマウントされていることが分かります。

この「DDEB-8DCA」の部分は識別子であり、マイクロSDカードによって異なりますので、こちらも要確認です。

とにかく、マウントされているとLinuxディストリビューションのイメージファイルを書き込めないので、以下のコマンドでアンマウントします。

前述の識別子が「DDEB-8DCA」の場合は、以下のコマンドです。


$ umount /media/yocto/DDEB-8DCA

ターミナル - 6


では、いよいよLinuxディストリビューションのイメージファイルを書き込みましょう。

まずは「/dev/sdb」のパーミッションを設定します。

以下のコマンドを実行してください。

(パスワードを問われた場合は、入力します。)


$ sudo chmod 666 /dev/sdb

ターミナル - 7


イメージの書き込みは以下のコマンドで行います。

おっと、コマンドが見つからないとかなんとか?


$ oe-run-native bmap-tools-native bmaptool copy ./tmp/deploy/images/pcduino3/core-image-minimal-pcduino3.wic /dev/sdb

ターミナル - 8


エラーメッセージのアドバイス通り、以下のコマンドを実行します。


$ bitbake bmap-tools-native -caddto_recipe_sysroot

ターミナル - 9


これで良いのか?

再度、イメージの書き込みにトライ!

最小限の「core-image-minimal」というタイプのディストリビューションなので、それほどの時間は掛かりません。

以下の表示が出れば、イメージの書き込み完了です。


$ oe-run-native bmap-tools-native bmaptool copy ./tmp/deploy/images/pcduino3/core-image-minimal-pcduino3.wic /dev/sdb

ターミナル - 10


イメージの書き込みが完了したマイクロSDカードを安全に引き抜きましょう。

ファイル・ブラウザのイジェクトボタンをクリックするか、もちろんターミナルから「umount」コマンドを実行しても構いません。

ファイル・ブラウザ - 10


「pcDuino3」用ディストリビューションの起動

それでは、イメージの書き込みが完了したマイクロSDカードを「pcDuino3」に挿入し、Linuxを起動させてみましょう。

「pcDuino3」には、HDMI接続のディスプレイとUSBキーボードを接続しておきます。

Linuxの起動 - 1


「pcDuino3」のマイクロUSBから給電させると、なにかディスプレイに表示されましたよ!

Linuxは順調に起動しているようです。

Linuxの起動 - 2


ログインは「root」とでも入力しときましょう。

パスワードの設定はありませんので入力不要です。

Linuxの起動 - 3


早速、今回の主目的…新しいカーネルで動いているのかどうかを確かめます。

以下のコマンドを入力と…。


# uname -a


OK、カーネル・バージョンは「6.1.9」と出ました!!

デフォルトでインストールされていたカーネルが「3.4.79」だったので、大きな進歩です。

Linuxの起動 - 4


さて「Yocto Project」を使用して、無事Linuxディストリビューションを作成できたわけですが「core-image-minimal」という最小限の構成です。

SSHすら載ってません。

次回以降、より実用的なディストリビューションを構築していきましょう。

SSHは必須、Gitや「Node.js」も欲しいですよね。

当初の目的からは逸れますが、せっかくHDMIがあるのだから、ちゃんとしたGUIも表示させてみたいかも。


<続く>

BSD 4-Clause License

  名称:「四条項BSDライセンス」(BSD-4-clause) タイプ: ・コピーレフト…× ・ライセンス文の掲示…〇 ・コピーライト(著作権)の掲示…〇 ・その他…〇 原文: Copyright (c) <year>, <copyright holde...