け い ざ ん の D I Y 工 房

◆Home
◆住まいの D I Y
◆パソコン D I Y
◆ROBOT D I Y
◆電子工作 D I Y
◆Science

●Ubuntu 64bit DeskTop Client install

 2022.05.07

RaspberryPiに Ubuntuを installすると動作が早いと githubに書いてあった。
Ubuntuも、RasPi imagerから Downloadして SSDを作成する事ができます。
対応言語は Linux Mac Windowから選択できます。
installできる OSの種類は DeskTop Type Ubuntu Server Ubuntu Core
などがあります。

● Ubuntu Server:
 Networkの設定で混乱して立上げ後も WiFiが遅い、eth0に切替えても遅い。
 アプリの installが、何かの原因で失敗ばかりして異常に遅い。
 設定を変更するにも時間ばかり掛かってうまくいかない。
 netplanと resolv.confの設定を途中であきらめる。
● Ubuntu Core:
 制限事項が多すぎて途中であきらめる。


【install 環境】
 Raspi  
 RAM   
 O S   
 python 
 SSD   
 Hard  
 Camera 
 tensorflow 
RaspberryPi 4B
4 GB
Ubuntu 22.04 LTS DeskTop Client aarch64
ver 3.10.4
micro SD 64GB
SunFounder PciCar-4WD Kit
RaspberryPi Camera Module
tensorflow-aarch64 2.8.0


【Desk Top 64bit OS Client install】
RasPi imagerで作成した SSDを取り付けて電源を入れると
下記の画面が立ち上がってきます。

 Ubuntu 64bit OS Client Top 画面
Ubuntu


Ubuntuの network設定は netplanを設定して行います。
defaultの yamlは修正するなと云っていますので、01.yamlをcopyして
60.yamlを作成してからnetworkの設定をします。

netplanは、python Programと同じ考えで作成しなければなりません。
インデント(左端からの空白数)をきちんと合わせないと Errorが消えません。
yamlを設定したら netplan applyで確認して、
Errorのなくなるまで修正を繰り返します。

$ cd /etc/netplan
$ cp 01-network-manager-all.yaml 60-network-manager-all.yaml
$ sudo nano 60-network-manager-all.yaml
network:
   version: 2
   renderer: networkd
   ethernets:
     eth0:
       dhcp4: true
       dhcp6: true
       optional: true
       nameservers:
         addresses: [192.168.1.1, 8.8.8.8]
   wifis:
     wlan0:
       dhcp4: false
       dhcp6: true
       optional: true
       routes:
         - to: 192.168.1.0/24
         - 192.168.1.1
#       gateway4: 192.168.1.1
       nameservers:
         addresses: [192.168.1.1, 8.8.8.8]
       access-points:
         "Buffalo-A-788E":
            hidden: true
            password: "xxxxxxxxxxxx"
         addresses:
            - 192.168.1.11/24

設定が終わったら、netplan applyで確認します。
$ sudo netplan apply

Errorがなければ作成完了です。


【wifi 設定確認】
$ ip addr
$ networkctl status -a   ・・・network 状態表示
$ wifi-status         ・・・wifi状態確認   ctl+cで戻る
$ nmtui           ・・・簡易GUI wifi設定
$ nmcli           ・・・network 詳細表示
$ ls /sys/class/net       ・・・lan/wifi     名称を見る
$ wpa_cli -i wlan0 status   ・・・wlan0 statusを見る
$ sudo piwiz         ・・・初期設定のやり直し

うまくいかなかった場合
$ sudo netplan --debug try      ・・・デバッグ


IP Addressが割り振られない場合は手動で IP設定。
$ sudo ip address add 192.168.1.11/24 broadcast 192.168.1.255 dev wlan0
$ sudo ip route add default via 192.168.1.1
$ sudo ip address del 192.168.1.1 dev wlan0
$ sudo ip link set eth0 up
$ sudo ip link set wlan0 up


【Camera Interface 確認】
Camera Interfaceの確認は以下の Commandを使用します。

$ ls /dev/video0          ・・・ video device の認識確認
 /dev/video             ・・・表示が出れば認識している
$ sudo apt install fswebcam      ・・・webcam app install
$ sudo dmesg | grep -i camera     ・・・camera 認識しているか
$ sudo dmesg | grep -i usb        ・・・usb に関連する物は何か

● v4l2-ctl         ・・・ubuntu camera interface command
$ sudo apt-get install v4l-utils        ・・・install
$ v4l2-ctl --list-devices           ・・・camera 一覧
$ v4l2-ctl -d /dev/video0 --info        ・・・device 情報表示
$ v4l2-ctl -d /dev/video0 --all      ・・・deviceのすべての情報表示
$ v4l2-ctl -d /dev/video0 --list-formats     ・・・formatの一覧表示
$ v4l2-ctl -d /dev/video0 --list-formats-ext  ・・・fram size fram rate
$ avconv -f video4linux2 -list_formats all -i /dev/video0

● camara command           ・・・64bit camera command
$ libcamera-hello -t 0            ctl+c まで表示継続
$ libcamera-jpeg -o test.jpg        test.jpg を作成
$ libcamera-still -t 10000         10秒間継続表示
$ libcamera-vid -t 10000          10秒間継続表示

video に pi ユーザー名を登録       ・・・video にユーザー登録
$ sudo gpasswd -a pi video
$ [sudo] password for pi: xxxx
Adding user pi to group video
$ cat /etc/group | grep video    ・・・video group の登録内容確認
video:x:44:pi            ・・・pi が video groupに登録された


【Camera Inteface Test】
camera Interfaceは config.txtに下記2行を書かないと動作しません。
$ sudo vcgencmd get_camer     ・・・camera status 表示
$ boot/firmware/config.txt
【all】の下に2行を追加。
start_x=1
gpu_mem=128      ・・・gpu memry は 128MB以上を割り付ける


$ boot/config.txt        ・・・camera type V2 の設定が必要
 #dtoverlay=vc4-kms-v3d
 dtoverlay=imx219      ・・・これはカメラ type 毎に違う。
 

 Camera typeの詳細はこちら ⇒ RasPi Camera type list



【仮想環境 構築】
pyenv で仮想環境を構築
まず、「Virtual」という仮想環境用の Directoryを作成します。
そして、/home/pi/Virtualの python version表示
 $ mkdir Virtual
 $ cd Virtual
 $ pyenv versions
  *system
 $ python -V
   python 3.10.4

仮想環境の作成は、Mainの環境の python Versionが仮想環境に反映されるので
まず Main環境側で準備をします。
Main環境を python-3.7.13に Local固定した状態で venvで py37envという
Folderを作成して python3.7.13環境を構築します。
 $ cd /home/pi/Virtual
 $ python3 -m venv py37env     ・・・py37env Folder作成

仮想環境には pyenvで 必要となる pythonを installして
version 3.7.13を localに固定します。
$ cd /home/Virtual/py37env
$ pyenv versions
 system
 3.7.3
 *3.7.13
 3.8.13
 3.9.12


【仮想環境に Tensorflow install】
作成した仮想環境に Tensorflowを installします。
$ sudo apt update
$ sudo apt upgrade
$ cd /home/Virtual/py37env
$ . bin/activate
(py37env)$ pip install pip --upgrade pip
(py37env)$ pip install tensorflow-aarch64


【これは、ここで行き止まり】          <2022.05.21>
● Ubuntu 64bit OS Client :
   64bit版はmmal.so がない
   vcgencmd get_camera で supported=1 detected=0 になる。
   64bit 版 libcamera not found
   32bit版の raspistill command も install できない。
   64bit版 libcamra-hello not found になる。


----------------------------------------------------------------------------------------------------------------------------
・けいざん美術館
・Blog 油絵もろもろ
・EXCEL VBAであくせく
・けいざんの食べログ


                 Site Designed by Kasio Keizan