Решил я познакомиться с новым дистрибутивом Linux. Желание возникло из корыстных целей поднять домашний сервер и пробовать запускать на нем различные собственные проекты. Новые знания в Linux, настройка программного обеспечения, программирование - это то, что я буду улучшать.

Arch выбрал потому, что его позиционируют как простой. Простой всмысле без наворотов. Мне он чем-то напомнил SlackWare, но "знактоки" говорят, что он больше Gentoo.

Теперь к деталям. В закромах родины я нашел старую материнскую плату Gigabyte GA-7VT600 c Socket A, оперативу на 1 Гб и видеокарту. Проц Athlon XP 1.2 Ghz, термопасту, корпус и винт пришлось докупить на барахолке. На этоу меня ушло рублей 600.

Скачал с сайта archа дистрибутив и установил его на флешку с помощью unebootin. При загрузке BIOS флешку увидел, но грузитсья с нее не стал. "Видимо старая материнка" - подумал штирлиц. Попробовал  переставить в биосе устройства загрузки с usb-cdrom до usb-hdd - безуспешно. Видимо надо разбираться в чем тут причина и я полез гуглить.

Теперь я расскажу о том, что я узнал и как можно создать загрузочную флешку для загрузки на старой материнской плате. Смысл всей эпопей сводится к тому, чтобы флешку сделать дискетой, а дискету любая материнка пока еще видит. Таким образом можно будет загрузиться с флешки. Флешку дискетой можно сделать с помощью команды

sudo mkdiskimage -Mz4 /dev/sdb 128 64 32

здесь MZ4 - параметр, который указывает создать загрузочный раздел. /dev/sdb - этой моя флешка. 128 - это размер радела в мб, 64 32 - это параметры сектора и цилиндров для создаваемой флешки. Не знаю почему они такие, но подозреваю, что они были такие же как и у загрузочных дискет.

Собственно теперь биос увидит флешку как дискету и стартанет с нее, точнее попытается стартануть, но стартануть пока нечего. Напомню, что последовательность загрузки такая: биос, загрузчик, ос. Биос у нас есть, а вот загрузчик надо положить в загрузочный раздел.

syslinux --install /dev/sdb4 - установит загрузчик в раздел под номером 4 устройства /dev/sdb. После этой команды на /dev/sdb4 появится файл ldlinux.sys. Теперь примонтируем /dev/sdb4 в /mnt и убедимся в этом.

mount -t vfat /dev/sdb4 /mnt.

Рядом к загрузчику положим 3 файла:

ядро vmlinuz_i686;

образ файловой системы initramfs_i686.img;

конфигурационный файл загрузчика syslinux.cfg.

Первым стартует загрузчик, загрузчику надо указать на ядро и на образ файловой системы, в которую надо будет переключиться после загрузки ядра. Ядро содержит информацию об оборудовании, о том. как управлять памятью, процессами и т.д. Файловая система нужна для того, чтобы куда-то переключиться, ну в конце концов надо же нам куда-то деться.

В итоге в syslinux.cfg следующие строки:

Default base

label base

kernel vmlinuz_i686

append initrd=initramfs_i686.img vga=normal rw

Default - какую ветку использовать по-умолчанию. kernel - команда для загрузки ядра. append - команда, которая возволяет добавить опции после загрузки ядра. initrd - указывает на образ файловой системы vga=normal - это команда для настройки framebuffer (можно не указывать, но тогда могут быть проблемы с отображением) rw - монтировать на чтение/запись.

arch_boot - архив со всем необходимым

После этого перезагружаем компьютер и смотрим на результат (предварительно в BIOS указав загрузку с USB-HDD или чего-то такого). Итогом должна стать консоль с приглашением ввести реквизиты для входа в систему.

Мне очень помогла статья этого мужика .