NickNill 24.02.2010 16:42
Archlinux — Установка ArchLinux на другой винт или что делать, когда не работает cdrom
ПредисловиеТак получилось, что у меня ноутбук. И вот беда - этот пакостный dvd+rw отказывается писать диски. Точнее писать он их пишет, но только прочитать потом ничего не выйдет.... (ненавижу TSSTcorp)
Но как быть, если нужно поставить ArchLinux, скажем, на usb винт?
Я думаю многие знают, что установка арча это всего лишь установка пакетов на диск, и немного редактирования конфигов =) так вот, для установки вполне сгодится уже имеющийся Арч (кажется мне, что даже любой линукс, в который поставить игрушку pacman сгодится для этого дела).
Поэтому я решил не впадать в депресию, а поставить все-таки арч на винт. Еще я захотел зашифровать корневой раздел =)
Приступим.
Необходимые инструменты:
Уже установленый Арч, или линукс с пакменом =)кому надо - {qt,g}parted/(c)fdiskЖелательно скачанный репозиторий (если у кого быстрый инет либо кому не лень ждать то не надо =))и консоль =) для любителей гуев - можете написать сами =)
Для начала отредактируйте необходимый диск так, как вам хочется. У меня получилось так - sdb1 - /boot , ext2 (обязательно отдельный раздел(если ставите шифрование)!), sdb3 - / (будет зашифрован), sdb4 - swap (можно тоже зашифровать, но я решил что пока это не главное), sdb5 - какая то свалка =)
Создадим своп - mkswap /dev/sdb4
Теперь создадим зашифрованный раздел.
Так мы отформатировали наш раздел в зашифрованный. Теперь подключим его
1 |
<root># cryptsetup luksOpen /dev/sdb3 root
|
После устройства я написал root, но можно открыть его как любое имя. Главное чтобы помнили =)
Устройство появилось в /dev/mapper/root, но сначала его надо отформатировать в какую-нибуть фс.
1 |
|
Теперь можно подключить =)
1 |
|
Следующим шагом будет создать нужные папки.
1 |
<root># mount /dev/mapper/root /mnt/
|
Теперь подключим наш /boot раздел
1 |
|
Все, почти все готово, кроме одной детали =) Редактируем наш конфиг /etc/pacman.conf
У меня он стал таким:
# cat /etc/pacman.conf
#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives
#
# GENERAL OPTIONS
#
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
RootDir = /mnt
DBPath = /mnt/var/lib/pacman/
CacheDir = /var/cache/pacman/pkg/
#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives
#
# GENERAL OPTIONS
#
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
RootDir = /mnt
DBPath = /mnt/var/lib/pacman/
CacheDir = /var/cache/pacman/pkg/
Ну тут выделено все то, что я изменил =) надеюсь вы разберетесь)
теперь смело приступаем к установке.
1 |
|
Ждем пока установится, можно попить чайку =)
Можно еще установить те пакеты, которые вам нужно.
Когда установилось, отмонтируем /mnt/boot - это нужно будет при установке загрузчика.
1 |
|
теперь смонтируем наши /dev, /sys, /proc в будущую систему, чтобы можно было сделать chroot =)
1 |
|
Теперь chroot /mnt =) (если кто не знает - все дальнейшие команды выполняются отсюда, и если установили только базу - есть редактор vi и nano (нано проще =)) )
Поскольку я ставил систему на usb диск, мне надо было отредактировать /etc/mkinitcpio.conf (в новой системе уже), чем я и занялся.
Мой файл получился таким:
# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run. Advanced users may wish to specify all system modules
# in this array. For instance:
# MODULES="piix ide_disk reiserfs"
MODULES=""
# BINARIES
# This setting includes, into the CPIO image, and additional
# binaries a given user may wish. This is run first, so may
# be used to override the actual binaries used in a given hook.
# (Existing files are NOT overwritten is already added)
# BINARIES are dependancy parsed, so you may safely ignore libraries
BINARIES=""
# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in anyway. This is useful for config files.
# Some users may wish to include modprobe.conf for custom module options,
# like so:
# FILES="/etc/modprobe.conf"
FILES=""
# HOOKS
# This is the most important setting in this file. The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added. Run 'mkinitcpio -H ' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
# This setup specifies all modules in the MODULES setting above.
# No raid, lvm2, or encrypted root is needed.
# HOOKS="base"
#
# This setup will autodetect all modules for your system and should
# work as a sane default
# HOOKS="base udev autodetect pata scsi sata filesystems"
#
# This is identical to the above, except the old ide subsystem is
# used for IDE devices instead of the new pata subsystem.
# HOOKS="base udev autodetect ide scsi sata filesystems"
#
# This setup will generate a 'full' image which supports most systems.
# No autodetection is done.
# HOOKS="base udev pata scsi sata usb filesystems"
#
# This setup assembles an pata raid array with an encrypted root FS.
# Note: See 'mkinitcpio -H raid' for more information on raid devices.
# HOOKS="base udev pata raid encrypt filesystems"
#
# This setup loads an lvm2 volume group on a usb device.
# HOOKS="base udev usb lvm2 filesystems"
HOOKS="base udev autodetect ide usb usbinput pata scsi sata encrypt filesystems"
# COMPRESSION
# Use this to compress the initramfs image. With kernels earlier than
# 2.6.30, only gzip is supported, which is also the default. Newer kernels
# support gzip, bzip2 and lzma.
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
# MODULES
# The following modules are loaded before any boot hooks are
# run. Advanced users may wish to specify all system modules
# in this array. For instance:
# MODULES="piix ide_disk reiserfs"
MODULES=""
# BINARIES
# This setting includes, into the CPIO image, and additional
# binaries a given user may wish. This is run first, so may
# be used to override the actual binaries used in a given hook.
# (Existing files are NOT overwritten is already added)
# BINARIES are dependancy parsed, so you may safely ignore libraries
BINARIES=""
# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in anyway. This is useful for config files.
# Some users may wish to include modprobe.conf for custom module options,
# like so:
# FILES="/etc/modprobe.conf"
FILES=""
# HOOKS
# This is the most important setting in this file. The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added. Run 'mkinitcpio -H ' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
# This setup specifies all modules in the MODULES setting above.
# No raid, lvm2, or encrypted root is needed.
# HOOKS="base"
#
# This setup will autodetect all modules for your system and should
# work as a sane default
# HOOKS="base udev autodetect pata scsi sata filesystems"
#
# This is identical to the above, except the old ide subsystem is
# used for IDE devices instead of the new pata subsystem.
# HOOKS="base udev autodetect ide scsi sata filesystems"
#
# This setup will generate a 'full' image which supports most systems.
# No autodetection is done.
# HOOKS="base udev pata scsi sata usb filesystems"
#
# This setup assembles an pata raid array with an encrypted root FS.
# Note: See 'mkinitcpio -H raid' for more information on raid devices.
# HOOKS="base udev pata raid encrypt filesystems"
#
# This setup loads an lvm2 volume group on a usb device.
# HOOKS="base udev usb lvm2 filesystems"
HOOKS="base udev autodetect ide usb usbinput pata scsi sata encrypt filesystems"
# COMPRESSION
# Use this to compress the initramfs image. With kernels earlier than
# 2.6.30, only gzip is supported, which is also the default. Newer kernels
# support gzip, bzip2 and lzma.
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
Еще нам нужно отредакрировать fstab, чем мы и займемся =)
Я решил делать все через UUID, поскольку диск внешний и может использоваться на других компьютерах.
Чтобы просмотреть UUID всех разделов, напишите blkid
У меня вышли такие UUID
Которые я и записал в fstab
# cat /etc/fstab
#
# /etc/fstab: static file system information
#
#
#
# /etc/fstab: static file system information
#
#
Осталось нам отредактировать /boot/grub/menu.lst и установить загрузчик =)
Но помните я говорил что надо отключить /boot? Так и есть, теперь он пуст =) подключим его опять командой mount /dev/sdb1 /boot
title Arch Linux
root (hd0,0)
kernel /vmlinuz26 cryptdevice=/dev/disk/by-uuid/b4fc45f3-ee9c-4747-99a0-a217e8a440b5:root root=/dev/mapper/root ro
initrd /kernel26.img
title Arch Linux Fallback
root (hd0,0)
kernel /vmlinuz26 cryptdevice=/dev/disk/by-uuid/b4fc45f3-ee9c-4747-99a0-a217e8a440b5:root root=/dev/mapper/root ro
initrd /kernel26-fallback.img
root (hd0,0)
kernel /vmlinuz26 cryptdevice=/dev/disk/by-uuid/b4fc45f3-ee9c-4747-99a0-a217e8a440b5:root root=/dev/mapper/root ro
initrd /kernel26.img
title Arch Linux Fallback
root (hd0,0)
kernel /vmlinuz26 cryptdevice=/dev/disk/by-uuid/b4fc45f3-ee9c-4747-99a0-a217e8a440b5:root root=/dev/mapper/root ro
initrd /kernel26-fallback.img
Как видите - я прописал раздел в cryptdevice через его uuid и через :root, он включится первым и потом появится устройство /dev/mapper/root, который и есть наш корневой раздел =)
Да, еще когда я редактировал /etc/mkinitcpio.conf я забыл пересоздать эти образы (ну почти забыл =))
Сделаем это так - mkinitcpio -p kernel26.
И осталось самое главное - установить загрузчик.
Я установил просто - grub-install /dev/sdb.
Также поставим пароль на root командой passwd.
На этом наша установка завершена. Кому надо - может поправить конфиги еще, кому не надо - можете перезагрузится, проверить результат =) Удачи!
За забытые пароли и сгоревшие винты администрация ответствености не несет =)

+ 0 -
PS. давненько я тут не был =)
Спасибо =) Вообще считаю данный движок лучшим для постинга такого вида, дизайн и функционал как раз этому соответствует. Юзеров пока конечно не очень много, но развивайте ;)
вяло стараетесь? =) ниче, он nvbn уже дома, так что думаю что пойдет лучше)
слушайте. запостите кто-нить пост просто про установку линукса с нуля. Все остальное - тупо вариации на тему.
Есть вообще предложение описать универсальную установку любого дистра с нуля. Принципы одинаковы, меняются менеджеры пакетов да некоторые детали.
Вполне возможно начать тупо с установки тех же генту и арча, а там где в дело вступает напрмиер менеджер пакетов разделять для разных дистров. Как вам? И завести отдельный раздел на сайте, типа "годные статьи" и "must seen"
Есть вообще предложение описать универсальную установку любого дистра с нуля. Принципы одинаковы, меняются менеджеры пакетов да некоторые детали.
Вполне возможно начать тупо с установки тех же генту и арча, а там где в дело вступает напрмиер менеджер пакетов разделять для разных дистров. Как вам? И завести отдельный раздел на сайте, типа "годные статьи" и "must seen"
что вы имеете ввиду под установкой с нуля? ака LFS + доставить менеджер пакетов?
никак не пойму что может значить эта фраза)
никак не пойму что может значить эта фраза)
да, и еще именно эти "детали" и важны. Если из моей статьи убрать все детали, то получится только шифрованый пустой раздел. Кому он надо? =)
А есть смысл? Если пользователь не читает оффициальные руководства по установке а-ля хэндбуков/вики/e.t.c., то сомневаюсь, что пользоватеоь будет читать это тут. Далее встает вопрос об актуальности данных и т.п.
ИМХО если и описывать нечто подобное, то это может быть пример того как разбить диск на разделы для сферической машины в ваккууме и слова о том, что весь софт ставится из репов/портажей/e.t.c. с помощью пакетных менеджеров работающих по разным принципам но преследующих одинаковые цели. Все остальные настройки пожалуй
-- дистрибутивно-специфичные.
Есть ли смысл все это описывать?
ИМХО если и описывать нечто подобное, то это может быть пример того как разбить диск на разделы для сферической машины в ваккууме и слова о том, что весь софт ставится из репов/портажей/e.t.c. с помощью пакетных менеджеров работающих по разным принципам но преследующих одинаковые цели. Все остальные настройки пожалуй
-- дистрибутивно-специфичные.
Есть ли смысл все это описывать?
Вообще щас возникла идея о создании некой презентации с общими концепциями того что и как такое Linux для тех кто только планирует перейти с MS W.
да не для них как раз. Просто новички зачастую ставят убунту и не втыкают, ни что происходит, ни че они делают. А ведь все то же самое.
То есть установка с нуля - это просто реально подробное описание как это происходит, не более того
То есть установка с нуля - это просто реально подробное описание как это происходит, не более того
Так получилось, что у меня ноутбук. И вот беда - этот пакостный dvd+rw отказывается писать диски. Точнее писать он их пишет, но только прочитать потом ничего не выйдет.... (ненавижу TSSTcorp)
Вообще в такой ситуации можно воспользоваться флешкой и unetbootin... Ну, хозяин — барин.
велосипедирование чистой воды. помимо унетбутин (который к слову сказать с арчем не очень) есть USB Images в котором такой же инсталятор как на CD =)
Да вообще, не unix-way :) Вместо пары щелчков мышкой лучше скопипастить почти дефолтный mkinitcpio.conf на половину поста
А чем статья принципиально от archwiki:Install from Existing Linux отличается?
There is currently no text in this page. You can search for this page title in other pages, search the related logs, or edit this page.
тем что используется всякая не нужная херь (тот же chroot ибо pacman умеет ставить в нужное место с помощью параметра -r указывающего корень)
Наверно тем, что юзается шифрование, да и просто на собственном опыте все. Притом там много лишних вещей,примеру -
mount /dev/ /newarch/dev/ --bind
mount /sys/ /newarch/sys/ --bind
mount /proc/ /newarch/proc/ --bind
cd /dev
mknod -m 660 console c 5 1
mknod -m 660 null c 1 3
скажи, что это даст? я отвечу что ничего хорошего, да и лишнее это.
mount /dev/ /newarch/dev/ --bind
mount /sys/ /newarch/sys/ --bind
mount /proc/ /newarch/proc/ --bind
cd /dev
mknod -m 660 console c 5 1
mknod -m 660 null c 1 3
скажи, что это даст? я отвечу что ничего хорошего, да и лишнее это.
ненавижу, когда флаги стоят в конце.
mount --bind /dev/sd* /mnt/arch/
исправил =)
mount --bind /dev/sd* /mnt/arch/
исправил =)
установку с флешки отменили? есть же usb образ для установки.
ну а арч из под арча поставит не проблема(как на карту/флешку так и на другой винт) тынц
ну а арч из под арча поставит не проблема(как на карту/флешку так и на другой винт) тынц
Во во тоже самое хотел сказать =) У мя на еееПЦ нет вообще сидюка, ставил с флэшки
таже фигня с ноутом. usb выручел (хотя ставил из арча установленного когда-то на флешку)
не до поисков мне было, инета нету, есть только локальная репа. Да и вообще нужный опыт =)
так с локальной репы pacman -S список пакетов -r /mnt/
а потом на то что в /mnt граб накатить и настройки поправить ручками или как удобно. да и пакет archlinux-installer позволяющий из текущего арча поставить арч куда возможно так же как с cd/usb
тут поисковики не надо, надо man pacman раз прочесть или просто о арче побольше знать - а так велосипедирование
а потом на то что в /mnt граб накатить и настройки поправить ручками или как удобно. да и пакет archlinux-installer позволяющий из текущего арча поставить арч куда возможно так же как с cd/usb
тут поисковики не надо, надо man pacman раз прочесть или просто о арче побольше знать - а так велосипедирование
я просто как-то не заглянул в man pacman по этому поводу, поскольку помнил что в конфиге хранится такая вещь =) ну можно переименовать статью в создание шифрованой фс, но мало ли. Да и многие тут вообще не знают возможности как поставить арч, не загружаясь с диска. А куда то в вики лезть не хотят (знаю таких =))
А я через net/ftp всегда ставлю.
С флешки древнее железо не заведешь.Хотя я слышал что можно сделать флешку read-only и перевести ее раздел в ZIP,тогда даже на старой машине с древним биосом можно юзать как boot раздел, у себя не пробывал.
С флешки древнее железо не заведешь.Хотя я слышал что можно сделать флешку read-only и перевести ее раздел в ZIP,тогда даже на старой машине с древним биосом можно юзать как boot раздел, у себя не пробывал.
у меня как раз стоит пенек старенький,я забыл что он там не грузится с usb. Но зато поставил систему не перегружаясь - аптайм коплю =) правда перегрузится все-таки пришлось, но это уже другая истрория)
всегда ставлю генту через chroot, арч тоже можно, потому можно и на системе без пакмана, да и вообще загрузиться с лайф-флешки и ставить чрутом.