Загрузочная USB Flash: различия между версиями
Дым (обсуждение | вклад) Нет описания правки |
Дым (обсуждение | вклад) |
||
(не показано 18 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
==По мотивам [[InstallFlash]] и [https://agentoss.wordpress.com/2011/02/28/how-to-create-a-bootable-linux-usb-drive-using-extlinux | Bootable Linux USB drive using EXTLINUX]== | ==По мотивам [[InstallFlash]] и [https://agentoss.wordpress.com/2011/02/28/how-to-create-a-bootable-linux-usb-drive-using-extlinux| Bootable Linux USB drive using EXTLINUX]== | ||
В отличие от syslinux для загрузки с флэшек, отформатированных в FAT, extlinux умеет грузить установщик или «живой»/«спасательный» образ почти с любой «родной» ФС. | В отличие от syslinux для загрузки с флэшек, отформатированных в FAT, extlinux умеет грузить установщик или «живой»/«спасательный» образ почти с любой «родной» ФС. | ||
По одной из вышеприведённых ссылок рекомендуют ext2 ради минимального истязания записью нежурналируемых файловых систем по сравнению с журналируемыми. | По одной из вышеприведённых ссылок рекомендуют ext2 ради минимального истязания записью нежурналируемых файловых систем по сравнению с журналируемыми. | ||
{{Attention|Дальнейшее описание исходит из того, что моя флэшка определилась как '''/dev/sdf''' — в каждом случае бывает по-разному, не промахнитесь.}} | {{Attention|Дальнейшее описание исходит из того, что моя флэшка определилась как '''/dev/sdf''' — в каждом конкретном случае бывает по-разному, не промахнитесь.}} | ||
==Делал так== | ==Делал так== | ||
<ol> | <ol> | ||
<li>На флэшке размером от 8 ГБ без разделов | <li>Предварительно следует установить пакеты c загрузчиком и загрузочными секторами: | ||
<pre># apt-get install -y extlinux syslinux-data</pre> | |||
<li>На флэшке размером от 8 ГБ '''без разделов''' cоздать раздел в разметке MBR: | |||
<pre> | <pre> | ||
# fdisk /dev/sdf | # fdisk /dev/sdf | ||
o< | o<ввод> | ||
n< | n<ввод> | ||
p< | p<ввод> | ||
1< | <1, ввод> | ||
< | <первый цилиндр, ввод> | ||
< | <последний цилиндр, ввод> | ||
a<ввод> | |||
w<ввод> | |||
</pre> | |||
Здесь выбор номера раздела и начального/последнего секторов можно оставить предлагаемыми системой, без изменений. | |||
<li>Отформатировать его (метку '''LinuxBoot''' можно заменить на любую «от фонаря»): | |||
<pre># mkfs -text2 -LLinuxBoot /dev/sdf1</pre> | |||
<li>Смонтировать раздел для его заполнения: | |||
<pre># mount /dev/sdf1 /mnt/sdf1</pre> | |||
<li>Установить на него загрузчик: | |||
<pre># extlinux --install /mnt/sdf1</pre> | |||
<li>Записать загрузочный сектор: | |||
<pre># cat /usr/lib/syslinux/mbr.bin >/dev/sdf</pre> | |||
<li>С заранее смонтированного установочного образа или оптического диска (к примеру, ''Alt Workstation'' или ''Education'') скопировать в корень /mnt/sdf1 каталоги '''ALTLinux''', '''Metadata''' и '''syslinux''', а также файлы-образы '''altinst''' и '''live'''. А с диска ''rescue'' — только одноимённый файл-образ, если место позволяет. | |||
<li>Создать меню загрузки '''/mnt/sdf1/extlinux.conf''' — ну, такое себе меню: выбирать конкретный образ приходится вводом его ярлыка в приглашение, иначе загрузится умолчальный. Например: | |||
<pre> | |||
PROMPT 1 | |||
TIMEOUT 200 | |||
IMPLICIT 1 | |||
DEFAULT instalt | |||
LABEL live | |||
KERNEL syslinux/alt0/vmlinuz | |||
APPEND initrd=/syslinux/alt0/full.cz live fastboot lang=ru_RU showopts automatic=method:disk,disk:sdb,partition:sdb1 stagename=/live ramdisk_size=455461 splash=silent splashcount=17 vga=0x314 | |||
LABEL rescue | |||
KERNEL syslinux/alt0/vmlinuz | |||
APPEND initrd=/syslinux/alt0/full.cz live fastboot lang=ru_RU showopts automatic=method:disk,disk:sdb,partition:sdb1 stagename=/rescue ramdisk_size=455461 splash=silent splashcount=17 vga=0x314 | |||
LABEL instalt | |||
KERNEL syslinux/alt0/vmlinuz | |||
APPEND initrd=/syslinux/alt0/full.cz live fastboot lang=ru_RU showopts automatic=method:disk,disk:sdb,partition:sdb1 stagename=/altinst lowmem splash=silent splashcount=17 vga=0x314 | |||
LABEL failsafe | |||
KERNEL syslinux/alt0/vmlinuz | |||
APPEND initrd=/syslinux/alt0/full.cz live fastboot lang=ru_RU showopts automatic=method:disk,disk:sdb,partition:sdb1 stagename=/altinst lowmem noapic pci=nomsi acpi=off noload=ahci | |||
</pre> | </pre> | ||
Как видно выше, загружаемый конкретными пунктами образ задаётся параметром '''stagename'''. | |||
{{Attention|Здесь '''sdb''' — то, каким диском флэшка увидится в истязаемой системе: если там один жёсткий диск, то да, /dev/sdb.}} | |||
</ol> | |||
Осталось отмонтировать готовую флэшку и пользоваться на здоровье. | |||
А ещё можно на ней создать какой-нибудь каталог (к примеру, '''/.Vault''') и забивать его всякими полезностями: заготовленными конфигами, дополнительными пакетами, скриптами постинсталляции и т.п. — дабы корень не захламлять. | |||
[[Категория:BootFlash]] | [[Категория:BootFlash]] | ||
{{Category navigation|title=Системному администратору|category=Admin|sortkey={{SUBPAGENAME}}}} | {{Category navigation|title=Системному администратору|category=Admin|sortkey={{SUBPAGENAME}}}} | ||
{{Category navigation|title=HOWTO|category=HOWTO|sortkey={{SUBPAGENAME}}}} | {{Category navigation|title=HOWTO|category=HOWTO|sortkey={{SUBPAGENAME}}}} |
Текущая версия от 18:15, 8 июня 2020
По мотивам InstallFlash и Bootable Linux USB drive using EXTLINUX
В отличие от syslinux для загрузки с флэшек, отформатированных в FAT, extlinux умеет грузить установщик или «живой»/«спасательный» образ почти с любой «родной» ФС.
По одной из вышеприведённых ссылок рекомендуют ext2 ради минимального истязания записью нежурналируемых файловых систем по сравнению с журналируемыми.
Делал так
- Предварительно следует установить пакеты c загрузчиком и загрузочными секторами:
# apt-get install -y extlinux syslinux-data
- На флэшке размером от 8 ГБ без разделов cоздать раздел в разметке MBR:
# fdisk /dev/sdf o<ввод> n<ввод> p<ввод> <1, ввод> <первый цилиндр, ввод> <последний цилиндр, ввод> a<ввод> w<ввод>
Здесь выбор номера раздела и начального/последнего секторов можно оставить предлагаемыми системой, без изменений.
- Отформатировать его (метку LinuxBoot можно заменить на любую «от фонаря»):
# mkfs -text2 -LLinuxBoot /dev/sdf1
- Смонтировать раздел для его заполнения:
# mount /dev/sdf1 /mnt/sdf1
- Установить на него загрузчик:
# extlinux --install /mnt/sdf1
- Записать загрузочный сектор:
# cat /usr/lib/syslinux/mbr.bin >/dev/sdf
- С заранее смонтированного установочного образа или оптического диска (к примеру, Alt Workstation или Education) скопировать в корень /mnt/sdf1 каталоги ALTLinux, Metadata и syslinux, а также файлы-образы altinst и live. А с диска rescue — только одноимённый файл-образ, если место позволяет.
- Создать меню загрузки /mnt/sdf1/extlinux.conf — ну, такое себе меню: выбирать конкретный образ приходится вводом его ярлыка в приглашение, иначе загрузится умолчальный. Например:
PROMPT 1 TIMEOUT 200 IMPLICIT 1 DEFAULT instalt LABEL live KERNEL syslinux/alt0/vmlinuz APPEND initrd=/syslinux/alt0/full.cz live fastboot lang=ru_RU showopts automatic=method:disk,disk:sdb,partition:sdb1 stagename=/live ramdisk_size=455461 splash=silent splashcount=17 vga=0x314 LABEL rescue KERNEL syslinux/alt0/vmlinuz APPEND initrd=/syslinux/alt0/full.cz live fastboot lang=ru_RU showopts automatic=method:disk,disk:sdb,partition:sdb1 stagename=/rescue ramdisk_size=455461 splash=silent splashcount=17 vga=0x314 LABEL instalt KERNEL syslinux/alt0/vmlinuz APPEND initrd=/syslinux/alt0/full.cz live fastboot lang=ru_RU showopts automatic=method:disk,disk:sdb,partition:sdb1 stagename=/altinst lowmem splash=silent splashcount=17 vga=0x314 LABEL failsafe KERNEL syslinux/alt0/vmlinuz APPEND initrd=/syslinux/alt0/full.cz live fastboot lang=ru_RU showopts automatic=method:disk,disk:sdb,partition:sdb1 stagename=/altinst lowmem noapic pci=nomsi acpi=off noload=ahci
Как видно выше, загружаемый конкретными пунктами образ задаётся параметром stagename.
Внимание! Здесь sdb — то, каким диском флэшка увидится в истязаемой системе: если там один жёсткий диск, то да, /dev/sdb.
Осталось отмонтировать готовую флэшку и пользоваться на здоровье.
А ещё можно на ней создать какой-нибудь каталог (к примеру, /.Vault) и забивать его всякими полезностями: заготовленными конфигами, дополнительными пакетами, скриптами постинсталляции и т.п. — дабы корень не захламлять.