Найти тему
Лайфхаки

Install ArchLinux on USB HDD/Flash HOWTO

Поработав неделю с флэшки, решил провести работу над ошибками.

Исходя из полученного опыта могу сказать что:

  • Необходима файловая система, поддерживающая сжатие
  • Необходимо максимально легкое GUI-окружение

Выбор стоял между 3 ФС, поддерживающими сжатие

  • jffs2 — ФС для встраиваемых устройств, естественно умеет сжатие и правильную работу с SDD
  • reiserfs4 — нативно поддерживается в Linux, умеет сжатие
  • btrfs — позиционируется как аналог ZFS и дефолтная ФС для Linux в будущем, умеет сжатие и правильную работу с SDD

Я остановил свой выбор на btrfs, т.к. она умеет работать с SDD-накопителями и не требует обязательной поддержки MTD-устройств при загрузке

В качестве GUI-окружения я выбрал IceWM, т.к. это наиболее любимый мною WM

Итак приступим к установке:

1. Разбиваем флэшку на разделы

  • раздел /boot 100Mb ext2
  • раздел / 1900Mb btrfs
  • раздел /DATA 2000Mb vfat

Раздел /boot обязательно должен быть отформатирован в ext2, т.к. grub не поддерживает загрузку с btrfs без наложения патчей, так же нам не требуется журналирование на этом разделе.

Для создания ФС на корневом разделе нам потребуются btrfs-progs, которые находятся в extra, вы можете скачать их по сети или перенести на флэшке с другого компьютера.

Я устанавливал систему не с диска, а с предустановленного ArchLinux, поэтому мне было несколько проще:

pacman -S btrfs-progs-unstable
mkfs.btrfs -L ARCH /dev/sdb2
mount /dev/sdb2 /mnt
mount /dev/sdb1 /mnt/boot
pacman —root=/mnt -Sy base

Далее редактируем конфигурационные файлы на новой системе:

/mnt/etc/fstab

UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX / btrfs rw,relatime,compress 0 1
UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX /boot ext2 defaults 0 1
none /tmp tmpfs defaults,noatime,mode=1777,rw 0 0
none /var/abs tmpfs defaults,noatime,mode=1777,rw 0 0
none /var/log tmpfs defaults,noatime,mode=1777,rw 0 0

Замените XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX на UUID`ы ваших разделов, которые можно посмотреть с помощью команды blkid

/mnt/etc/hosts

дописываем строчку:

127.0.0.1  youhostname

/mnt/etc/locale.gen

раскомментируйте все строки с ru_RU

/mnt/etc/mkinitcpio.conf

MODULES=»crc32c libcrc32c zlib_deflate btrfs»
HOOKS=»base udev usb autodetect pata scsi sata filesystems»

/mnt/etc/rc.conf

LOCALE=»ru_RU.UTF-8″
HARDWARECLOCK=»localtime»
TIMEZONE=»Asia/Yekaterinburg»
KEYMAP=»ruwin_cplk-UTF-8″
CONSOLEFONT=ruscii_8x16
CONSOLEMAP=
USECOLOR=»yes»

/mnt/boot/grub/menu.lst

timeout 5
default 0
color light-blue/black light-cyan/blue
title Arch Disk0
root (hd0,0)
kernel /vmlinuz26 root=/dev/disk/by-uuid/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX vga=773 ro compress
initrd /kernel26-btrfs.img

остальное на ваше усмотрение

далее:

cd /mnt
mount —bind /dev /mnt/dev
mount -t proc proc /mnt/proc
chroot /mnt
locale-gen
mkinitcpio -g kernel26-btrfs.img
mv kernel26-btrfs.img /boot/
grub

ставим груб в корень флэшки, у меня это /dev/sdb

После перезагрузки компьютера с флэшки попадаем в консоль свежеустановленного ArchLinux

Если не можете загрузиться, поменяйте номер диска в menu.lst

входим как root без пароля

Теперь можно приступать к настройке системы и установке необходимого ПО

pacman -Sy mc htop xorg xf86-input-synaptics icewm menumaker tilda

в ~/.xinitrc пишем

#!/bin/bash
exec icewm-session

~/.icewm/startup

#!/bin/bash
rm -f ~/.icewm/menu
mmaker -f IceWM
tilda &
exit 0

Даем ему права на исполнение chmod 755 ~/.icewm/startup

Конфигурируем Xorg

X -configure
mv ~/xorg.conf.new /etc/X11/xorg.conf

удаляем в нем строчку BusID «PCI:0:1:0″

запускаем startx

Если все сделано правильно, то у вас запустится IceWM

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

Рекомендую особо не увлекаться с установкой кучи браузеров, мессенджеров и т.д.

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

Browser — Opera
IM — Pidgin-light
Editor — Vim
Viewer — GQview
IRC — irssi
FileManager — Midnight Commander

+ я поставил софт для диагностики сети, wine, qemu, samba

почистив кэш pacman, каталоги info и man у меня система заняла 825 мегабайт, для сравнения на ext3 меньшее количество софта едва уместилось в 1900 мегабайт.

В итоге у меня осталось более 900 мегабайт на корневом разделе, которыми я могу воспользоваться для установки дополнительного ПО или хранения данных.

OpenOffice ставить не стал, мне хватает функционала Google.Docs, но при желании места для него предостаточно.