Слу­чает­ся, что сис­тему нуж­но пере­уста­нав­ливать или раз­ворачи­вать на дру­гом компь­юте­ре. Для это­го быва­ет удоб­но иметь заранее под­готов­ленную флеш­ку, где будет дис­три­бутив со все­ми нуж­ными нас­трой­ками. В этой статье я покажу, как сде­лать такой образ на осно­ве Arch Linux — с авто­заг­рузкой гра­фичес­кой сре­ды и базовым набором прог­рамм. Мы сде­лаем две вер­сии: для дес­кто­па на x86-64 и для Raspberry Pi.
 

Десктоп

Нач­нем с дес­ктоп­ной вер­сии. Для нее нам понадо­бит­ся добавить в Arch гра­фичес­кое окру­жение и автостарт.

Ес­ли же тебе нужен сер­верный вари­ант, то это руководс­тво можешь рас­смат­ривать как при­мер, а весь нуж­ный софт выберешь сам. Это прос­то: находишь опи­сание нуж­ного сер­виса на офи­циаль­ной ви­ки и при­меня­ешь инс­трук­цию к катало­гу airootfs как кор­ню тво­ей будущей сис­темы. Впро­чем, всё по поряд­ку.

Соб­рать спи­сок пакетов, который бы устро­ил всех, нере­аль­но. Поэто­му при­веду при­мер уста­нов­ки и нас­трой­ки на осно­ве того, что я выб­рал для себя, а ты уже сам решишь, что убрать и добавить.

Вот что будет на нашей флеш­ке:

  • ба­зовые пакеты Archiso для сбор­ки офи­циаль­ного обра­за;
  • гра­фичес­кая сис­тема X.org;
  • ра­бочая сре­да Xfce 4;
  • бра­узер;
  • нес­коль­ко тек­сто­вых редак­торов;
  • до­пол­нитель­ные пакеты, нуж­ные в пов­седнев­ной работе.
 

Подготовка

В статье «Кар­манный Arch. Дела­ем флеш­ку с живым обра­зом Arch Linux» я уже рас­ска­зывал о том, как сде­лать заг­рузоч­ный внеш­ний диск с Arch Linux. В этой же статье я покажу, как сде­лать свой кон­фиг для ути­литы Archiso. Даль­ше ты можешь вос­поль­зовать­ся инс­трук­цией из пер­вой статьи, что­бы соз­дать образ для такой же флеш­ки.

Даль­ше мы будем соз­давать и напол­нять каталог airootfs и сос­тавлять спи­сок пакетов в фай­ле packages.x86_64.

Ес­ли при уста­нов­ке пакета в сис­тему будут необ­ходимы спе­циаль­ные нас­трой­ки, мы вне­сем их в airootfs.

 

Минимальный образ

Об­раз я окрестил xrerus, где X — в честь гра­фичес­кой сре­ды (или жур­нала «Хакер», как тебе боль­ше нра­вит­ся), re — от release engineering, ну а почему rus, ты, думаю, догада­ешь­ся.

Все дей­ствия мы будем про­изво­дить с при­виле­гиями супер­поль­зовате­ля, так что сра­зу пиши su и вво­ди пароль.

Пос­коль­ку за осно­ву я взял офи­циаль­ный образ Arch Linux, мы нач­нем с того, что ско­пиру­ем его и пере­име­нуем в xrerus.

cp -rv /usr/share/archiso/configs/releng xrerus

Ли­бо мож­но сра­зу ска­чать образ из офи­циаль­ного репози­тория, если ты еще это­го не сде­лал:

git clone https://gitlab.archlinux.org/archlinux/archiso.git

Кста­ти, при выборе пакетов огра­ничим­ся толь­ко офи­циаль­ным репози­тори­ем. При­чины две: более надеж­ная под­дер­жка пакетов и уста­нов­ка без допол­нитель­ных дей­ствий. Добав­ление пакетов из дру­гих репози­тори­ев, воз­можно, рас­смот­рим в дру­гой раз.

Для удобс­тва записы­ваем путь до катало­га с кон­фигами в перемен­ную:

export ARCHISO=/home/ЛОГИН/xrerus
 

Графическая система

В минималь­ном обра­зе глав­ная задача — уни­вер­саль­ность. Нам нуж­но, что­бы он работал на боль­шинс­тве компь­юте­ров. Поэто­му добав­ляем xorg-server, менед­жер вхо­да, откры­тые драй­веры и сер­вер VNC.

Нач­нем с нас­трой­ки менед­жера вхо­да LightDM.

Соз­даем каталог для фай­лов нас­тро­ек:

mkdir -p $ARCHISO/airootfs/etc/lightdm

Файл нас­тро­ек greeter-gtk:

vim $ARCHISO/airootfs/etc/lightdm/lightdm-gtk-greeter.conf
[greeter]
background = /usr/share/backgrounds/wallpaper

Не забыва­ем ско­пиро­вать файл для фона.

mkdir -p $ARCHISO/airootfs/usr/share/backgrounds
cp -v ~wallpaper $ARCHISO/airootfs/usr/share/backgrounds/wallpaper

info

Мы не ста­вим никаких пакетов с обо­ями, так что для начала будет чер­ный фон, а кра­соту можешь добавить сам.

Вклю­чаем авто­запуск сер­виса LightDM:

ln -sv /usr/lib/systemd/system/lightdm.service $ARCHISO/airootfs/etc/systemd/system/display-manager.service

В конец фай­ла packages.x86_64 дописы­ваем уста­нав­лива­емые пакеты:

$ARCHISO/packages.x86_64
...
xorg-server
xorg-xinit
xorg-xrandr
lightdm
lightdm-gtk-greeter
xf86-video-dummy
xf86-video-fbdev
xf86-video-vesa
xf86-video-amdgpu
xf86-video-ati
xf86-video-intel
xf86-video-nouveau
autorandr
tigervnc
 

Рабочая среда Xfce 4

Тут у нас есть два вари­анта: мож­но уста­новить груп­пу пакетов xfce4, а мож­но выб­рать вруч­ную толь­ко самые нуж­ные пакеты. Мы пой­дем по вто­рому пути.

До­бав­ляем пакеты в спи­сок packages.x86_64:

xfwm4
xfce4-battery-plugin
xfce4-notifyd
xfce4-panel
xfce4-power-manager
xfce4-pulseaudio-plugin
xfce4-session
xfce4-settings
xfce4-terminal
xfce4-xkb-plugin
xfce4-clipman-plugin
accountsservice
xdg-utils
polkit
 

Софт

Даль­ше я прос­то перечис­лю все пакеты с соф­том, которые я выб­рал для сво­его обра­за.

Бра­узе­ры:

$ARCHISO/packages.x86_64
...
luakit
firefox
firefox-i18n-ru
chromium

Ре­дак­торы:

$ARCHISO/packages.x86_64
...
vim
nano
mousepad
leafpad

Средс­тва ком­муника­ции:

$ARCHISO/packages.x86_64
...
discord
telegram-desktop
 

Дополнительные пакеты

Нам понадо­бят­ся шриф­ты:

$ARCHISO/packages.x86_64
...
ttf-droid
ttf-croscore
ttf-liberation
ttf-dejavu
ttf-inconsolata

Зву­ковые драй­веры и ути­литы:

$ARCHISO/packages.x86_64
...
alsa-firmware
alsa-plugins
alsa-utils
pipewire-pulse
pipewire-alsa
pipewire-jack
rtkit
pavucontrol

Ес­ли на тво­ей машине есть Bluetooth, то ути­литы для работы с ним:

$ARCHISO/packages.x86_64
...
bluez
bluez-utils
bluez-obex
blueman
 

Сетевые утилиты

Тут нам надо опре­делить­ся, ка­ким из дос­тупных средств мы будем нас­тра­ивать сеть. Так как у нас дес­ктоп­ный вари­ант, мой выбор — NetworkManager.

Ав­тозаг­рузка NetworkManager при стар­те:

ln -sv /usr/lib/systemd/system/NetworkManager.service $ARCHISO/airootfs/etc/systemd/system/multi-user.target.wants/NetworkManager.service
ln -sv /usr/lib/systemd/system/NetworkManager-dispatcher.service $ARCHISO/airootfs/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service
ln -sv /usr/lib/systemd/system/NetworkManager-wait-online.service $ARCHISO/airootfs/etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service

Так­же не забудем запус­тить сер­вис сопос­тавле­ния домен­ных имен:

ln -sv /usr/lib/systemd/system/systemd-resolved.service $ARCHISO/airootfs/etc/systemd/system/systemd-resolved.service

Ус­танав­лива­ем имя хос­та:

echo archi > $ARCHISO/airootfs/etc/hostname

Пи­шем /etc/hosts:

vim $ARCHISO/airootfs/etc/hosts
127.0.0.1 localhost
::1 localhost
127.0.1.1 archi

Ес­ли хост исполь­зует ста­тичес­кий IP-адрес, то его сле­дует ука­зать вмес­то 127.0.1.1. Если у сис­темы есть fully qualified domain name (FQDN), вставь его перед име­нем хос­та. Под­робнее про нас­трой­ку сети — в офи­циаль­ной вики.

До­бав­ляем пакеты в спи­сок для уста­нов­ки.

$ARCHISO/packages.x86_64
...
network-manager-applet
networkmanager
networkmanager-openconnect
networkmanager-openvpn
networkmanager-pptp
networkmanager-vpnc
networkmanager-l2tp
dnsutils
modemmanager
mobile-broadband-provider-info

И не забудем про поль­зователь­ские ути­литы:

$ARCHISO/packages.x86_64
...
openssh
git
wget
curl
 

Работа с файлами

Стан­дар­тный фай­ловый менед­жер в Xfce 4 — это Thunar. Добав­ляем его.

$ARCHISO/packages.x86_64
...
thunar
thunar-archive-plugin
thunar-media-tags-plugin
thunar-volman

Для более ком­фор­тной работы с фай­ловыми сис­темами ста­вим допол­нитель­ные пакеты:

$ARCHISO/packages.x86_64
...
gvfs
gvfs-nfs
gvfs-smb
nfs-utils
ntfs-3g
sshfs
 

Дополнительный софт

Даль­ше в спис­ке нет обя­затель­ных и незаме­нимых прог­рамм, так что можешь уби­рать или заменять что угод­но на свое усмотре­ние.

Я себе добавил:

  • GParted — гра­фичес­кий редак­тор раз­делов и дис­ков (ути­лита осо­бен­но при­годит­ся, если ты собира­ешь­ся исполь­зовать образ как уста­новоч­ный диск);
  • feh — смот­релка кар­тинок;
  • Flameshot — если понадо­бит­ся делать скрин­шоты;
  • mpv — аудио- и виде­опле­ер;
  • htop — монитор сис­темных ресур­сов;
  • mc — двух­панель­ный фай­ловый менед­жер.

Так­же я добавил нес­коль­ко самых важ­ных сетевых ути­лит и ком­плект архи­вато­ров:

$ARCHISO/packages.x86_64
...
gzip
p7zip
unrar
unzip
file-roller

С уста­нов­кой пакетов на этом всё, но есть еще нес­коль­ко нас­тро­ек, которые нам надо сде­лать.

 

Настройка

На опре­делен­ном эта­пе заг­рузки управле­ние перехо­дит к об­разу initramfs-linux.img. Для уста­новоч­ного ISO этот образ осо­бый. Так как наш инсталл Arch Linux не будет отли­чать­ся от обыч­ной уста­нов­ки на жес­ткий диск, мы можем исполь­зовать стан­дар­тные нас­трой­ки для соз­дания initramfs-linux.img.

Ес­ли менять нас­трой­ки mkinitcpio, то кон­фиг перес­танет быть при­год­ным для сбор­ки обыч­ных ISO-обра­зов. Это лег­ко испра­вить, либо вер­нув потом нас­трой­ки mkinitcpio, либо сде­лав в этом фай­ле две сек­ции: одну — для сбор­ки ISO, дру­гую — для наших IMG. Но на прак­тике мы пой­дем по наибо­лее лег­кому пути — выберем соз­дание initramfs-linux.img с нас­трой­ками по умол­чанию.

Так как пред­полага­ется, что мы дела­ем образ из сис­темы Arch Linux x86-64, мы можем под­смот­реть при­мер фай­ла mkinitcpio.conf на нашей сис­теме. Далее пред­полага­ется, что мы исполь­зуем стан­дар­тное ядро — то, что содер­жится в пакете linux.

Ко­пиру­ем фай­лы нас­тро­ек mkinitcpio:

cp -v /etc/mkinitcpio.d/linux.preset $ARCHISO/airootfs/etc/mkinitcpio.d/linux.preset
cp -v /etc/mkinitcpio.conf $ARCHISO/airootfs/etc/mkinitcpio.conf

Уда­ляем из него лиш­нее:

$ARCHISO/airootfs/etc/mkinitcpio.d/linux.preset
ALL_kver="/boot/vmlinuz-linux"
PRESETS=('default')
default_config="/etc/mkinitcpio.conf"
default_image="/boot/initramfs-linux.img"

Ре­дак­тиру­ем файл /etc/mkinitcpio.conf. В парамет­ре HOOKS необ­ходимо убрать autodetect.

$ARCHISO/airootfs/etc/mkinitcpio.conf
...
HOOKS=(base udev microcode modconf kms keyboard keymap consolefont block filesystems fsck)
...

Ко­ман­ды для вклю­чения рус­ской локали­зации возь­мем из офи­циаль­ной вики.

Ста­вим обще­сис­темное зна­чение перемен­ной LANG:

echo LANG=ru_RU.UTF-8 > $ARCHISO/airootfs/etc/locale.conf

Файл /etc/locale.gen содер­жит спис­ки дос­тупных локали­заций сис­темы, рекомен­дую оста­вить эти две:

$ARCHISO/airootfs/etc/locale.gen
en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8

Ста­вим шрифт и парамет­ры изме­нения рас­клад­ки.

$ARCHISO/airootfs/etc/vconsole.conf
KEYMAP=ru
FONT=cyr-sun16

Ус­танови свою вре­мен­ную зону.

ln -sfv /usr/share/zoneinfo/Europe/Moscow $ARCHISO/airootfs/etc/localtime

При необ­ходимос­ти еще мож­но добавить обыч­ного поль­зовате­ля. Нап­ример, archi.

До­писы­ваем в конец фай­ла passwd:

echo archi:x:1000:1000:archi:/home/archi:/usr/bin/bash >> $ARCHISO/airootfs/etc/passwd

И добав­ляем запись в shadow:

echo archi::14871:::::: >> $ARCHISO/airootfs/etc/shadow

warning

Мы задали пус­той пароль поль­зовате­лю, то есть зай­ти в сис­тему он смо­жет без ука­зания пароля.

mkdir -p $ARCHISO/airootfs/home/archi
chown 1000:users $ARCHISO/airootfs/home/archi

По­чему 1000, а не имя archi? Если на тво­ем локаль­ном компь­юте­ре есть поль­зователь с таким же име­нем, но с дру­гим ID, то при уста­нов­ке прав будет исполь­зован его номер с текущей машины и потом при заг­рузке све­жеус­танов­ленной сис­темы у поль­зовате­ля не будет дос­тупа к домаш­нему катало­гу.

Нас­трой­ки поль­зователь­ско­го окру­жения мож­но задать, исполь­зуя каталог skel ($ARCHISO/airootfs/etc/skel).

В готовой соб­ранной сис­теме при исполь­зовании коман­ды useradd фай­лы из катало­га skel копиру­ются в каталог поль­зовате­ля со сме­ной вла­дель­ца.

Уда­ляем ненуж­ные «хуки» pacman.

rm -v $ARCHISO/airootfs/etc/pacman.d/hooks/*

warning

При соз­дании ISO-обра­за дис­ка при помощи mkarchiso часть нас­тро­ек будет сде­лана при помощи «хуков» (сце­нари­ев коман­дной стро­ки) менед­жера пакетов pacman. Эти хуки уда­ляют­ся при соз­дании ISO-обра­за. Если ты пла­ниру­ешь исполь­зовать эту кон­фигура­цию для соз­дания ISO-обра­зов с помощью mkarchiso, не уда­ляй хуки.

Те­перь в наш кон­фиг вхо­дят все пакеты из офи­циаль­ного уста­новоч­ного обра­за. Так­же мы добави­ли гра­фичес­кий интерфейс и сетевой менед­жер, нас­тро­или его авто­заг­рузку и добави­ли минималь­ный набор прог­рамм. Теперь у нас есть кон­фиг для сбор­ки обра­за дис­ка для уста­нов­ки Arch Linux в гра­фичес­ком окру­жении. О том, как собирать сам образ, я писал в статье «Кар­манный Arch», можешь обра­тить­ся к ней.

На этом цве­точ­ки закон­чились, перехо­дим к ягод­кам.

 

Raspberry Pi

Мож­но ли тем же методом сде­лать образ для ARM-сис­тем, нап­ример для Raspberry Pi? Сей­час поп­робу­ем и узна­ем!

У Archiso есть две стан­дар­тные кон­фигура­ции: releng, которая исполь­зует­ся для соз­дания офи­циаль­ных обра­зов ISO, и baseline — минималь­ная кон­фигура­ция для соз­дания собс­твен­ных сбо­рок.

Сна­чала я хотел делать образ на осно­ве baseline, но ока­залось, что переде­лать там надо боль­ше полови­ны, так что я решил собирать образ с нуля. К тому же сов­мести­мость с Archiso для Raspberry Pi нам не нуж­на.

 

Подготовка

Я буду собирать кон­фиг для Raspberry Pi 4B+ — прос­то потому, что она у меня есть. Не думаю, что для дру­гих вер­сий «Малины» будут какие‑то серь­езные отли­чия.

За осно­ву возь­мем образ Arch Linux ARM.

На­пом­ню, что все дей­ствия мы будем делать от рута, пос­коль­ку вла­дель­цем всех фай­лов в катало­ге с нас­трой­ками дол­жен быть root.

su
cd ~

Соз­даем наш рабочий каталог.

mkdir -v pi

Для удобс­тва записы­ваем путь до катало­га с нас­трой­ками в перемен­ную.

export ARCHISO=/root/pi

Стан­дар­тные кон­фиги Archiso сде­ланы для архи­тек­туры x86-64. Мы же будем собирать для AArch64. У нас будут дру­гие репози­тории, поэто­му нам надо отре­дак­тировать файл pacman.conf нашего кон­фига.

Я пишу статью, работая уже на Arch Linux ARM, поэто­му могу прос­то ско­пиро­вать их кон­фиг:

cp /etc/pacman.conf $ARCHISO/pacman.conf

Но для пол­ноты кар­тины при­веду фраг­мент фай­ла, который отли­чает­ся от вер­сии для x86-64:

$ARCHISO/pacman.conf
...
Architecture = aarch64
...
[core]
Include = /etc/pacman.d/mirrorlist
[extra]
Include = /etc/pacman.d/mirrorlist
[alarm]
Include = /etc/pacman.d/mirrorlist
[aur]
Include = /etc/pacman.d/mirrorlist

И под­пра­вим файл со спис­ком репози­тори­ев:

/etc/pacman.d/mirrorlist
Server = http://mirror.yandex.ru/archlinux-arm/$arch/$repo
Server = http://mirror.archlinuxarm.org/$arch/$repo

Как и рань­ше, спи­сок пакетов мы будем хра­нить в фай­ле packages. Соз­дадим файл и заод­но запишем в него пер­вый базовый пакет:

echo base > $ARCHISO/packages.aarch64
 

Пакеты ARM

В нашем будущем обра­зе не хва­тает самых важ­ных пакетов: ядра, заг­рузчи­ка и клю­чей для pacman. Добавим их в конец нашего фай­ла packages.aarch64:

$ARCHISO/packages.aarch64
raspberrypi-bootloader
linux-rpi
linux-rpi-headers
archlinuxarm-keyring

Па­ра слов о ядрах и заг­рузчи­ках. Для Raspberry Pi два заг­рузчи­ка: raspberrypi-bootloader и uboot-raspberrypi. С ядра­ми тоже есть вари­анты, но не каж­дый заг­рузчик под­ходит к каж­дому ядру. В прин­ципе, при попыт­ке пос­тавить несов­мести­мые пакеты выводит­ся соот­ветс­тву­ющее сооб­щение, но на вся­кий слу­чай я тебя пре­дуп­редил.

Так как мы жес­тко при­вязы­ваем­ся к железу, можем заранее записать файл /etc/fstab. Точ­нее, даже обя­затель­но сде­лать это!

echo "/dev/mmcblk0p1 /boot vfat defaults,errors=remount-ro 0 0" > $ARCHISO/airootfs/etc/fstab
 

Настройка загрузчика

Заг­рузчик нас­тра­ивает­ся через файл /boot/config.txt:

vim $ARCHISO/airootfs/boot/config.txt

Там дос­тупно мно­жес­тво нас­тро­ек, которые мож­но менять, а мож­но и не менять. Даль­ше я выс­тавлю их для сво­ей RPi 4B+, а если у тебя дру­гая вер­сия, обя­затель­но сверь­ся с до­кумен­таци­ей.

Стро­ку заг­рузки оставля­ем как есть:

initramfs initramfs-linux.img followkernel

Для отклю­чения чер­ной рам­ки по перимет­ру экра­на добав­ляем такой параметр:

pacman-key --init
pacman-key --populate archlinuxarm

Для отклю­чения цвет­ной зас­тавки перед заг­рузкой:

disable_splash=1

Ес­ли ты под­клю­чаешь монитор по HDMI и в нем нет встро­енных колонок, то звук мож­но выводить через мини‑джек. Для это­го надо ука­зать заг­рузку виде­одрай­вера без вывода зву­ка:

dtoverlay=vc4-kms-v3d-pi4,noaudio=on

Этот параметр дол­жен быть ука­зан выше стро­ки заг­рузки (initramfs initramfs-linux.img followkernel).

Еще мож­но отклю­чить инди­като­ры на пла­те:

dtparam=pwr_led_trigger=default-on
dtparam=pwr_led_activelow=off
dtparam=act_led_trigger=none
dtparam=act_led_activelow=off

И инди­като­ры разъ­ема RJ45:

dtparam=eth_led0=4
dtparam=eth_led1=4

Наз­вание парамет­ров для инди­като­ров недав­но менялось, так что на вся­кий слу­чай сверь­ся с до­ками.

На этом все. Уста­новить пакеты и нас­тро­ить поль­зователь­ское окру­жение можешь по ана­логии с нашим обра­зом xrerus. Дос­таточ­но пов­торить все дей­ствия за исклю­чени­ем раз­дела нас­трой­ки mkinitcpio.

Единс­твен­ная ого­вор­ка: для «Малины» не нуж­ны будут пакеты xf86-video-ati и xf86-video-intel, так что прос­то не добав­ляй их в свой packages.aarch64.

 

Сборка образа для Raspberry Pi

Сбор­ка обра­за тоже про­исхо­дит уже опи­сан­ным выше спо­собом, но есть важ­ное отли­чие: нам понадо­бит­ся сде­лать два раз­дела на дис­ке. Пер­вый раз­дел будет называть­ся boot, и его нуж­но отформа­тиро­вать в FAT32. Вто­рой раз­дел — кор­невой.

Раз­бива­ем диск:

sgdisk -o -n 1:0:+256M -t 1:EF00 -n 2:0:0 -t 2:8300 usb.img

При уста­нов­ке пакетов не забудь исполь­зовать файл со спис­ком пакетов — packages.aarch64.

grep -v '^#' $ARCHISO/packages.aarch64 | tr '\n' ' ' | xargs pacstrap -c -G -M -C $ARCHISO/pacman.conf -- /mnt/usb

Еще тебе надо будет ини­циали­зиро­вать клю­чи pacman. Это мож­но сде­лать во вре­мя соз­дания обра­за, ког­да зай­дешь в chroot, либо уже в готовой сис­теме перед пер­вым запус­ком pacman.

Ини­циали­зиру­ем клю­чи для pacman:

pacman-key --init
pacman-key --populate archlinuxarm
 

Альтернативный вариант

Ес­ли ты пла­ниру­ешь исполь­зовать кар­ту памяти на 32 Гбайт или боль­ше, то соз­давать образ с боль­шим пус­тым мес­том не всег­да удоб­но. В офи­циаль­ном дис­три­бути­ве Arch Linux ARM сде­лано имен­но так. Вся уста­нов­ка про­исхо­дит в каталог, а затем его прос­то паку­ют в архив. При уста­нов­ке на накопи­тель диск раз­бива­ется на нуж­ные раз­делы и фор­матиру­ется, а затем туда рас­паковы­вает­ся архив. Перепи­сывать это руководс­тво я не буду, оно дос­тупно на сай­те про­екта Arch Linux ARM.

GPIO

У Raspberry Pi есть интерфейс для под­клю­чения вся­кого обо­рудо­вания, в том чис­ле самодель­ного, он называ­ется GPIO. Для работы с ним из Python нам понадо­бит­ся пакет из репози­тория AUR — python-rpi-gpio.

Ска­чива­ем python-rpi-gpio, собира­ем и уста­нав­лива­ем его:

git clone https://aur.archlinux.org/python-rpi-gpio.git
cd python-rpi-gpio
makepkg -si
 

Выводы

Соб­рав образ xrerus, мы получи­ли сис­тему, ана­логич­ную офи­циаль­ному уста­новоч­ному дис­ку, но с гра­фичес­ким интерфей­сом и допол­нитель­ными прог­рамма­ми. То же самое мы про­дела­ли и с при­целом на Raspberry Pi, так что теперь у тебя будет шаб­лон, по которо­му ты смо­жешь делать свои дис­три­бути­вы Arch Linux.

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    2 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии