nponeccop

Category:

Установка Арча 32 на DigitalOcean

DO раньше были дебилами — у них была идея (предположительно из-за того, что не осилили pygrub), что ядро лежит снаружи виртуалки. На практике это вылилось, понятное дело, в вечный зеродей. Но с недавнего времени они позволяют, как у белых людей, пускать любое гостевое ядро.

Также у них есть «кастомные имиджи», но это ближе к .ami, чем к .iso, c той разницей, что это говно, а именно «просто имиджи дисков». Ну то есть опять же дебилизм. Не хотите .ami — берите .ovf, например.

Арча у них из коробки нет, но можно водрузить, но инструкции в инете как обычно все из говна.

Поскольку мне нужен 32-битный арч из лигаси соображений, я наконец собрался с силами и водрузил узел в режиме «ядро внутри». До этого были лигаси-узлы с ядром снаружи, которые постепенно превращаются в чемодан без ручки.

Процедура такова:

— создаете дроплет с Центос 6 32 bit (хез можно ли что-то 64-битное; я решил не рисковать)

— вытягиваете .iso файл, из него 3 файла извлекаете в /root/arch: /root/arch/vmlinuz, /root/arch/archiso.img, /root/arch/i686/airootfs.sfs (в 64-битном варианте они есть на зеркалах в готовом виде)

— лепите в grub.cfg новую запись:

title arch

  root (hd0,0)

  kernel /root/arch/vmlinuz archisodevice=/dev/vda1 archisobasedir=root/arch

  initrd /root/arch/archiso.img

Понятно, что имя корневого устройства надо будет скорректировать, если оно когда-нибудь поменяется.

— перегружаете дроплет и заходите в веб-vnc, в котором грузитесь со второго пункта и попадаете в арчевский «красный» установочный CD

— по непонятным причинам (DO-долбоебизм и-или сесюрити) DHCP не работает, надо прописать IP, дефолт роут и DNS. ip add 1.1.1.1/20 dev ens3 ; ip route add default via 2.2.2.2 ; echo nameserver 8.8.8.8 >/etc/resolv.conf. Из трудностей на этом этапе — надо маску в CIDR сконвертить.

— монтируете наш «CD» на запись: mount -o rw,remount /run/archiso/bootmnt/

— стираете там всё кроме root и lost+found:

cd /run/archiso/bootmnt/; rm $(ls -1 | grep -Ev "root|lost'')

— водружаете туда арч с грабом и откидываетесь на спинку кресла (может и можно isolinux но я как-то к грабу привычнее; ну и так как 32 бита — то UEFI исключено):

pacstrap . base linux-lts grub vim

— теперь финт ушами: оказывается в DO 32-битный центос установлен в конфигурации «BIOS+GPT». То есть на /dev/vda у нас GPT, и для установки граба2 вместо grub-legacу нужны 2 приседания. Приседание 1 — запустить gpart, стереть там маленькую партицию и создать на её месте новую с другим кодом ef02. Приседание 2 — сделать «arch-chroot .» (т.е. в новую систему)

— после этого стандартная процедура grub-install /dev/vda && grub-mkconfig — o /boot/grub/grub.cfg 

— меняете пароль рута и энейблите ssh

— можно сконфигурировать сразу сеть, но мне лень

— выходите из чрута и/или перегружаетесь

Error

default userpic

Your reply will be screened

Your IP address will be recorded 

When you submit the form an invisible reCAPTCHA check will be performed.
You must follow the Privacy Policy and Google Terms of use.