Обновить BIOS
Самый простой способ записи флешки для этого в [1]:В Windows вместо
dd
можно использовать утилиту Image Writer for Windows [2].Подготовить SSD к работе
Для X220 подходят только диски высотой 7 мм, поэтому чтобы установить SSD (Intel 320 series 80 GB), нужно снять сверху пластиковую рамку, увеличивающую высоту до 9,5 мм, комплектные винты придется заменить на М2х3 мм или М2х4 мм.Надо узнать размер страницы flash-памяти, используемой в накопителе, и выровнять разделы по границам страниц. Рекомендуется использовать GPT вместо MBR. Для работы с таким способом разметки понадобится утилита
gdisk
или parted
вместо стандартного fdisk
[3].Google говорит, что для моего диска нужно выравнить разделы по 8 KB (16384 сектора) [4].
Загрузка будет происходить в режиме UEFI-only, поэтому потребуется раздел >= 200 MB с FAT32 и установленным флагом boot [5].
Еще раз по шагам для чистого диска (все, кроме последнего пункта, я выполнял в
parted
):- Создать новую GPT.
- Не забывая про выравнивание, создать первый раздел 200 MB для загрузчика.
- Выставить флаг boot для этого раздела (в
parted
командаset 1 boot on
, 1 — номер раздела). - Создать второй раздел для
/
. - Создать третий раздел для
/home
. - Выйти из
parted
и сделать ФС FAT32 на первом разделе:mkfs.vfat -F32 /dev/sda1
.
Приготовить загрузочную флешку
UEFI пришел на смену BIOS, X220 не исключение, надо как-то с этим жить. Для начала в BIOS (ну да, UEFI) Setup включить режим загрузки UEFI-only, чтобы не было соблазна загружаться в режиме совместимости. Есть 2 проблемы:- Официальный установочный образ Арча включает только старый GRUB, который ни GPT, ни UEFI не поддерживает. Решение — неофициальный, но современный и прогрессивный проект Archboot [6].
- Archboot не грузится в UEFI-only после обычной записи с помощью
dd
. Нужно вручную ставить Syslinux на флешку и разархивировать ISO-образ Archboot на нее [7].
Установить базовую систему
Загружаемся с флешки, запускается скрипт установки. Делаем все по плану вплоть до установки загрузчика. В автоматическом режиме он устанавливаться не захотел, но хотя бы проинструктировал, что нужно делать дальше. Примечания по установке:- Не определилась WiFi-карта, хотя модули загружены. Поэтому в свободной консоли поднимаем сеть руками:
ifconfig wlan0 up iwconfig wlan0 essid "YOUR_SSID" dhcpcd wlan0
- Выбираем ручное монтирование разделов (раздел
/dev/sda1
не переформатировать, потому что по умолчаниюmkfs.vfat
создает FAT16), монтируем/dev/sda1 => /boot/efi, /dev/sda2 => /, /dev/sda3 => /home
. В Archboot корень устанавливаемой системы находится в/tmp/install
. - Выбор пакетов, ставим grub загрузчиком, отмечаем группу base-devel.
Добавляем пакеты:
- curl — пригодится
- hdparm — может пригодится для тонкой настройки\проверки диска
- links — консольный браузер для тяжелых времен
- pptpclient — для доступа к университетской VPN
- openssh
- rfkill — для управления wlan-карточкой
- sqlite3 — много где используется, можно сразу поставить
- sudo
- wireless_tools
- cryptsetup — шифрование не надо
- e2fsprogs — не нужны утилиты для этой ФС
- grub — старый GRUB не поддерживает GPT, поэтому нужен GRUB2
- heirloom-mailx — нет потребности работать с почтой в консоли
- jfsutils — не нужны утилиты для этой ФС
- lvm2 — не использовал и не собираюсь в ближайшем будущем
- mdadm — RAID на ноутбуке не нужен
- nano — есть vi
- pcmciautils — нет таких устройств
- reiserfsprogs — не нужны утилиты для этой ФС
- xfsprogs — не нужны утилиты для этой ФС
- Configure system.
/etc/rc.conf
:
еще убрать демон network из списка запускаемых, ему на смену все равно придет networkmanager.LOCALE="ru_RU.UTF-8" CONSOLEFONT=UniCyr_8x16 HOSTNAME="vlap"
- в
/etc/fstab
добавить к обоим разделам опции (послеdefaults
)noatime
иdiscard
— для SSD; - в
/etc/locale.gen
раскомментировать UTF-8 локали ru_RU и en_US; - в
/etc/pacman.conf
раскомментировать репозиторийmultilib
и добавить французский сервер сyaourt
'ом и другими пакетами:
[archlinuxfr] Server = http://repo.archlinux.fr/$arch
Установить GRUB2 [8]
- Подключаем модуль Device-mapper support
modprobe dm-mod
- Делаем
chroot
в установленную систему, предварительно забиндив в будущий корень уже примонтированные системные каталоги:
mount --bind /dev /tmp/install/dev mount --bind /proc /tmp/install/proc mount --bind /sys /tmp/install/sys chroot /tmp/install
- Устанавливаем пакет GRUB2 для UEFI:
pacman-db-upgrade pacman -Syy pacman -S grub2-efi-x86_64
- Устанавливаем загрузчик в UEFI-раздел.
Хотяgrub_efi_x86_64-install --root-directory=/boot/efi --boot-directory=/boot/efi/efi --bootloader-id=grub --no-floppy --recheck --debug
--boot-directory
и указана как/boot/efi/efi
, у меня создалась почему-то/boot/efi/EFI
.
- Осталось только сгенерировать конфигурационный файл для GRUB2 и скопировать файл grubx64.efi в нужное место:
grub-mkconfig -o /boot/efi/EFI/grub/grub.cfg cp /boot/efi/EFI/grub/grubx64.efi /boot/efi/EFI/boot/bootx64.efi
Исправляем ошибку при загрузке GRUB2 error: no suitable mode found [8]
- Копируем шрифт:
cp /usr/share/grub/unicode.pf2 /boot/efi/EFI/grub/
- Добавляем в
/boot/efi/EFI/grub/grub.cfg
строки:
insmod efi_gop insmod efi_uga insmod font if loadfont ${prefix}/unicode.pf2 then insmod gfxterm set gfxmode=auto set gfxpayload=keep terminal_output gfxterm fi
Источники
- Обновление BIOS ThinkPad X220 с использованием Linux http://www.floccinaucinihilipilification.net/blog/2011/10/2/updating-the-bios-of-a-thinkpad-x220-using-linux.html
- Загрузить Image Writer for Windows https://launchpad.net/win32-image-writer/+download
- Arch Wiki. SSD https://wiki.archlinux.org/index.php/SSD#Tips_for_Maximizing_SSD_Performance
- Тема о выравнивании для SSD 320 series на форуме Intel http://communities.intel.com/thread/22001
- Arch Wiki. Создание раздела для UEFI https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#Create_an_UEFI_SYSTEM_PARTITION_in_Linux
- Arch Wiki. Archboot https://wiki.archlinux.org/index.php/Archboot
- Создание загрузочной флешки для режима UEFI-only https://gitorious.org/tianocore_uefi_duet_builds/pages/Linux_Windows_BIOS_UEFI_boot_USB
- Arch Wiki. GRUB2 https://wiki.archlinux.org/index.php/GRUB2
cool story, bro :) бессонная ночь стоила того ;)
ОтветитьУдалитьДля того, чтобы загрузить Linux из UEFI, по-прежнему требуется раздел FAT32? :(
ОтветитьУдалитьДля того, чтобы загрузить что угодно из UEFI, нужен fat32-EFI SYSTEM PARTITION, в который ложатся бутлоудеры
Удалитьу X220 в bios можно переключиться на legacy
ОтветитьУдалитьЗагрузил archboot с флешки в UEFI-режиме. Все нормально настраивалось, пока не дошло до установки пакетов. Сдыхает с мессагой:
ОтветитьУдалить:: kmod and module-init-tools are in conflict и т.д.
Наверное, надо было сначала руками удалять старый module-init-tools.
Удалить