InstallOnFlash: различия между версиями
DiYago (обсуждение | вклад) (Новая: Категория:Admin {{stub}} == Установка и загрузка с USB-устройства == Иногда, требуется поставить систему на ...) |
Нет описания правки |
||
(не показано 5 промежуточных версий 5 участников) | |||
Строка 1: | Строка 1: | ||
[[Категория:Admin]] | [[Категория:Admin]] | ||
{{Устарело}} | |||
{{stub}} | {{stub}} | ||
Строка 11: | Строка 11: | ||
Для проведения подобной операции нужно: | Для проведения подобной операции нужно: | ||
* возможность загрузки с USB-устройства в BIOS компьютера | * возможность загрузки с USB-устройства в BIOS компьютера | ||
* | * источник, откуда будет инсталлироваться система | ||
* возможность обновить пакеты из сети или другого носителя информации (в будущем, это может быть не обязательным) | * возможность обновить пакеты из сети или другого носителя информации (в будущем, это может быть не обязательным) | ||
Строка 26: | Строка 26: | ||
* Переключитесь в текстовую консоль ([Ctrl]+[Alt]+[F2]) | * Переключитесь в текстовую консоль ([Ctrl]+[Alt]+[F2]) | ||
* Определите, куда подмонтировано Ваше USB-устройство. | * Определите, куда подмонтировано Ваше USB-устройство. | ||
** Можно ввести <br> <code># mount</code><br> и найти строки | ** Можно ввести <br> <code># mount</code><br> и найти строки наподобие <br> | ||
/dev/sda2 on /mnt/some_folder type ext3 (rw) | /dev/sda2 on /mnt/some_folder type ext3 (rw) | ||
proc on /mnt/some_folder/proc type proc (rw, noexec, nosuid, gid=19) | proc on /mnt/some_folder/proc type proc (rw, noexec, nosuid, gid=19) | ||
Строка 58: | Строка 58: | ||
* Прописываем его <code># lilo </code> | * Прописываем его <code># lilo </code> | ||
* Выходим в обычную оболочку <code># exit </code> (и не | * Выходим в обычную оболочку <code># exit </code> (и не забываем ввести его ещё раз, если запускали bash из chroot'а) | ||
* Переходим обратно в графический интерфейс ([Ctrl]+[Alt]+[F7]) и завершаем установку. | * Переходим обратно в графический интерфейс ([Ctrl]+[Alt]+[F7]) и завершаем установку. | ||
Строка 74: | Строка 74: | ||
--[[Участник:DiYago|DiYago]] 18:24, 3 сентября 2008 (UTC) | --[[Участник:DiYago|DiYago]] 18:24, 3 сентября 2008 (UTC) | ||
[[Категория:Admin]] | |||
{{Category navigation|title=Системному администратору|category=Admin|sortkey={{SUBPAGENAME}}}} |
Текущая версия от 16:56, 21 декабря 2023
Установка и загрузка с USB-устройства
Иногда, требуется поставить систему на USB-носитель. Это может быть внутреннее устройство, доступное по шине USB или внешний диск/флешка. Я ставил на CF-карточку в кардридере, т.к. адаптер IDE-CF ещё не купили, а сервер завести нужно было как можно скорее.
Начальные условия
Для проведения подобной операции нужно:
- возможность загрузки с USB-устройства в BIOS компьютера
- источник, откуда будет инсталлироваться система
- возможность обновить пакеты из сети или другого носителя информации (в будущем, это может быть не обязательным)
Мне хватило:
- CF-card 4Gb
- altlinux-server-i586-20080821
- сетевой карты, опознаной инсталлятором
Последовательность установки
Сначала, просто ставим систему, она должна распознать все нужные нам устройства хранения данных. Форматируем флешку и ставим пакеты. Загрузчик я поставил в MBR.
Когда установка будет завершена, не спешите нажимать "Далее"/"Закончить".
- Переключитесь в текстовую консоль ([Ctrl]+[Alt]+[F2])
- Определите, куда подмонтировано Ваше USB-устройство.
- Можно ввести
# mount
и найти строки наподобие
- Можно ввести
/dev/sda2 on /mnt/some_folder type ext3 (rw) proc on /mnt/some_folder/proc type proc (rw, noexec, nosuid, gid=19) sysfs on /mnt/some_folder/sys type sysfs (rw) udevfs on /mnt/some_folder/dev type tmpfs (rw)
в /mnt/some_folder - смонтирован корень файловой системы устройства
- Далее делаем chroot
# chroot /mnt/some_folder
- Проверяем версии ключевых пакетов:
- udev (у меня 127-alt4)
- mkinitrd (у меня 3.0.8-alt1)
Для нормальной загрузки с ядром 2618-std-smp-12M403 они мне подошли.
- Если версии ниже - обновляем. Для этого может понадобиться дополнительный носитель данных или настроенная сеть.
- Генерируем новый initrd:
# mkinitrd -f -v --preload "ehci-hcd uhci-hcd ohci-hcd usb-storage sd_mod" /boot/initrd-2.6.18-std-smp-alt12.M40.3.img 2.6.18-std-smp-alt12.M40.3
Тут может быть и другое ядро. Модули ehci-hcd uhci-hcd ohci-hcd usb-storage sd_mod - необходимы для определения "флешки". - Редактируем конфиг загрузчика. Наш раздел с корнем ФС должен быть доступным по UUID или LABEL. (Посмотреть их можно
# blkid
. У меня получилось так:
lba32 prompt compact default="2618-std-smp-12M403" vga="0x314" boot="/dev/sda" map="/boot/map" timeout="100" install="text" append="panic=30" image="/boot/vmlinuz-2.6.18-std-smp-alt12.M40.3" initrd="/boot/initrd-2.6.18-std-smp-alt12.M40.3.img" label="2618-std-smp-12M403" root="UUID=7deb64be-1be5-49dc-9e0f-4ac9381173f2" read-only optional
- Прописываем его
# lilo
- Выходим в обычную оболочку
# exit
(и не забываем ввести его ещё раз, если запускали bash из chroot'а) - Переходим обратно в графический интерфейс ([Ctrl]+[Alt]+[F7]) и завершаем установку.
Советы
Если при загрузке не успевает определиться USB-устройство, то можно передать ядру дополнительный параметр rootdelay=xx
, где хх - секунды для ожидания медленно думающих устройств.
Ссылки и благодарности
http://lists.altlinux.org/pipermail/community/2007-September/395627.html
http://lists.altlinux.org/pipermail/community/2008-September/417070.html
Спасибо vsu@ за полезные советы.
--DiYago 18:24, 3 сентября 2008 (UTC)