Memotekiメモ的な何か。学んだことをマイペースにメモしていきます。Memoteki)が、RaspberryPi3からはそう簡単ではなくなってしまったので対応方法を2種類メモしておきます。B8GB以上、Class10以上のmicroSDHC(Ubuntuのインストールだけなら4GB、Class6あれば十分)5V、2.5A以上供給できる電源(RaspberryPi3から2.5A以上推奨になりましたが、実測値ではほとんどの場合0.5A以下でした。PCのUSB2.0ポートでもおそらく問題ないです。)USBキーボードHDMI対応モニタ(とHDMIケーブル)LANケーブルTranscendのmicroSDHCは相性問題があるとの話ですが、私の環境では今まで一度も問題が起きたことはありません。UHS-I対応のものがオススメです。リンク貼っておきます。キーボードはTouchPadとセットになったものを用意しておくとRaspbianなどGUIの操作が必要になった場合にもそのまま使えて便利です。Keyboardがオススメです。今回作成するイメージは2つの方法で作成できます。2でアップデートしたイメージを使用しています。imgファイルの中身を書き換えた後、書き込みをしています。(64bit)マシンを使用しました。2からアップデートする場合イメージをダウンロードしてきます。Wiki2015-04-06-ubuntu-trusty.zipを上記サイトからダウンロードします。159.3MBありました。今回はDownloads直下にそのままunzipコマンドで2015-04-06-ubuntu-trusty.imgを展開しました。2にUbuntu14.04をインストールして起動します。起動時に日付が1970年1月1日になってしまっているので以下のコマンドで正しい日付を設定します。これを実行しないとSSLの証明書関連でエラーが出てしまいます。2016年7月1日20:30の例です。20:30:00"最低限必要なパッケージを用意します。binutilsrpi-updateコマンドでカーネルを更新するのでrpi-updateをインストールしておきます。以下のコマンドでは4.1.19-v7+を指定しています。rpi-firmwareのリポジトリのコミット履歴から該当するSHA(今回は’6e8b794′)を指定することでそのほかのバージョンも指定できます。6e8b794カーネルのアップデートのあとは初期RAMディスクの設定をアップデート&ブートローダのアップデート禁止設定をします。大きい方のパーティションの/bootディレクトリ以下にあるファイルを削除します。このとき、/boot/firmwareだけは残しておきます。(起動すると/boot/firmware以下に小さい方のパーティションの中身が割り当てられるため、空です。)以下のコマンドで初期RAMディスクの設定をアップデートします。エラーは出ないですが、設定に必要なファイルはそろっていないのでうまくいっていない可能性が高いです。4.1.19-v7+以下のコマンドでapt-getで自動アップデートされないよう、設定します。raspberrypi-bootloader-nokernelここまで設定したら、諸々のパッケージをアップデートし、問題なく再起動できることを確認します。upgradeこれでRaspberryPi3でも使えるイメージが完成しました。このままほかのRaspberryPiにmicroSDを差し替えても、eth0が認識しません。削除しておく必要があります。所有者がrootなのでシャットダウン前に削除する場合は以下のコマンドで削除できます。/etc/udev/rules.d/70-persistent-net.rulesここまで設定したイメージ、一応公開しておきます。(md5sum:a8b8bc20994ce6e89f6db9b80b23e139)検証していないことがたくさんありますので、エラーが出る可能性があります。使用する際は起動しなくなっても問題ない環境でテストしてからお願いします。2017年6月25日追記。iragamoさんよりご指摘いただきました。ユーザ名、パスワードともに変更していませんので、どちらも”ubuntu”でログインできます。16.06のファイルを使用する場合イメージをダウンロードしてきます。Wiki2015-04-06-ubuntu-trusty.zipを上記サイトからダウンロードします。159.3MBありました。Downloads直下にそのままunzipコマンドで2015-04-06-ubuntu-trusty.imgを展開しました。MATEubuntu-mate-16.04-desktop-armhf-raspberry-pi.img.xzを上記サイトからダウンロードします。1.1GBありました。Downloads直下にubuntu-mate-16.04-desktop-armhf-raspberry-pi.imgを展開しました。kpartxでimgファイルのデバイスマップを作成し、マウントします。kpartxコマンドについてはこちら。~/Downloads/ubuntu-mate-16.04-desktop-armhf-raspberry-pi.imgここでそれぞれ2つのパーティション、合計4つマウントされます。中身すべて以上3つをubuntu-mate-16.04-desktop-armhf-raspberry-pi.imgのものに置き換えます。/bootに今回は使わない3.18.0-20-rpi2のカーネルのファイルがありますので削除しておきます。ここまでできたら、2015-04-06-ubuntu-trusty.imgをアンマウントしてから、以下のコマンドでデバイスマップを削除します。3にUbuntu14.04をインストールして起動します。最低限必要なパッケージを用意します。binutilsrpi-updateコマンドでカーネルを更新するのでrpi-updateをインストールしておきます。以下のコマンドでは4.1.17-v7+を指定しています。rpi-firmwareのリポジトリのコミット履歴から該当するSHA(今回は’6e8b794′)を指定することでそのほかのバージョンも指定できます。6e8b794カーネルのアップデートのあとは初期RAMディスクの設定をアップデート&ブートローダのアップデート禁止設定をします。以下のコマンドで初期RAMディスクの設定をアップデートします。エラーは出ないですが、設定に必要なファイルはそろっていないのでうまくいっていない可能性が高いです。4.1.19-v7+以下のコマンドでapt-getで自動アップデートされないよう、設定します。raspberrypi-bootloader-nokernelここまで設定したら、諸々のパッケージをアップデートし、問題なく再起動できることを確認します。upgradeこれでRaspberryPi3でも使え、更新までできるイメージができます。2のときとほぼ同じです。今回はMacで実行します。Linuxでも概ね同じようにできるようです。Imagerなどを使えば簡単です。DocumentationmicroSDを指す前と指す後で2回以下のコマンドを実行します。physical)が増えており、これがmicroSDであることがわかります。Xが起動しなくなる場合があります。bs=1mここで、ofに/dev/disk2ではなく、/dev/rdisk2を指定します。rdiskはdiskと違い、アンバッファモードなのでバッファモードより書き込みが数倍速いです。時間がかかりますが、Ctrl+Tできちんと動いている確認できます。書き込みが終わったら、EjectしてmicroSDの準備完了です。/dev/disk2Ubuntuでは以下のコマンドで書き込みができます。of=/dev/mmcblock00接続microSD、LANケーブル、HDMIケーブルを所定の位置に接続し、最後にmicroUSBの電源をつなぎます。3が接続されていないと途中から接続しても認識されません。ssh接続テストを行うまでHDMI対応モニタとUSBキーボードを使用します。キーボード、タイムゾーンの設定デフォルトのログインユーザは”ubuntu”、パスワードも”ubuntu”です。upgrademDNSとOpenSSHサーバのインストールマルチキャストDNS(mDNS)はMacやWindowsではBonjourと呼ばれているサービスです。Windowsが必要になります。単体でもインストールできますが、iTunesのインストール時にインストールされます。LinuxではAvahiを使います。openssh-serverお気に入りのエディタをインストールVimでもEmacsでもnanoでも。vimhostnameの変更mDNSを入れたのでhostnameを変更します。ほかのhostnameと同じにならないように設定する必要があります。今回は”raspberrypi001′′に変更しています。/etc/hosts/etc/hostnameの中身はこんな感じ。raspberrypi001/etc/hostsの中身はこんな感じ。127.0.0.1のところだけ書き換えればよいでしょう。rebootssh接続テストここからはsshで接続できるはずです。同じネットワーク内で”HOSTNAME.local”(今回は”raspberrypi001.local”)で接続できるようになっています。MacやLinxからならターミナルを起動して以下のコマンドで接続できるはずです。protected]Windowsの場合はTeraTermで接続できます。Wi-Fi接続に必要なパッケージのインストールWi-Fi接続に必要なドライバなど各種パッケージをインストールします。/etc/wpa_supplicant/wpa_supplicant.confちなみに、以下のコマンドを実行することでWi-Fiのアクセスポイントをスキャンすることができ、プロトコル等を調べることができます。scanwlan0がないよ!と言う旨のエラーが出たらifupしてあげればwlan0が起動します。wlan0Wi-Fi設定の確認Wi-Fiの設定ができたら、以下のコマンドでcompletedと言われるか確認します。-c/etc/wpa_supplicant/wpa_supplicant.conf最終行がこんな感じになります。completedオプションに-Bをつければバックグラウンドでの起動に切り替わります。ファイルシステムの拡張raspi-configならexpand_rootfsで済む部分ですが、Ubuntuでは手作業が必要です。以下のコマンドで/dev/rootのsizeが1.7GBぐらいだと思います。hello-world.jp.net開始と終了のセクターアドレスはデフォルトで正しく指定される場合がほとんどです。/dev/mmcblk0p2これでセットアップは終了です。あとは通常のUbuntuと同様に使用することができます。V2が動くところまでは動作確認できました。そのほか積み上げる際はM2.6のスペーサ取り付けると素敵なタワーになりますが、単体ならケースつけると便利です。ヒートシンク&ケース付きが特におすすめです。LINETiryohMemotekiの管理人です。このブログには学んだことや共有しておきたいことをマイペースにメモしていきます。Melodic)の動作確認をしました。Tiryoh試行錯誤の記録uVision4でNUCLEO-F303K8を使ってみたuVision4でNUCLEO-F303K8を使ってみたのでその方法をメモ。Piにwheezyをインストールしたあとのセットアップ方法をメモ。Service)を使用しています((DDSについては@youtalkさんの記事が詳しいです。PiのUbuntuMATEでデバイスドライバをビルドする方法をメモしておきます。