Задача: Разобрать установку Ubuntu Server on Raspberry Pi 3 Model B

Т.к. я поклонник Ubuntu то стараюсь всегда и везде ее использовать, а тут призадумался — почему на моем миникомпьютере Raspberry Pi 3 Model B используется Raspbian Stretch & Buster. Это Debian ориентированные дистрибутивы, пошел на официальный сайт Ubuntu и вышел на страницу что можно установить специализированный дистрибутив. Загорелся желанием попробовать и вот получилась заметка от которой я в будущем буду отталкиваться.

Шаг №1: Скачиваю Ubuntu Server со страницы https://ubuntu.com/download/raspberry-pi

Скачиваю Ubuntu Server для x64

ekzorchik@navy:~$ ls -lh /media/ekzorchik/dw/ | grep xz

-rw-rw-r-- 1 ekzorchik ekzorchik 632M янв 4 12:52 ubuntu-19.10.1-preinstalled-server-arm64+raspi3.img.xz

ekzorchik@navy:~$ sudo apt-get install xz-utils -y

ekzorchik@navy:~$ dpkg -l | grep xz-utils

ii xz-utils 5.2.2-1.3 amd64 XZ-format compression utilities

ekzorchik@navy:~$

ekzorchik@navy:~$ cd /media/ekzorchik/dw

ekzorchik@navy:/media/ekzorchik/dw$ unxz ubuntu-19.10.1-preinstalled-server-arm64+raspi3.img.xz

ekzorchik@navy:/media/ekzorchik/dw$ ls -lh | grep .img
-rw-rw-r-- 1 ekzorchik ekzorchik 3,0G янв 4 12:52 ubuntu-19.10.1-preinstalled-server-arm64+raspi3.img

Шаг №2: Вставляю в слот картридера (я за ноутбуком Lenovo E555) адаптер карты памяти в формате SD который служит переходником на MicroSD (8Gb).

Шаг №3: Проверяю, что моя рабочая система Ubuntu 18.04 Desktop amd64 видит ее:

ekzorchik@navy:~$ dmesg | grep mmc

[ 6880.221203] mmc0: cannot verify signal voltage switch
[ 6880.355141] mmc0: new ultra high speed SDR50 SDHC card at address aaaa
[ 6880.379402] mmcblk0: mmc0:aaaa SL08G 7.40 GiB
[ 6880.387935] mmcblk0: p1 p2
[ 6880.966942] EXT4-fs (mmcblk0p2): recovery complete
[ 6881.027688] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[ 6881.036047] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.

ekzorchik@navy:~$

Шаг №4: Запускаю приложение под наименованием «Диски»

Шаг №5: Выбираю из списка моих дисков и меню «Восстановить образ диска...»
см. скриншот для наглядного понимания что и как делается.

Восстанавливаю образ img на карту памяти MicroSD

Выбираю полученный после распаковки образ: ubuntu-19.10.1-preinstalled-server-arm64+raspi3.img

см. скриншот для наглядного понимания процесса

Нажимаю "Начать восстановление"

и нажимаю «Начать восстановление...«, «Восстановить«, ввожу пароль на привилигированную операцию и нажимаю OK, вот процесс восстановление образа на карту памяти:

см. скриншот для наглядного понимания процесса

Наблюдаю процесс восстановление образа на карту памяти

На заметку: Советую выбирать карту памяти MicroSD не ниже класса 10 и скорость чтение и записи не ниже 30Mbit/s

И вот образ записан

  • system-boot -> /dev/mmcblk0p1
  • writable -> /dev/mmcblk0p2

Образ img успешно восстановлен/записан на карту памяти MicroSD

Шаг №6: Монтирую раздел system-boot в систему Ubuntu 18.04 Desktop дабы активировать по аналогии, как делается для дистрибутивов Raspbian Jessie, Stretch, Buster включение возможности подключения по SSH к системе когда миникомпьютер будет загружен после подачи питания и подключен к Вашей локальной сети:

ekzorchik@navy:~$ sudo mount /dev/mmcblk0p1 /cdrom

ekzorchik@navy:~$ sudo touch /cdrom/ssh

Шаг №7: Извлекаю карту памяти из картридера

Шаг №8: Подключаю карту памяти MicroSD в миникомпьютер Raspberry Pi 3 Model B и подключаю кабель питания + вставляю сетевой кабель, подключаю монитор и клавиатуру

Вижу на экране приветствие:

Ubuntu 19.10 ubuntu tty1

ubuntu login: ubuntu

Password: ubuntu

You are required to change your password immediately (administrator enforced)

Changing password for ubuntu.

Current password: ubuntu

New password: 712mbddr@

Retype new password: 712mbddr@

Welcome to Ubuntu 19.01 (GNU/Linux 5.3.0-1014-raspi2 aarch64)

ubuntu@ubuntu:~$

Шаг №9: А вот теперь активировав аккаунт подключаюсь по SSH

ubuntu@ubuntu:~$ hostname -I
172.33.33.50

ekzorchik@navy:~$ ssh -l ubuntu 172.33.33.50
Warning: Permanently added '172.33.33.50' (ECDSA) to the list of known hosts.
ubuntu@172.33.33.50's password:

Welcome to Ubuntu 19.10 (GNU/Linux 5.3.0-1014-raspi2 aarch64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage

System information as of Sat Jan 4 10:44:01 UTC 2020
System load: 0.18 Processes: 123
Usage of /: 25.4% of 6.98GB Users logged in: 1
Memory usage: 26% IP address for eth0: 172.33.33.50
Swap usage: 0%
0 updates can be installed immediately.
0 of these updates are security updates.
Last login: Sat Jan 4 10:42:25 2020
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

ubuntu@ubuntu:~$

Шаг №10: Обновляю репозитарии и установленные пакеты до самого последнего и актуального состояния на момент написания данной заметки:

ubuntu@ubuntu:~$ sudo rm -Rf /var/lib/apt/lists

ubuntu@ubuntu:~$ sudo nano /etc/update-manager/release-upgrades
[DEFAULT]
Prompt=never

ubuntu@ubuntu:~$ sudo apt-get update && sudo apt-get upgrade -y

ubuntu@ubuntu:~$ sudo reboot

Шаг №11: Доустанавливаю в систему необходимые пакеты утилит:

ubuntu@ubuntu:~$ uname -a
Linux ubuntu 5.3.0-1014-raspi2 #16-Ubuntu SMP Tue Nov 26 11:18:23 UTC 2019 aarch64 aarch64 aarch64 GNU/Linux
ubuntu@ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 19.10
Release: 19.10
Codename: eoan
ubuntu@ubuntu:~$
ubuntu@ubuntu:~$ sudo apt-get install htop net-tools curl wget wiringpi mc tmux -y

Шаг №12: Если Вы до этого использовали Raspbian, то много из того что хорошо знали не будет работать — это большой минут, а поиск будет приводить ответам на Raspbian, но не к ОС в виде Ubuntu.

ubuntu@ubuntu:~$ cat /sys/class/thermal/thermal_zone*/temp
48312
ubuntu@ubuntu:~$
ubuntu@ubuntu:~$ cpu="$(</sys/class/thermal/thermal_zone0/temp)"
ubuntu@ubuntu:~$ echo "$((cpu/1000))"
49
ubuntu@ubuntu:~$
ubuntu@ubuntu:~$ paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp) | column -s $'\t' -t | sed 's/\(.\)..$/.\1°C/'
cpu-thermal 48.8°C
ubuntu@ubuntu:~$
ubuntu@ubuntu:~$ vcgencmd measure_temp
vcgencmd: command not found
ubuntu@ubuntu:~$
ubuntu@ubuntu:~$ sudo raspi-config
sudo: raspi-config: command not found
ubuntu@ubuntu:~$
ubuntu@ubuntu:~$ sudo apt-get install -y linux-raspi2 u-boot-rpi flash-kernel linux-firmware-raspi2
ubuntu@ubuntu:~$ sudo apt-get install gpiod
ubuntu@ubuntu:~$ sudo apt-get install -y python3-setuptools
ubuntu@ubuntu:~$ git clone https://github.com/adafruit/Adafruit_Python_DHT.git
Cloning into 'Adafruit_Python_DHT'...
remote: Enumerating objects: 325, done.
remote: Total 325 (delta 0), reused 0 (delta 0), pack-reused 325
Receiving objects: 100% (325/325), 98.35 KiB | 519.00 KiB/s, done.
Resolving deltas: 100% (176/176), done.
ubuntu@ubuntu:~$ cd Adafruit_Python_DHT/
ubuntu@ubuntu:~/Adafruit_Python_DHT$ sudo python3 setup.py install
unable to execute 'aarch64-linux-gnu-gcc': No such file or directory
error: command 'aarch64-linux-gnu-gcc' failed with exit status 1
ubuntu@ubuntu:~/Adafruit_Python_DHT$
ubuntu@ubuntu:~/Adafruit_Python_DHT$ sudo apt-get install python python-setuptools -y
ubuntu@ubuntu:~/Adafruit_Python_DHT$ sudo python setup.py install
unable to execute 'aarch64-linux-gnu-gcc': No such file or directory
error: command 'aarch64-linux-gnu-gcc' failed with exit status 1
ubuntu@ubuntu:~/Adafruit_Python_DHT$

Но увы даже привычные заметки (рабочие) дабы считать показания датчика DHT 11 не работают. Так что уж лучше я буду использовать то что заточено изначально и имеет поддержку сообщества, а не проходить все грабли дабы заставить работать.

Может если использовать его как файловый сервер, Cups и т.д то можно использовать.

Пока я не вижу практической надобности использовать Ubuntu на миникомпьютере. На этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.