Автор Тема: обновление ядра Armbian  (Прочитано 848 раз)

Оффлайн Olej

обновление ядра Armbian
« : Июнь 07, 2018, 02:46:09 pm »
В технологии Armbian можно изменить параметры ядра и проделать его сборку, как это описано Building Armbian и обсуждается как добавить новое ядро в uboot.
Там в меню (ncurses) можно заказать собирать не новый образ для записи SD-карты, а только u-boot + ядро Linux:

В итоге собирается:
olej@ubuntu:~/Orange_Pi/build/output/debs$ pwd
/home/olej/Orange_Pi/build/output/debs

olej@ubuntu:~/Orange_Pi/build/output/debs$ ls -l
итого 334940
drwxrwsr-x 2 root sudo      4096 июн  5 21:57 extra
-rw-r--r-- 1 root root    173504 июн  6 20:06 linux-dtb-next-sunxi_5.46_armhf.deb
-rw-r--r-- 1 root root  10737124 июн  6 20:07 linux-headers-next-sunxi_5.46_armhf.deb
-rw-r--r-- 1 root root  19772988 июн  6 20:08 linux-image-next-sunxi_5.46_armhf.deb
-rw-r--r-- 1 root root 312091880 июн  6 20:10 linux-source-next-sunxi_5.46_all.deb
-rw-r--r-- 1 root root    181784 июн  6 14:40 linux-u-boot-next-orangepione_5.46_armhf.deb
Как обновить существующую систему Armbian на SD-карте?
Просится такой вариант:
- загрузить Armbian с SD-карточки;
- загнать туда в файловую систему эти 5 файлов DEB-пакетов (например, по SSH или другим способом);
- выполнить стандартную установку пакетным менеджером dpkg этих 5 пакетов;
- перезагрузить;
Так это сработает?
Что при этом происходит в /boot? Что обновляется?

P.S. Кстати, можно ли 5 файлов .deb записать заранее, в смонтированный раздел (-лы) SD-карты на десктоп Linux системе? пред загрузкой SD-карты... такая "принудительная" запись не нарушит загружаемость SD-системы? Не должна бы ... если корректно затем размонтировать SD-карту.
 

Оффлайн Olej

Re: обновление ядра Armbian
« Ответ #1 : Июнь 08, 2018, 10:24:41 am »
- загнать туда в файловую систему эти 5 файлов DEB-пакетов (например, по SSH или другим способом);
Как оказалось, к счастью, в образах Armbian (всех?) по дефаулту запущен сервис (сервер) SSH.
В чём можете сразу на свежем образе убедиться:
olej@orangepione:~$ /usr/sbin/service sshd status
● ssh.service - OpenBSD Secure Shell server
   Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2018-06-08 09:20:48 EEST; 1h 51min ago
  Process: 7254 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
 Main PID: 7257 (sshd)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/ssh.service
           └─7257 /usr/sbin/sshd -D

июн 08 09:20:48 orangepione systemd[1]: Starting OpenBSD Secure Shell server...
июн 08 09:20:48 orangepione sshd[7257]: Server listening on 0.0.0.0 port 22.
июн 08 09:20:48 orangepione sshd[7257]: Server listening on :: port 22.
июн 08 09:20:48 orangepione systemd[1]: Started OpenBSD Secure Shell server.
июн 08 10:12:36 orangepione sshd[10074]: Accepted password for olej from 192.168.1.107 port 58558 ssh2
июн 08 10:12:36 orangepione sshd[10074]: pam_unix(sshd:session): session opened for user olej by (uid=0)
июн 08 10:43:26 orangepione sshd[10804]: Accepted password for olej from 192.168.1.107 port 58654 ssh2
июн 08 10:43:26 orangepione sshd[10804]: pam_unix(sshd:session): session opened for user olej by (uid=0)
июн 08 11:11:50 orangepione sshd[11089]: Accepted password for olej from 192.168.1.107 port 58768 ssh2
июн 08 11:11:50 orangepione sshd[11089]: pam_unix(sshd:session): session opened for user olej by (uid=0)

olej@orangepione:~$ uname -a
Linux orangepione 4.14.14-sunxi #1 SMP Thu Jan 25 12:20:57 CET 2018 armv7l GNU/Linux

olej@orangepione:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 9.4 (stretch)
Release: 9.4
Codename: stretch
Как легко видеть по форме цитаты - это прямое копирование с терминала, по вот такому подключению SSH.
Подключение по тому же login:passwd, который вы создавали при 1-й загрузке образа.

Это всё сильно сразу упрощает.
P.S. Чем больше смотрю - тем больше убеждаюсь: образы от сообщества Armbian очень с умом и продумано собираются! Чего не скажешь про подавляющее большинство образов пЫАнЭрской сборки, сотнями кочующих и обсуждаемых по Интернет. ;D
« Последнее редактирование: Июнь 08, 2018, 12:36:49 pm от Olej »

Оффлайн Olej

Re: обновление ядра Armbian
« Ответ #2 : Июнь 08, 2018, 11:04:38 am »
- загнать туда в файловую систему эти 5 файлов DEB-пакетов (например, по SSH или другим способом);
Как оказалось, к счастью, в образах Armbian (всех?) по дефаулту запущен сервис (сервер) SSH.
Самый простой тогда способ (это не значит что самый лучший,.. по скорости там, и т.д.) - перегонять файлы по SSH менеджером mc: наглядно, просто...





« Последнее редактирование: Июнь 08, 2018, 11:13:34 am от Olej »

Оффлайн Olej

Re: обновление ядра Armbian
« Ответ #3 : Июнь 08, 2018, 01:56:37 pm »
Как обновить существующую систему Armbian на SD-карте?
Просится такой вариант:
- загрузить Armbian с SD-карточки;
- загнать туда в файловую систему эти 5 файлов DEB-пакетов (например, по SSH или другим способом);
- выполнить стандартную установку пакетным менеджером dpkg этих 5 пакетов;
- перезагрузить;
Так это сработает?
Что при этом происходит в /boot? Что обновляется?
Сказано - сделано...  ;-)
Для контроля содержимое /boot загруженного ARM Orange Pi One:
olej@orangepione:~$ ls -l /boot
total 20216
-rw-rw-r-- 1 root root     201 июн  5 11:17 armbianEnv.txt
-rw-rw-r-- 1 root root    1624 янв 27 19:09 armbian_first_run.txt.template
-rw-rw-r-- 1 root root  230454 янв 27 19:09 boot.bmp
-rw-rw-r-- 1 root root    3636 янв 27 19:07 boot.cmd
-rw-rw-r-- 1 root root    4882 янв 27 19:09 boot-desktop.png
-rw-rw-r-- 1 root root    3708 янв 27 19:11 boot.scr
-rw-r--r-- 1 root root  158511 фев  9 17:25 config-4.14.18-sunxi
lrwxrwxrwx 1 root root      17 июн  8 09:17 dtb -> dtb-4.14.18-sunxi
drwxr-xr-x 3 root root   12288 июн  8 09:17 dtb-4.14.18-sunxi
lrwxrwxrwx 1 root root      17 янв 27 19:08 dtb.old -> dtb-4.14.14-sunxi
-rw-r--r-- 1 root root 5094976 июн  8 09:21 initrd.img-4.14.18-sunxi
drwxrwxr-x 2 root root    4096 янв 27 19:09 overlay-user
-rw-r--r-- 1 root root 3098386 фев  9 17:25 System.map-4.14.18-sunxi
lrwxrwxrwx 1 root root      21 июн  8 09:21 uInitrd -> uInitrd-4.14.18-sunxi
-rw-r--r-- 1 root root 5095040 июн  8 09:21 uInitrd-4.14.18-sunxi
-rwxr-xr-x 1 root root 6972808 фев  9 17:25 vmlinuz-4.14.18-sunxi
lrwxrwxrwx 1 root root      21 июн  8 09:18 zImage -> vmlinuz-4.14.18-sunxi

olej@orangepione:~$ df
Filesystem     1K-blocks    Used Available Use% Mounted on
udev              216820       0    216820   0% /dev
tmpfs              50516    2748     47768   6% /run
/dev/mmcblk0p1   1682872 1465932    170352  90% /
tmpfs             252576       0    252576   0% /dev/shm
tmpfs               5120       4      5116   1% /run/lock
tmpfs             252576       0    252576   0% /sys/fs/cgroup
tmpfs             252576       0    252576   0% /tmp
log2ram            51200    1008     50192   2% /var/log
tmpfs              50512       0     50512   0% /run/user/1000
Собранные пакеты:
-rw-r--r-- 1 root root    173504 июн  6 20:06 linux-dtb-next-sunxi_5.46_armhf.deb
-rw-r--r-- 1 root root  10737124 июн  6 20:07 linux-headers-next-sunxi_5.46_armhf.deb
-rw-r--r-- 1 root root  19772988 июн  6 20:08 linux-image-next-sunxi_5.46_armhf.deb
-rw-r--r-- 1 root root 312091880 июн  6 20:10 linux-source-next-sunxi_5.46_all.deb
-rw-r--r-- 1 root root    181784 июн  6 14:40 linux-u-boot-next-orangepione_5.46_armhf.deb
Из 5-ти пакетов я установлю 3 (мне кажется, что linux-headers-next-sunxi_5.46_armhf.deb - заголовки ядра? + linux-source-next-sunxi_5.46_all.deb - исходники ядра? - для работоспособности образа не критичны).
- Devicetree
olej@orangepione:~/armbian.build$ sudo dpkg -i linux-dtb-next-sunxi_5.46_armhf.deb
[sudo] password for olej:
(Reading database ... 34497 files and directories currently installed.)
Preparing to unpack linux-dtb-next-sunxi_5.46_armhf.deb ...
Unpacking linux-dtb-next-sunxi (5.46) over (5.41) ...
Setting up linux-dtb-next-sunxi (5.46) ...
- Сам образ ядра:
olej@orangepione:~/armbian.build$ sudo dpkg -i linux-image-next-sunxi_5.46_armhf.deb
(Reading database ... 34500 files and directories currently installed.)
Preparing to unpack linux-image-next-sunxi_5.46_armhf.deb ...
update-initramfs: Deleting /boot/initrd.img-4.14.18-sunxi
Removing obsolete file uInitrd-4.14.18-sunxi
Unpacking linux-image-next-sunxi (5.46) over (5.41) ...
Setting up linux-image-next-sunxi (5.46) ...
update-initramfs: Generating /boot/initrd.img-4.14.48-sunxi
update-initramfs: Converting to u-boot format
- u-boot
olej@orangepione:~/armbian.build$ sudo dpkg -i linux-u-boot-next-orangepione_5.46_armhf.deb
(Reading database ... 34511 files and directories currently installed.)
Preparing to unpack linux-u-boot-next-orangepione_5.46_armhf.deb ...
Unpacking linux-u-boot-orangepione-next (5.46) over (5.38) ...
Setting up linux-u-boot-orangepione-next (5.46) ...
Updating u-boot on /dev/mmcblk0
Как видно, даты всех значащих файлов /boot поменялись, на сегодня:
olej@orangepione:~/armbian.build$ ls -l /boot
total 20232
-rw-rw-r-- 1 root root     201 июн  5 11:17 armbianEnv.txt
-rw-rw-r-- 1 root root    1624 янв 27 19:09 armbian_first_run.txt.template
-rw-rw-r-- 1 root root  230454 янв 27 19:09 boot.bmp
-rw-rw-r-- 1 root root    3636 янв 27 19:07 boot.cmd
-rw-rw-r-- 1 root root    4882 янв 27 19:09 boot-desktop.png
-rw-rw-r-- 1 root root    3708 янв 27 19:11 boot.scr
-rw-r--r-- 1 root root  158621 июн  6 19:59 config-4.14.48-sunxi
lrwxrwxrwx 1 root root      17 июн  8 11:50 dtb -> dtb-4.14.48-sunxi
drwxr-xr-x 3 root root   12288 июн  8 11:50 dtb-4.14.48-sunxi
lrwxrwxrwx 1 root root      17 июн  8 09:17 dtb.old -> dtb-4.14.18-sunxi
-rw-r--r-- 1 root root 5099078 июн  8 11:58 initrd.img-4.14.48-sunxi
drwxrwxr-x 2 root root    4096 янв 27 19:09 overlay-user
-rw-r--r-- 1 root root 3101484 июн  6 19:59 System.map-4.14.48-sunxi
lrwxrwxrwx 1 root root      21 июн  8 11:58 uInitrd -> uInitrd-4.14.48-sunxi
-rw-r--r-- 1 root root 5099142 июн  8 11:58 uInitrd-4.14.48-sunxi
-rwxr-xr-x 1 root root 6976256 июн  6 19:59 vmlinuz-4.14.48-sunxi
lrwxrwxrwx 1 root root      21 июн  8 11:58 zImage -> vmlinuz-4.14.48-sunxi
Да и версии "поплыли" с 4.14.18 на 4.14.48.

REBOOT

Оффлайн Olej

Re: обновление ядра Armbian
« Ответ #4 : Июнь 08, 2018, 02:42:56 pm »
REBOOT
Загрузка благополучная.
Все настройки (логины, установленные пакеты...) сохранились.
olej@orangepione:~$ uname -a
Linux orangepione 4.14.48-sunxi #1 SMP Wed Jun 6 19:14:27 EEST 2018 armv7l GNU/Linux
Обновлённая версия ядра.
olej@orangepione:~$ df
Filesystem     1K-blocks    Used Available Use% Mounted on
udev              216804       0    216804   0% /dev
tmpfs              50516    2700     47816   6% /run
/dev/mmcblk0p1   1682872 1458964    177320  90% /
tmpfs             252576       0    252576   0% /dev/shm
tmpfs               5120       4      5116   1% /run/lock
tmpfs             252576       0    252576   0% /sys/fs/cgroup
tmpfs             252576       0    252576   0% /tmp
log2ram            51200    1464     49736   3% /var/log
tmpfs              50512       0     50512   0% /run/user/1000
Свободного места даже больше стало (это на SD всего 2 Gb !) - 177Mb - этого более чем достаточно для всяких собственных приложений автоматизации.