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

2023年11月21日火曜日

「pcDuino3」でYocto Project その3

前回からの続きです。

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


Ubuntuのダウンロード

前回インストールした「VMware Workstation Player」で仮想のパソコンを作成し、そこにLinuxをインストールしようと思います。

一口にLinuxと言っても、それこそ星の数ほど多くのディストリビューションがあります。

しかし「Yocto Project」の公式リファレンスマニュアルのページ「1 System Requirements」によると、サポートされているディストリビューションは、以下の通りです。


●Fedora

●openSUSE

●CentOS

●Debian

●Ubuntu


そのうちのどれを選択するか?

今回は、現在最もシェアが高い「Ubuntu」というディストリビューションを選びます。

シェアが高いディストリビューションということは、インターネット上の情報が最も豊富ということです。

このことは、必然的に「Ubuntu」で「Yocto Project」を使用している人が多く、トラブルに遭った場合に解決するための情報も得やすいことを意味します。

これは大きなメリットです!

早速、この「Ubuntu」を手に入れましょう!

以下のページにアクセスしてください。


https://jp.ubuntu.com/


ページ上部の「ダウンロード」の表示をクリックしてください。

「Ubuntu」ダウンロードページ - 1


ページが切り替わったら、少し下の方にスクロールしてもらって…

「Ubuntu」ダウンロードページ - 2


以下の通り「ダウンロード」の表示をクリックします。

「Ubuntu」ダウンロードページ - 3


ダウンロードが開始されるはずです。

「Ubuntu」ダウンロードページ - 4


ダウンロードが完了したら、早速そのファイルを見てみましょう。

ubuntu-xx.xx.x-desktop-amd64.iso」みたいなファイル名だと思います。

拡張子が必ず「.iso」であることを確認してください。

これで「Ubuntu」のインストールディスク・イメージのダウンロードは完了です。


「VMware Workstation Player」の仮想マシンの作成

さて「VMware Workstation Player」を起動させましょう。

以下の画面から「新規仮想マシンの作成」の表示をクリックしてください。

「VMware Workstation Player」 - 1


以下のダイアログが現れたら「インストール元:」のラジオボタンを「インストーラ ディスク イメージ ファイル」に設定します。

更に右側の「参照」ボタンをクリックして、先程ダウンロードした「ubuntu-xx.xx.x-desktop-amd64.iso」という名前のインストールディスク・イメージを指定します。

インストールディスク・イメージが認識されると、パスを表示しているテキストボックスの下に「Ubuntu 64 ビット xx.xx.xが検出されました…」という表示が出てきます。

それを確認してから、ダイアログ下方の「次へ」ボタンをクリックです。

「VMware Workstation Player」 - 2


続いて、以下のような表示が出てきます。

ここは面倒なんで4箇所全部「yocto」にしました。

もっと丁寧に設定したい方は、任意でどうぞ。

「VMware Workstation Player」 - 3


次の表示も、丁寧な方は任意で設定してください。

デフォルトでも構わない方は、そのまま「次へ」ボタンをクリックです。

「VMware Workstation Player」 - 4


次はちょっと悩みどころ…。

今作ろうとしている可能マシンに振り分ける仮想ハードディスクのサイズの設定です。

ハードディスクの容量は、一般的に「Yocto Project」を使うとなると100GB以上が必要と言われています。

これは、今この「VMware Workstation Player」を動かしているパソコンのハードディスクから割り当てることになるため、どれだけのサイズを設定するかは、パソコンの残りの空き容量次第となります。

サイズは大きい方が後々面倒がなくて良いので、ここでは余裕を持って「256GB」と設定します。

(パソコンのハードディスクの空き容量がそんなに無い方は「128GB」でも行けるかな?)

設定が終わったら「次へ」ボタンをクリック。

「VMware Workstation Player」 - 5


次の表示では「ハードウェアをカスタマイズ」ボタンをクリックしてください。

「VMware Workstation Player」 - 6


ここが最後の思案のしどころ…。

仮想ハードディスクの割当に続いて、今作ろうとしている可能マシンに振り分けるメモリのサイズの設定です。

「VMware Workstation Player」は、ホストマシンの上で仮想マシンを動かします。

すなわち、Windowsが動いている上で同時にLinuxを動かすことになります。

この時、Windowsのためのメモリを増やしてLinuxのためのメモリを減らすと、Windowsのアプリケーションの動作が速くなり、Linuxのアプリケーションの動作が遅くなります。

逆もまた然り。

しかし「Yocto Project」は、非常に重いフレームワークです。

ソースコードのダウンロードやコンパイル、多くのファイルのコピーを何百回何千回と繰り返します。

一つのディストリビューションを作るのに、大変な時間がかかります。

そのため、Linuxを動作させる仮想マシンのメモリは、やはり多いほど処理速度が向上し、作業時間は短縮されます。

そこで、以下のように「推奨最大メモリ」の印で示される容量を設定しました。

(下の画像の例では「13.4GB」ですね。)

ちなみに、メモリと同様に、プロセッサ・コア数もこの画面で設定可能です。

こちらもメモリの場合と同様の理屈で多いほど有利ですが、お使いのCPUの半分ほどを振り分ければ良いと思います。

上記は、パソコンのCPUが4コア持っているので、そのうちの半分の2コアを仮想マシンに割り当てた例です。

この画面で可能な設定は非常に悩みますが、後から設定変更も可能ですので、それほど気を揉まないでくださいね。

設定が終わったら「次へ」ボタンをクリックしましょう。

「VMware Workstation Player」 - 7


以下の表示に切り替わったら「完了」ボタンをクリックして、仮想マシン、いよいよ起動です!

「VMware Workstation Player」 - 8


仮想マシンへのUbuntuのインストール

仮想マシンが起動する冒頭、以下の表示が出てきますが、これは「OK」ボタンをクリックしてください。

大したことじゃないです。

Ubuntuのインストール - 1


しばらくすると、仮想マシン上で「Ubuntu」のインストールディスク・イメージが実行されます。

Linux起動中…。

Ubuntuのインストール - 2


クリスタルなクラゲ!?

なかなかにアーティスティックな壁紙!

Ubuntuのインストール - 3


さて、いよいよ「Ubuntu」のインストーラが開始されます。

まずはキーボードの設定です。

お使いの環境に合わせて設定し「Continue」ボタンをクリックします。

Ubuntuのインストール - 4


この後は、しばらく「Continue」ボタンを連打で良いです。

Ubuntuのインストール - 5


Ubuntuのインストール - 6


Ubuntuのインストール - 7


Ubuntuのインストール - 8


以下の画面になったら、手入力が必要です。

ここも横着して全部「yocto」と入力しました。

この「Ubuntu」は「Yocto Project」のための一時的な環境で、なにもサーバーを構築するわけでもないのだから、あまり神経質にならなくて良いと思いますよ。

入力が終わったら「Continue」ボタンをクリック。

Ubuntuのインストール - 9


ふぅ…ようやくインストールが始まりました。

インストールが終了するまで、ある程度の時間がかかります。

Ubuntuのインストール - 10


インストールが完了すると、ひっそりと味気なく…以下のポップアップが表示されます。

「再起動していいですか?」…

「良いですよ!」ってなわけで「Restart Now」ボタンをクリックしてください。

Ubuntuのインストール - 11


仮想マシンが再起動すると、以下のようにログイン画面が表示されます。

「yocto」というユーザー名が表示されていますね?

こちらをクリックします。

Ubuntuのインストール - 12


パスワード入力のためのテキストボックスが現れますので、パスワードを入力しましょう。

今回の場合、私が横着したのでここも「yocto」と…。

Ubuntuのインストール - 13


すると、以下の通り「Ubuntu」のデスクトップが表示されます。

クリスタル・クラゲに再会!

本当に最近のLinuxは、WinodwsやMacOSに劣らないくらいデスクトップの完成度が高くなっていますね。

これで仮想マシンへの「Ubuntu」のインストールは無事終了です。

Ubuntuのインストール - 14


さて、起動させたものは、いつかは終了させなきゃいけない…というわけで「Ubuntu」の終了の仕方を確認しておきましょう。

Linuxの正しい礼儀作法として、これはターミナル(コマンドプロンプト)で行います。

現在のデスクトップからターミナルを開くには、GUIのメニューから選択しても良いのですが、もっと楽な方法があります。

キーボードの「Ctrl」+「Alt」+「T」を同時に押してください。

以下のようにターミナルが開けましたか?

Ubuntuのインストール - 15


「Ubuntu」を正しく終了させるには、開いたターミナルで以下のコマンドを入力します。


$ sudo shutdown -h now


このコマンドは、管理者権限で(sudo)、シャットダウンせよ(shoutdown)、電源断(Halt)で(-h)、今すぐに!(now)…という意味です。

すると、以下のようにパスワードの入力を求められます。

これは、コマンドの頭に「sudo」を付けたからです。

サーバーなどの用途に用いられるLinuxでは、シャットダウンは特別な操作です。

ログインしている誰でも彼でもシャットダウンできてしまっては困ります。

なので、大抵の場合「shutdown」コマンドは管理者権限で実行されなければなりません。

したがって、そのためのパスワードが必要というわけになります。

では、パスワード(今回の場合「yocto」ですね)を入力して、リターンキーを押します。

Ubuntuのインストール - 16


しばらくすると「Ubuntu」はシャットダウンされて、仮想マシンの画面も消え去ります。

これで「Ubuntu」が正しく終了できました。

再び「Ubuntu」を起動したいときは「VMware Workstation Player」の画面で、左のリストから「Ubuntu 64 ビット」を選択状態にして「仮想マシンの再生」をクリックします。

Ubuntuのインストール - 17


すると、再び仮想マシンが起動し「Ubuntu」が立ち上がって、ログイン画面が表示されます。

これで「Ubuntu」の起動と終了は万全ですね!


以上で「Yocto Project」を動作させる土台は整いました。

次回から、このフレームワークの構築に移りましょう。

…ここまででも、けっこう手間がかかりましたよね。


<続く>

2023年11月7日火曜日

「pcDuino3」でYocto Project その2

前回からの続きです。


「VMware Workstation Player」のインストール

さて「Yocto Project」で「pcDuino3」のための最新のディストリビューションを作るのはいいとして、まずはLinuxが動作する環境が必要です。

「Yocto Project」は、Linux上で動くフレームワークだからです。

LinuxはLinuxで作らなければなりません。

もし、余ったパソコンをお持ちなら、そこにLinuxをインストールしましょう。

この場合、今回の記事に書かれている内容は飛ばしてしまって構いません。

とはいえ「Yocto Project」を動作させるためには、相当なスペックのパソコンが必要です。

なにせ「Yocto Project」で一つのLinuxディストリビューションを作成する過程で、物凄く多くのソフトウェアのダウンロード、ビルド、コピーを繰り返し行いますので、すべて終わるまでには膨大な時間がかかります。

(場合によっては、丸一日とか…。)

したがって、パソコンが速いほど作業効率は上がります。

しかし、そんなにスペックの高いパソコンって、そうそう余ってませんよね。

懐も寂しいですし…。

そこで、今、Windowsでお使いのパソコン上でLinux環境を再現するために「VMware Workstation Player」を使いましょう。

「VMware Workstation Player」スプラッシュスクリーン


この「VMware Workstation Player」は、Windowsの中に仮想のパソコンを作ってくれるアプリケーションです。

そうして作られた仮想のパソコンの中にLinuxをインストールして「Yocto Project」を動かそう…という目論見です。

まずは、ダウンロードから。

以下のWebページにアクセスしてください。

そして、以下の通り「VWware Workstation Player」というリンクをクリックします。


https://www.vmware.com/jp/products/workstation-player/workstation-player-evaluation.html

「VMware Workstation Player」のダウンロードページ - 1


ちなみに「VMware Workstation Player」は、非商用利用であれば無償です。

商用利用であれば有償であり、その場合は「VMware Workstation Pro」という製品名になります。

今回は、無償の「VMware Workstation Player」を使用する場合を説明しています。

新しく開いたページで「無償ダウンロード」というボタンをクリックします。

「VMware Workstation Player」のダウンロードページ - 2


次に、新しく開いたページで「GO TO DOWNLOADS」という表示をクリックします。

「VMware Workstation Player」のダウンロードページ - 3


更に、新しく開いたページで「VMware Workstation 17.x.x Player for Windows 64-bit Operating Systems」の欄の右側、「DOWNLOAD NOW」というボタンをクリックします。

やっとこさ、ダウンロードが開始されるはずです。

「VMware Workstation Player」のダウンロードページ - 4


VMware-player-full-17.x.x-xxxxxxxx.exe」みたいな名前のファイルのダウンロードが終了したら、これをダブルクリックします。

インストーラーが起動します…が!、以下のような表示が現れることがあるかもしれません。

なにやら分からぬが…ここは従っておいたほうが無難でしょう。

この表示が出た場合は「はい」ボタンをクリックして、パソコンを再起動しましょう。

これだからWindowsは…。

「VMware Workstation Player」のインストーラー - 1


パソコンの再起動後は、再度「VMware-player-full-17.x.x-xxxxxxxx.exe」をダブルクリックして、インストールを再開しましょう。

インストーラーが立ち上がります。

「VMware Workstation Player」のインストーラー - 2


以下の表示に切り替わったら準備完了。

ここは「次へ」ボタンをクリックです。

「VMware Workstation Player」のインストーラー - 3


はいはい同意同意…って、適当に受け流してはダメですね。

しっかり確認して「使用許諾契約書に同意します」のチェックボックスを有効にしてから「次へ」ボタンをクリック。

「VMware Workstation Player」のインストーラー - 4


以下のような表示が出た場合は、迷わず「Windows Hypervisor Platform(WHP)の自動インストール」のチェックを有効にしましょう。

説明文中にある「Hyper-V」というのは、今インストールしようとしている「VMware Workstation Player」と同じく、Windowsの中に仮想のパソコンを作ってくれる機能で、ある時期からWindowsに標準で実装されるようになりました。

ですが、そのままだと「VMware Workstation Player」とケンカになります。

ですので「Hyper-V」と「VMware Workstation Player」との仲介をするWHPというソフトウェア(ていうかAPI)を自動的にインストールしますか?…というのがこの説明文の大雑把な内容です。

チェックボックスを有効にしてから「次へ」ボタンをクリックします。

「VMware Workstation Player」のインストーラー - 5


これ以降は、しばらく「次へ」ボタンを連打~!

「VMware Workstation Player」のインストーラー - 6


個人的には、タダで使わせてもらっているのだから、せめて協力くらいは~と思います。

個人の判断で良いと思います。

「VMware Workstation Player」のインストーラー - 7


「VMware Workstation Player」のインストーラー - 8


「VMware Workstation Player」のインストーラー - 9


ようやくインストールが始まります。

「VMware Workstation Player」のインストーラー - 10


結構時間はかかりますが、以下の表示が出ればインストールは終了です。

完了」ボタンをクリックしてインストーラーを閉じましょう。

「VMware Workstation Player」のインストーラー - 11


さて、インストールされた「VMware Workstation Player」を試しに起動させてみましょう。

デスクトップに追加されたアイコンをダブルクリックすると、まずは以下のようなダイアログが…。

無償で使います、サーセン…ってなわけで「続行」ボタンをクリック。

「VMware Workstation Player」の起動 - 1


完了」ボタンをクリックしましょう。

お世話になります!

「VMware Workstation Player」の起動 - 2


以下のような表示が出たら「VMware Workstation Player」のインストールと起動は成功です。

お疲れ様でした~。

「VMware Workstation Player」の起動 - 3


さて、今日はここまで。

次回は、この「VMware Workstation Player」で仮想のパソコンを作り、そこにLinuxをインストールするまでやっていきましょうか。


<続く>

2023年11月3日金曜日

「pcDuino3」でYocto Project その1

組み込みLinuxの学習

突然ですが、長年勤めた現職を今年いっぱいで退職し、転職することになりました!

転職先はIoT関連のメーカーで、今までと同様、組み込みエンジニアとしてお仕事をさせていただくことになりました。

お話を伺っていると、新しい職場では、RTOSを使用したベアメタルな機器に加え、組み込みLinuxのお仕事も多いとのこと。

私自身、今まで、このブログで取り上げているようなRTOSを使用した機器の開発がメインでしたが、実は組み込みLinuxを使用した機器の開発経験もあります。

ただし、数年のブランクが空いています。

人間、使わない知識はどんどん忘れていきますし(歳のせいとも言う)、時間の流れが速いLinuxなどのオープンソースの世界においては、この数年のブランクが命取り!

転職後に即戦力となれるように、今一度(現在の)組み込みLinuxを学習してみたいと思いました。


「pcDuino3」とは?

米国LinkSprite社の「pcDuino3」というARMのシングルボード・コンピュータです。

pcDuino3


組み込みLinuxを学ぶ(…というより思い出す)ためには、ターゲットを弄りながら進めていくのが一番。

というわけで、かつて組み込みLinuxでの開発を行っていた時に買ったまま放置していたコイツを引っ張り出してきました。

秋月電子商会さんでは、まだ取り扱っています。

ディスコン(製造中止)ですが、在庫は潤沢のようです。

発売は2014年とのことで、もう10年近く昔の製品です。

しかし、1GHzで動作する「ARM Cortex-A7」のデュアルコアというスペックは、組み込み機器として考えた場合は、まだまだ十分使える性能です。

ちなみに、CPUは中国製の激安SoC「Allwinner A20」です。

一時期は、民生の格安タブレットなどで相当数使われていたとか…。

この手のLinuxが動作するようなシングルボード・コンピュータでは、なんといっても「Raspberry Pi」シリーズが有名ですよね。

一方で、この「pcDuino」シリーズの最大の特徴は、有名な学習用マイコンボードである「Arduino」と同じピン配のピンソケットを実装していることでしょう。

ハードウェアも作るような人は、この「Arduino」用のユニバーサルボードや、ピンソケットの入手性が良いので、オリジナルのシールドが作りやすく、電子工作好きの方々からは好評だったようです。

私も仕事で試作品を作るときには「Arduino」をよく使いますし、オリジナルのシールドを作るために、こういったパーツは使い慣れています。

「Arduino」用のユニバーサルボードとピンソケット


ただし、既存の「Arduino」用のシールドがそのまま使えるか?というと、そこまでの互換性はないようです。

第一、電源が違います(「pcDuino」は3.3Vのみ)ので、既存のシールドは接続しないように注意してください。

さて、この「pcDuino3」を使用して「Node.js」をインストールして「TypeScript」などを使って、IoTゲートウェイのようなものを作ろうと思いました。

いわゆる今風のナウい組み込みLinuxの使い方ですよね~。

そこで、気になるのはデフォルトでインストールされているLinuxのバージョンです。

前述のように、10年近く昔の製品。

あまり古いバージョンのLinuxディストリビューションだと、最新のアプリケーションが動きません。

確認のために、数年ぶりに「pcDuino3」に電源を投入しました。

HDMIコネクタをLCDに繋いで、操作のためのキーボードやマウスをUSBのAコネクタに接続します。

(USBのAコネクタは一つしかありませんから、キーボードとマウスを同時に使用する場合は、USBハブを使いましょう。)

最後に、USBのMicro-Bコネクタから電源を供給してあげれば準備完了です。

「pcDuino3」に電源を投入


しばらくすると、デスクトップが立ち上がります。

「pcDuino3」には、マイクロSDカードのスロットを搭載しています。

しかし、今はこのスロットにはマイクロSDカードが入っていませんので、OSは内蔵のNANDフラッシュから起動しています。

デスクトップの表示


アプリケーションは、最小限ですが「Chromium」を搭載しているのはスゴい。

そうそう、こんな感じだったなぁ…。

インストールされているアプリケーション


ターミナルを開いて各種バーションを確認します。

以下のように入力します。


$ uname -a

カーネルのバージョン確認


カーネルは「3.4.79」!

やはり相当古い…。

今や「6.x.x」とかの時代ですから。

ディストリビューションは「Ubuntu」ですか。

念のため、ディストリビューションの詳細を確認します。

以下のように入力してみます。


$ lsb_release -a

ディストリビューションのバージョン確認


Linaroによる「12.07」ですか。

Ubuntuなので「apt install」コマンドでアプリケーションの追加は可能ですが、カーネルもディストリビューションも古いですね。

これでは、最新の開発環境を使った開発は難しいかもしれません。

さて、どうしたものか…。

そこで「Yocto Project」です!!


「Yocto Project」とは?

詳しくは、こちらを参照してください。

要するに、カスタムのLinuxディストリビューションを作れてしまうフレームワークです。

Linuxディストリビューションを作るには、Linuxの3種の神器「ブートローダ」、「カーネル」、「rootファイルシステム」が必要です。

昔は、これらのそれぞれソースコードを入手して、コンパイラを準備して、ビルドして…という作業が必要でした。

特に「rootファイルシステム」なんかは、ソフトウェアの数が膨大なので、大変な労力を要します。

しかも、それぞれを関連付けるための設定ファイルの作成やら、変更やらで、やっと終わったと思ったらカーネルパニックを起こして起動しなかったりで、もう…やってられるかっ!!…の繰り返しです。

二度とやりたくないです。

そのような煩雑な作業すべてを簡単にやってくれるツールとして「Yocto Project」が登場しました。

他にも、同様の思想のフレームワークには「Buildroot」というものが存在します。

この手のフレームワークでは「Yocto Project」と「Buildroot」が、二大勢力ですが…


●細かいカスタマイズが可能だが、使うのが難しい「Yocto Project

●使うのが簡単だけど、細かいカスタマイズが難しい「Buildroot


という、アベコベの関係にあります。

しかしながら、紆余曲折あって現在は「Yocto Project」がスタンダードです。

組み込みエンジニアにとって、今や「Yocto Project」を扱うことは必須であるといっても過言ではありません。

この「Yocto Project」を使って「pcDuino3」用の最新のカーネルを含むディストリビューションを作ろう!と思います。

IoTゲートウェイを作ろうとしているので、最悪GUIは要りませんが、最低限のセキュリティの担保と、最新の開発環境が使えるだけのディストリビューションを目指したいと思います。


次回から、早速「Yocto Project」による開発環境を揃えていきます。

<続く>…といいですけどね、ボードも古いし、色々忘れちゃってるから…。


<続く>

MLAA License

 名称:「MLAAライセンス」(MLAA) タイプ: ・コピーレフト…× ・ライセンス文の掲示…〇(ソースコード頒布のみ) ・コピーライト(著作権)…〇(ソースコード頒布のみ) ・その他…〇(バイナリ頒布のみ) 原文: Copyright: 2010 Jorge Jimenez ...