Загрузочная USB Flash — различия между версиями

Материал из ALT Linux Wiki
Перейти к: навигация, поиск
(Делал так)
 
(не показано 20 промежуточных версий этого же участника)
Строка 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''' — в каждом конкретном случае бывает по-разному, не промахнитесь.}}
 +
 +
==Делал так==
 +
 +
<ol>
 +
<li>Предварительно следует установить пакеты c загрузчиком и загрузочными секторами:
 +
<pre># apt-get install -y extlinux syslinux-data</pre>
 +
<li>На флэшке размером от 8 ГБ '''без разделов''' cоздать раздел в разметке MBR:
 +
<pre>
 +
# fdisk /dev/sdf
 +
o<ввод>
 +
n<ввод>
 +
p<ввод>
 +
<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'' &mdash; только одноимённый файл-образ, если место позволяет.
 +
<li>Создать меню загрузки '''/mnt/sdf1/extlinux.conf''' &mdash; ну, такое себе меню: выбирать конкретный образ приходится вводом его ярлыка в приглашение, иначе загрузится умолчальный. Например:
 +
<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
  
{{Attention|Дальнейшее описание исходит из того, что моя флэшка определилась как '''/dev/sdf''' &mdash; в каждом случае бывает по-разному, не промахнитесь.}}
+
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>
 +
Как видно выше, загружаемый конкретными пунктами образ задаётся параметром '''stagename'''.
 +
{{Attention|Здесь '''sdb''' &mdash; то, каким диском флэшка увидится в истязаемой системе: если там один жёсткий диск, то да, /dev/sdb.}}
 +
</ol>
 +
Осталось отмонтировать готовую флэшку и пользоваться на здоровье.
  
 +
А ещё можно на ней создать какой-нибудь каталог (к примеру, '''/.Vault''') и забивать его всякими полезностями: заготовленными конфигами, дополнительными пакетами, скриптами постинсталляции и т.п. &mdash; дабы корень не захламлять.
 
[[Категория: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}}}}

Текущая версия на 15:15, 8 июня 2020

По мотивам InstallFlash и Bootable Linux USB drive using EXTLINUX[править]

В отличие от syslinux для загрузки с флэшек, отформатированных в FAT, extlinux умеет грузить установщик или «живой»/«спасательный» образ почти с любой «родной» ФС.

По одной из вышеприведённых ссылок рекомендуют ext2 ради минимального истязания записью нежурналируемых файловых систем по сравнению с журналируемыми.

Внимание! Дальнейшее описание исходит из того, что моя флэшка определилась как /dev/sdf — в каждом конкретном случае бывает по-разному, не промахнитесь.


Делал так[править]

  1. Предварительно следует установить пакеты c загрузчиком и загрузочными секторами:
    # apt-get install -y extlinux syslinux-data
  2. На флэшке размером от 8 ГБ без разделов cоздать раздел в разметке MBR:
    # fdisk /dev/sdf
    o<ввод>
    n<ввод>
    p<ввод>
    <1, ввод>
    <первый цилиндр, ввод>
    <последний цилиндр, ввод>
    a<ввод>
    w<ввод>
    

    Здесь выбор номера раздела и начального/последнего секторов можно оставить предлагаемыми системой, без изменений.

  3. Отформатировать его (метку LinuxBoot можно заменить на любую «от фонаря»):
    # mkfs -text2 -LLinuxBoot /dev/sdf1
  4. Смонтировать раздел для его заполнения:
    # mount /dev/sdf1 /mnt/sdf1
  5. Установить на него загрузчик:
    # extlinux --install /mnt/sdf1
  6. Записать загрузочный сектор:
    # cat /usr/lib/syslinux/mbr.bin >/dev/sdf
  7. С заранее смонтированного установочного образа или оптического диска (к примеру, Alt Workstation или Education) скопировать в корень /mnt/sdf1 каталоги ALTLinux, Metadata и syslinux, а также файлы-образы altinst и live. А с диска rescue — только одноимённый файл-образ, если место позволяет.
  8. Создать меню загрузки /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) и забивать его всякими полезностями: заготовленными конфигами, дополнительными пакетами, скриптами постинсталляции и т.п. — дабы корень не захламлять.