Установка Archlinux на BTRFS subvolume из уже установленной Fedora
Установка Archlinux на BTRFS subvolume из уже установленной Fedora¶
Бутстрэпим базовую систему¶
Монтируем корневой раздел, в моём случае это /dev/sda9
mount /dev/sda9 /mnt/BtrfsRoot
cd /mnt/BtrfsRoot
btrfs subvolume create @arch
cd tmp
curl -O http://mirror.metrocast.net/archlinux/iso/2017.04.01/archlinux-bootstrap-2017.04.01-x86_64.tar.gz
cd /tmp
tar xzf archlinux-bootstrap-2017.04.01-*.tar.gz
vim /tmp/root.*/etc/pacman.d/mirrorlist
/tmp/root.*/bin/arch-chroot /tmp/root.*/
pacman-key --init
pacman-key --populate archlinux
Затем монтируем subvolume для нашего арчика
mount -t btrfs -o subvol=@arch /dev/sda9 /mnt/arch
rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /tmp/root.x86_64/ /mnt/arch/
mkdir boot/efi
cd /tmp/root.*
cp /etc/resolv.conf etc
mount --bind /boot/efi boot/efi
mount --rbind /proc proc
mount --rbind /sys sys
mount --rbind /dev dev
mount --rbind /run run
chroot /mnt/arch /bin/bash
genfstab -U /mnt >> etc/fstab
pacman -Sy base base-devel btrfs-progs
pacman -Sy grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch-grub --boot-directory=/boot/ --recheck --debug
grub-mkconfig > /boot/grub/grub.cfg
Устанавливаем intel-ucode если у нас проц от Intel==¶
pacman -Sy intel-ucode
Устанавливаем обновление времени по ntp
timedatectl set-ntp true
echo имя_хоста > /etc/hostname
locale-gen
и указываем нужную локаль в качестве системной
echo 'LANG=en_US.UTF-8' > /etc/locale.conf
echo 'KEYMAP=ruwin_ct_sh-UTF-8' > /etc/vconsole.conf
и указываем нужный шрифт, добавив в /etc/vconsole.conf строку вида
FONT=ter-u16
Выполнять systemctl restart systemd-vconsole-setup.service для немедленного подхвата изменений в нашем случае не нужно, изменения понадобятся только после первой перезагрузки.
Пересобираем initcpio
mkinitcpio -p linux
Решаем проблему с подгрузкой шрифтов для консолей¶
Для решения данной проблемы необходимо создать правило UDEV, которое будет срабатывать на появление нового устройства /dev/fb* в файле /etc/udev/rules.d/96-fb-all-vcs-setup.rules, добавив в него
# Setup all vconsoles for a new framebuffer device
KERNEL=="fb*", ACTION=="add", RUN+="/bin/sh /etc/udev/all-vcs-set.sh"
и скрипт, который оно будет запускать:
/etc/udev/all-vcs-set.sh
#!/bin/sh
# We must load locale for $VCS util
. /etc/locale.conf
export LANG
VCS=/usr/lib/systemd/systemd-vconsole-setup
# Setup the "real" (current) console first
$VCS
# Setup all other active consoles
for VC in /dev/vcs[0-9]*
do $VCS /dev/tty${VC#/dev/vcs}
done
Выбираем временную зону¶
rm /etc/localtime
ln -s /usr/share/zoneinfo/Зона/Субзона /etc/localtime
ln -s /usr/share/zoneinfo/Europe/Chisinau /etc/localtime
timedatectl set-ntp true
hwclock --systohc --utc
Устаналиваем gpm для поддержки мыши в консоли
pacman -Su gpm
systemctl start gpm.service
systemctl enable gpm.service
127.0.1.1 arch.localdomain arch
Указываем пароль
passwd
Установка Gnome¶
pacman -Sy gnome gnome-boxes gnome-initial-setup gnome-multi-writer gnome-packagekit gnome-software cheese file-roller gedit gedit-code-assistance gnome-calendar gnome-clocks gnome-color-manager gnome-documents gnome-getting-started-docs gnome-logs gnome-maps gnome-nettool gnome-photos gnome-sound-recorder gnome-todo gnome-tweak-tool gnome-weather seahorse gnome-dictionary gnome-user-share gnome-themes-extra gnome-keyring gnome-characters gnome-backgrounds chrome-gnome-shell
systemctl enable gdm.service
Устанавливаем плагины NetworkManager для VPN¶
pacman -Sy modemmanager networkmanager networkmanager-pptp networkmanager-openvpn networkmanager-openconnect
systemctl enable NetworkManager.service
systemctl enable NetworkManager-dispatcher.service
systemctl enable ModemManager.service
Устанавливаем bluez для работы с bluetooth-гарнитурами¶
pacman -Sy pulseaudio pulseaudio-alsa pulseaudio-bluetooth bluez bluez-libs bluez-utils bluez-firmware
systemctl enable bluetooth.service
Создание пользователя admin для логина в Gnome¶
sudo useradd -m -g users -G wheel admin
passwd admin
EDITOR=vim visudo
%wheel ALL=(ALL) ALL
Установка yaourt¶
Добавляем
[archlinuxfr]
Server = http://repo.archlinux.fr/x86_64
SigLevel = Optional TrustAll
pacman -Sy yaourt
Установка необходимого ПО¶
sudo -iu admin
sudo pacman -Sy mpv chromium firefox thunderbird filezilla keepassx2 bridge-utils net-tools iproute2 namcap calibre keepassxc pwgen
yaourt -Sy google-chrome copyq copyq-plugin-itemweb nagstamon tilix skypeforlinux telegram bindfs apache-tools(если уже есть httpd, то не надо) httpstat-go the_silver_searcher
Установка необходимых шрифтов¶
yaourt -S ttf-croscore ttf-dejavu ttf-liberation ttf-carlito ttf-caladea ttf-droid ttf-dejavu ttf-vista-fonts ttf-dejavu ttf-liberation noto-fonts fake-ms-fonts ttf-ubuntu-font-family-ib ttf-dejavu-ib
https://tehnojam.pro/category/software/delaem-krasivye-shrifty-s-novym-freetype2-v-linux.html
Установка pkgfile для поиска пакетов, предоставляющих файл по маске¶
pacman -Sy¶
systemctl enable pkgfile-update.timer
Установка command-not-found¶
Устанавливаем command-not-found для того, что-бы система предлагала установить пакет, в случае если приложение не установлено в системе
yaourt -Sy command-not-found
Устаналиваем retroarch¶
sudo pacman -Sy libretro-beetle-psx libretro-beetle-psx-hw libretro-blastem libretro-bsnes libretro-desmume libretro-genesis-plus-gx libretro-mupen64plus libretro-nestopia libretro-nestopia libretro-overlays libretro-reicast libretro-scummvm libretro-shaders libretro-shaders-glsl libretro-snes9x libretro-yabause
Устаналиваем plymouth¶
yaourt -Sy plymouth
vim /etc/mkinitcpio.conf
HOOKS="base udev plymouth autodetect modconf block btrfs filesystems keyboard fsck"
в /boot/efi/efi/arch-grub/grub.cfg добавляем quiet splash
vim /boot/efi/efi/arch-grub/grub.cfg
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
systemctl disable gdm.service
systemctl enable gdm-plymouth.service