1: 2018-03-17 (土) 07:56:35 yuji | 現: 2020-12-26 (土) 16:08:05 yuji Attached file: brcmfmac43430-sdio.bin, Attached file: brcmfmac43430-sdio.txt |
||
---|---|---|---|
Line 1: | Line 1: | ||
* Ubuntu 16.04LTSをインストール [#q506a605] | * Ubuntu 16.04LTSをインストール [#q506a605] | ||
- | Raspberry Pi2B,3BがARMv7ベースになったので,ubuntuを動作させられる。~ | + | Raspberry Pi2B,3BがARMv7ベースになったので,ubuntuを動作させられるようだ。~ |
+ | Raspberry PiのUbuntuはオフィシャルからはリリースされていないが、アンオフィシャルなものは出ているので、Pi3Bにインストールしてみた。 | ||
** 使用するイメージについて [#i24297d2] | ** 使用するイメージについて [#i24297d2] | ||
- | https://wiki.ubuntu.com/ARM/RaspberryPi でリリースされている。 | + | https://wiki.ubuntu.com/ARM/RaspberryPi でリリースされている。~ |
+ | ubuntuは%%16.04%%だが,GUIが入っていないserverになる。→ 18.04になっている。 | ||
+ | |||
+ | 以下は,16.04をインストールしたときのメモ。 | ||
Raspberry Pi2: [[ubuntu-16.04.3-preinstalled-server-armhf+raspi2.img.xz>http://cdimage.ubuntu.com/ubuntu/releases/16.04/release/ubuntu-16.04.3-preinstalled-server-armhf+raspi2.img.xz]]~ | Raspberry Pi2: [[ubuntu-16.04.3-preinstalled-server-armhf+raspi2.img.xz>http://cdimage.ubuntu.com/ubuntu/releases/16.04/release/ubuntu-16.04.3-preinstalled-server-armhf+raspi2.img.xz]]~ | ||
Line 9: | Line 13: | ||
** インストール [#p2ae929e] | ** インストール [#p2ae929e] | ||
- | 通常のRaspberry Pi用OSのイメージを8GB以上のMicro SDカードにWin32DiskImagerまたはEtcherを使って書き込む。(使用するMicroSDカードの相性に注意。)~ | + | 通常のRaspberry Pi用OSのイメージをMicroSDカードに書き込むのは,Raspbianのときと同じ。~ |
- | Win32DiskImagerだと.xzファイルを解凍する必要がある。Etcherを使って書き込む場合は,解凍する必要はない。 | + | |
+ | Windowsマシンで,.xzファイルのままなら [[Etcher>https://etcher.io/]] 使用して,解凍した.imgファイルなら [[Win32DiskImager>https://sourceforge.net/projects/win32diskimager/]] を使用して,容量が8GB以上のMicro SDカードに書きこむ。 | ||
+ | |||
+ | このとき,[[使用するMicroSDカードの相性に注意>/PC/RaspberryPi/SDカードの相性]]する。 | ||
+ | |||
+ | 64GB,128GBなどの大きな容量のMicroSDカードを使用する場合には, [[Etcher>https://etcher.io/]] で書き込む必要がある。 [[Win32DiskImager>https://ja.osdn.net/projects/sfnet_win32diskimager/]] で書き込んだ場合は,ブート出来ない。~ | ||
+ | これは,64GB,128GBのMicroSDカードは大抵exFATでフォーマットされて販売されている。Raspberry Piでは,最初のパーテーションがFAT/FAT32でないとブートローダーがロードできないので,結果,ブート出来ないのが理由。~ | ||
+ | MicroSDカードをFAT32でフォーマットし直せば使えるのではあるが, [[SD card Formatter 5.0>https://www.sdcard.org/jp/index.html]] では64GB以上だとFAT32でフォーマット出来なくなってしまっている。~ | ||
+ | なので,古い&ref(../Raspbianのインストール/diskformatter2_124.exe,BuffaloのDiskFormatter2);なんかを使ってフォーマット(論理サイズ調整をONにして)すれば,FAT32でフォーマット出来ます。~ | ||
+ | あとは,通常通りイメージファイルを書き込めば,64GB,128GBのMicroSDカードでも使用出来る。 | ||
** 有線LANで接続 [#iec84389] | ** 有線LANで接続 [#iec84389] | ||
Line 17: | Line 30: | ||
ubuntuは,デフォルトでSSHログイン出来るようになっているようだ。~ | ubuntuは,デフォルトでSSHログイン出来るようになっているようだ。~ | ||
- | Pi3の電源をOnしてしばらくたったら,別のWindowsマシン等からPuTTYを使ってログインする。 | + | Pi3の電源をOnしてしばらくたったら,別のWindowsマシン等からPuTTYなどのSSHクライアントを使ってログインする。 |
- | この時,接続したネットワークのDHCPサーバーにより,Raspberry Piの有線LAN(Ethernet)コネクタにアサインされたIP Addressを知らないと接続できない。~ | + | この時,接続したネットワークのDHCPサーバーにより,Raspberry Piの有線LAN(Ethernet)コネクタにアサインされたIP Addressを知らないと接続できない。IP Addressではなく,ubuntu@ubuntu.localを使用してもリモートログイン出来る。 |
- | Windowsマシンでは,以下のようにすれば見つけることが出来る。 | + | |
- | for /l %i in (0,1,255) do ping -w 1 -n 1 192.168.1.%i | + | |
+ | IP Addressを知る場合は, | ||
+ | - Windowsマシンでは以下のようにすれば見つけられる | ||
+ | for /l %i in (0,1,255) do ping -w 1 -n 1 192.168.1.%i | ||
終了までしばらく時間がかかる。実行が終わったら, | 終了までしばらく時間がかかる。実行が終わったら, | ||
arp -a | find "b8-27" | arp -a | find "b8-27" | ||
- | |||
とかすると,Raspberry Piに設定されたIP Addressがわかる。 | とかすると,Raspberry Piに設定されたIP Addressがわかる。 | ||
- | Linuxマシンであれば, | + | - Linuxマシンの場合 |
# arp-scan -l --interface eth0 | # arp-scan -l --interface eth0 | ||
- | |||
とかすればわかる。 | とかすればわかる。 | ||
- | 初期アカウントは, | + | ログインする時の初期アカウントは, |
ユーザー名:ubuntu | ユーザー名:ubuntu | ||
パスワード:ubuntu | パスワード:ubuntu | ||
Line 44: | Line 56: | ||
** ブート関連の修正 [#i487f36c] | ** ブート関連の修正 [#i487f36c] | ||
+ | Raspberry Pi用の配布されているubuntu 16.04LTSはシステムのブートにU-Bootを使用している。''しかし,そのままではPi3でブート出来なくなる''ので,その対策をする。 | ||
+ | |||
''/usr/share/flash-kernel/bootscript/bootscr.rpi3''を修正する。 | ''/usr/share/flash-kernel/bootscript/bootscr.rpi3''を修正する。 | ||
setenv fdt_addr_r 0x02008000 | setenv fdt_addr_r 0x02008000 | ||
Line 62: | Line 76: | ||
... | ... | ||
kernel=uboot.bin | kernel=uboot.bin | ||
+ | |||
# enable uart (needed for u-boot on RPi3) | # enable uart (needed for u-boot on RPi3) | ||
enable_uart=1 | enable_uart=1 | ||
+ | |||
# set extended DT area | # set extended DT area | ||
# device_tree_address=0x100 | # device_tree_address=0x100 | ||
Line 71: | Line 85: | ||
device_tree_address=0x02008000 | device_tree_address=0x02008000 | ||
device_tree_end=0x200ff00 | device_tree_end=0x200ff00 | ||
+ | |||
# enable i2c | # enable i2c | ||
dtparam=i2c_arm=on | dtparam=i2c_arm=on | ||
Line 95: | Line 109: | ||
バイナリのVideoCoreユーティリティ。vcdbg,edidparser | バイナリのVideoCoreユーティリティ。vcdbg,edidparser | ||
- xserver-xorg-video-fbturbo~ | - xserver-xorg-video-fbturbo~ | ||
- | Xドライバ。 | + | Accelerated Xドライバ。 |
-hello-dkms~ | -hello-dkms~ | ||
RasPiでのDKMSのサンプル | RasPiでのDKMSのサンプル | ||
Line 114: | Line 128: | ||
# timedatectl set-timezone Asia/Tokyo | # timedatectl set-timezone Asia/Tokyo | ||
# timedatectl status | # timedatectl status | ||
+ | |||
** キーボードレイアウトの設定 [#e412b31d] | ** キーボードレイアウトの設定 [#e412b31d] | ||
SSH等でリモートログインして使用する場合は設定の必要ないが,モニターとキーボードを接続して使用する場合は必要になる。 | SSH等でリモートログインして使用する場合は設定の必要ないが,モニターとキーボードを接続して使用する場合は必要になる。 | ||
Line 124: | Line 138: | ||
X11 Model: jp106 | X11 Model: jp106 | ||
X11 Options: terminate:ctrl_alt_bksp | X11 Options: terminate:ctrl_alt_bksp | ||
- | |||
- | もしくは, | ||
- | |||
- | ''/etc/default/keyboard''を編集する。 | ||
- | XKBLAYOUT="us" | ||
- | ↓ | ||
- | KBLAYOUT="jp" | ||
- | に変更する。~ | ||
- | 再読込する, | ||
- | # dpkg-reconfigure -f noninteractive keyboard-configuration | ||
** マシン名の変更 [#x319d542] | ** マシン名の変更 [#x319d542] | ||
Line 140: | Line 144: | ||
この後,ホスト名が解決できないとかメッセージが出る場合は,''/etc/hosts''ファイルを修正する。 | この後,ホスト名が解決できないとかメッセージが出る場合は,''/etc/hosts''ファイルを修正する。 | ||
- | 127.0.0.1 pi3 <-- HOSTNAMEの名前 | + | 127.0.0.1 localhost |
+ | 127.0.1.1 pi3 <-- HOSTNAMEの名前 | ||
** ユーザの追加 [#g84206fd] | ** ユーザの追加 [#g84206fd] | ||
ユーザを追加する。 | ユーザを追加する。 | ||
- | $ su - | + | 例:yuji |
# adduser yuji | # adduser yuji | ||
+ | |||
+ | /etc/groupファイルを編集して,追加したユーザが参加するグループを片っ端から登録する。~ | ||
+ | 編集し終わったら, | ||
+ | # grpconv | ||
+ | で,変更を反映させる。 | ||
** swapを使用するようにする [#v156bb81] | ** swapを使用するようにする [#v156bb81] | ||
Line 159: | Line 169: | ||
** wlanを使用できるようにする [#f72e17b8] | ** wlanを使用できるようにする [#f72e17b8] | ||
- | そのままではwlanが使用できない。 | + | ブート時にエラーが出ていて,そのままではwlanが使用できない。 |
wlanのファームウェアを以下のようにして,ファイルを更新する。~ | wlanのファームウェアを以下のようにして,ファイルを更新する。~ | ||
- | &ref(brcmfmac43430-sdio.bin); と &ref(brcmfmac43430-sdio.txt);を,/usr/lib/firmware/brcmにコピーする。 | + | &ref(brcmfmac43430-sdio.bin); と &ref(brcmfmac43430-sdio.txt);を,/lib/firmware/brcmにコピーする。 |
- | # cp brcmfmac43430-sdio.bin /usr/lib/firmware/brcm/brcmfmac43430-sdio.bin | + | # cp brcmfmac43430-sdio.bin /lib/firmware/brcm/brcmfmac43430-sdio.bin |
- | # cp brcmfmac43430-sdio.txt /usr/lib/firmware/brcm/brcmfmac43430-sdio.txt | + | # cp brcmfmac43430-sdio.txt /lib/firmware/brcm/brcmfmac43430-sdio.txt |
+ | |||
+ | wlanに必要なツールが入っていなかったらインストールする。 | ||
+ | # apt-get install wireless-tools wpasupplicant | ||
- | /etc/network/interfaceを編集する。eth0,wlan0のエントリを追加して,interfaced.dでロードするのをやめる。 | + | /etc/network/interfacesを編集する。eth0,wlan0のエントリを追加して,interfaced.dでロードするのをやめる。 |
- | ''/etc/network/interface'' | + | ''/etc/network/interfaces'' |
+ | : | ||
auto eth0 | auto eth0 | ||
iface eth0 inet dhcp | iface eth0 inet dhcp | ||
- | + | ||
- | auto wlan0 | + | allow-hotplug wlan0 |
iface wlan0 inet dhcp | iface wlan0 inet dhcp | ||
+ | wireless-power off | ||
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf | wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf | ||
+ | |||
#source /etc/network/interfaces.d/*.cfg <-- コメント化 | #source /etc/network/interfaces.d/*.cfg <-- コメント化 | ||
Line 195: | Line 210: | ||
} | } | ||
- | ** GUI環境のセットアップ [#n415891b] | + | ** いくつかのfail対策 [#wcd0d6e3] |
- | Raspberry Pi用のubuntuでは,GUI環境は入っていない。(まあ,普通いらないんで・・・) | + | /etc/modprobe.d/blacklist.confに以下を追加。 |
+ | blacklist ib_iser | ||
+ | install ib_iser /bin/false | ||
- | 入れたい場合は(上記でPPAのレポジトリをわすれずに), | + | ** i2cドライバーをロード [#ac2c2441] |
+ | /boot/firmware/config.txtには, | ||
+ | # enable i2c | ||
+ | dtparam=i2c_arm=on | ||
+ | dtparam=spi=on | ||
+ | にセットされている。(i2cやspiをon) | ||
+ | |||
+ | なぜかi2c-devモジュールが読み込めてないので,/etc/modulesに追加する。 | ||
+ | i2c-dev | ||
+ | |||
+ | リブート後モジュールがロードされているか確認。 | ||
+ | # lsmod | ||
+ | |||
+ | //** NTP サーバーの設定 [#x3c7789b] | ||
+ | // /etc/ntp.confを編集する。 | ||
+ | // #pool 0.ubuntu.pool.ntp.org iburst | ||
+ | // #pool 1.ubuntu.pool.ntp.org iburst | ||
+ | // #pool 2.ubuntu.pool.ntp.org iburst | ||
+ | // #pool 3.ubuntu.pool.ntp.org iburst | ||
+ | // #pool ntp.ubuntu.com | ||
+ | // server ntp1.jst.mfeed.ad.jp iburst | ||
+ | // server ntp2.jst.mfeed.ad.jp iburst | ||
+ | // server ntp3.jst.mfeed.ad.jp iburst | ||
+ | // | ||
+ | //ntpサーバーを再起動する。 | ||
+ | // # systemctl restart ntp | ||
+ | // | ||
+ | |||
+ | ** GUI環境のセットアップ [#n415891b] | ||
+ | Raspberry Pi用のubuntuでは,GUI環境は入っていない。入れたい場合は(上記でPPAのレポジトリをわすれずに), | ||
# apt-get install lubuntu-desktop | # apt-get install lubuntu-desktop | ||
# apt-get install xserver-xorg-video-fbturbo | # apt-get install xserver-xorg-video-fbturbo | ||
- | # apt-get install fonts-ipafont fonts-ipaexfont language-pack-ja ibus-mozc | + | # apt-get install fonts-ipafont fonts-ipaexfont language-pack-ja fcitx-mozc |
# apt-get install gnome-session-flashback language-pack-gnome-ja | # apt-get install gnome-session-flashback language-pack-gnome-ja | ||
+ | |||
でGUI環境をインストールする。軽い? lubuntuにしてみた。サイズが1.8GBで3時間以上かかる。 | でGUI環境をインストールする。軽い? lubuntuにしてみた。サイズが1.8GBで3時間以上かかる。 | ||
- | /etc/X11/xorg.conf を作成する。 | + | /etc/X11/xorg.conf を作成する。~ |
''/etc/X11/xorg.conf'' | ''/etc/X11/xorg.conf'' | ||
Section "Device" | Section "Device" | ||
Line 219: | Line 265: | ||
# apt-get install libraspberrypi-bin libraspberrypi-dev | # apt-get install libraspberrypi-bin libraspberrypi-dev | ||
- | /usrにインストールされる。 | + | /usrにインストールされるいくつかのサードパーティのスクリプトは,/opt/vc/bin/vcgencmdにあると期待してるため,リンクを張っておく。 |
- | いくつかのサードパーティのスクリプトは,/opt/vc/bin/vcgencmdにあると期待してるため, | + | |
- | リンクを張っておく。 | + | |
# ln -s /usr /opt/vc | # ln -s /usr /opt/vc | ||
+ | |||
+ | ** 日本語入力mozc(fcitx)の自動起動 [#kae0ae42] | ||
+ | fcitx(入力メソッド)がそのままでは自動起動しないので,起動するようにする。 | ||
+ | $ cp /usr/share/applications/fcitx.desktop ~/.config/autostart/ | ||
+ | |||
+ | ** vncを使えるようにする [#v370a34a] | ||
+ | GUIでリモートアクセスするために,VNCサーバーをインストールしておく。 | ||
+ | # apt-get install tightvncserver | ||
+ | 設定ファイルを作成するため一度vncserverを起動する。 | ||
+ | $ vncserver | ||
+ | アクセス用のパスワードを設定する。 | ||
+ | New 'X' desktop is hostname:1 | ||
+ | のように最後の数字がデスクトップ番号になる。 | ||
+ | |||
+ | 停止するには, | ||
+ | $ vncserver -kill :1 | ||
+ | とする。 | ||
+ | |||
+ | 接続用のパスワードを変更するには, | ||
+ | $ vncpasswd | ||
+ | として変更できる。 | ||
+ | |||
+ | *** VNCサーバーからデスクトップを起動するように設定 [#rdd0e544] | ||
+ | .vnc/xstartupファイルを編集する。 | ||
+ | #!/bin/bash | ||
+ | xrdb $HOME/.Xresources | ||
+ | lxsession -s LXDE & | ||
+ | とかしておく。 | ||
+ | |||
+ | *** 自動でvncserverを起動するようにする。 [#i7273acc] | ||
+ | /etc/systemd/system/vncserver@.serviceファイルを作成する。~ | ||
+ | ''/etc/systemd/system/vncserver@.service'' | ||
+ | [Unit] | ||
+ | Description=Start TightVNC server at startup | ||
+ | After=syslog.target network.target | ||
+ | |||
+ | [Service] | ||
+ | Type=forking | ||
+ | User=[USERNAME] | ||
+ | PAMName=login | ||
+ | PIDFile=/home/[USERNAME}/.vnc/%H:%i.pid | ||
+ | ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1 | ||
+ | ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x768 :%i | ||
+ | ExecStop=/usr/bin/vncserver -kill :%i | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | |||
+ | Unitファイルを読み込ませる。 | ||
+ | # systemctl daemon-reload | ||
+ | |||
+ | 自動で起動するようにする。 | ||
+ | # systemctl enable vncserver@1.service | ||
+ | |||
+ | vncserverを起動する。 | ||
+ | # systemctl start vncserver@1 |