[Решено:]Мультизагрузочная флешка с таблицей разделов gpt + lilo (Такое вообще возможно?)

SLAX, Deep Style, ZenWalk

Модератор: Модераторы разделов

Ответить
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

[Решено:]Мультизагрузочная флешка с таблицей разделов gpt + lilo

Сообщение Hephaestus »

Была у меня мультизагрузочная флешка. Объемом 32Gb
С таблицей разделов mbr.
Раздел boot - там были файлы lilo (конфиг, map, заставка)
Раздел slax
Раздел инстляллятора slackware 64 bit
Раздел с данными.
Итого четыре primary-раздела.
Захотелось добавить ещё один раздел - для установщика slackware 32 bit
Поскольку primary-разделов больше нельзя, а расширенный раздел создавать не хотелось, решил попробовать gpt.
Переделал свою флешку,создал разделы, а вот LiLo поставить уже не получилось.


lilo.conf

Код: Выделить всё

append=" vt.default_utf8=1"
bitmap = /boot/slack.bmp
bmp-colors = 255,0,255,0,255,0
bmp-table = 60,6,1,16
bmp-timer = 65,27,0,255

prompt
timeout = 1200

change-rules
  reset

vga = 0x37f
# End LILO global section
# Linux bootable partition config begins
other = /dev/disk/by-uuid/3aa2492c-acfb-4b1c-abfc-5b02d0a8c5a0
  label = slax
  read-only

other = /dev/disk/by-uuid/EE87-45AF
  label = "Install_Slack64"
  read-only


Даю команду

Код: Выделить всё

lilo -v3 -C /mnt/floppy/etc/lilo.conf -b /dev/sdj -m /mnt/floppy/boot/map



В ответ получаю

Код: Выделить всё

LILO version 24.0 (released 07-Juni-2013)
  * Copyright (C) 1992-1998 Werner Almesberger  (until v20)
  * Copyright (C) 1999-2007 John Coffman  (until v22)
  * Copyright (C) 2009-2013 Joachim Wiedorn  (since v23)
This program comes with ABSOLUTELY NO WARRANTY. This is free software
distributed under the BSD License (3-clause). Details can be found in
the file COPYING, which is distributed with this software.
Compiled at 17:40:54 on Oct 27 2013
Running Linux kernel 3.10.17 on x86_64

Warning: LBA32 addressing assumed
device-mapper major = 253
raid_setup returns offset = 00000000  ndisk = 0
 BIOS   VolumeID   Device
Reading boot sector from /dev/sdj
pf_hard_disk_scan: ndevs=5
  0800  34397528  /dev/sda
  0810  538171F9  /dev/sdb
  0820  1476E4F4  /dev/sdc
  0830  38914A3D  /dev/sdd
  0890  417C7B58  /dev/sdj
Resolve invalid VolumeIDs
Resolve duplicate VolumeIDs
  0800  34397528  /dev/sda
  0810  538171F9  /dev/sdb
  0820  1476E4F4  /dev/sdc
  0830  38914A3D  /dev/sdd
  0890  417C7B58  /dev/sdj
device codes (user assigned pf) = 0
device codes (user assigned) = 0
device codes (BIOS assigned) = F
Filling in '/dev/sdj' = 0x84
device codes (canonical) = 1F
Device 0x0890: BIOS drive 0x84, 64 heads, 30527 cylinders,
               32 sectors. Partition offset: 0 sectors.
Using Volume ID 417C7B58 on bios 84
Warning: /dev/sdj is not on the first disk
Device 0x0891: BIOS drive 0x84, 64 heads, 30527 cylinders,
               32 sectors. Partition offset: 2048 sectors.
Using Volume ID 417C7B58 on bios 84
mode = 0x03,  columns = 80,  rows = 25,  page = 0
Using BITMAP secondary loader
Calling map_insert_data
Secondary loader: 19 sectors (0x3800 dataend).
bios_boot = 0x84  bios_map = 0x84  map==boot = 0  map S/N: 417C7B58
Mapping bitmap file /boot/slack.bmp
Device 0x0801: BIOS drive 0x80, 255 heads, 31130 cylinders,
               63 sectors. Partition offset: 2048 sectors.
Using Volume ID 34397528 on bios 80
width=640 height=480 planes=1 bits/plane=8
Calling map_insert_file
Bitmap: 31 sectors.
BIOS data check was okay on the last boot
image_menu_space = 16

Name: /dev/disk/by-uuid/3aa2492c-acfb-4b1c-abfc-5b02d0a8c5a0  yields MBR: /dev/sdj  (with primary partition check)
Boot other: /dev/disk/by-uuid/3aa2492c-acfb-4b1c-abfc-5b02d0a8c5a0, on /dev/sdj, loader CHAIN
Device 0x0892: BIOS drive 0x84, 64 heads, 30527 cylinders,
               32 sectors. Partition offset: 104448 sectors.
Using Volume ID 417C7B58 on bios 84
Device 0x0890: BIOS drive 0x84, 64 heads, 30527 cylinders,
               32 sectors. Partition offset: 0 sectors.
Using Volume ID 417C7B58 on bios 84
Warning: Device 0x0890: Inconsistent partition table, 2nd entry
  CHS address in PT:  0:0:0  -->  LBA (-1)
  LBA address in PT:  0  -->  CHS (0:0:1)
Fatal: Either FIX-TABLE or IGNORE-TABLE must be specified
If not sure, first try IGNORE-TABLE (-P ignore)
Removed temporary file /mnt/floppy/boot/map~


Если добавить -P ignore (или -P fix), получается всё то же самое, только в итоге

Код: Выделить всё

Fatal: Partition entry not found.

Если LiLo в принципе не умеет gpt, то странно, что на hdd всё нормально работает. На десктопе, на ноуте, и ещё на один винт поставил слаку - везде gpt - LiLo прекрасно себя чувствует. А на флешку - никак.
Порыскал по гуглу - ничего внятного не обнаружил.

Отсюда два вопроса:
1. Как вообще происходит установка LiLo (или elilo) на сторонний носитель? Дело в том, что ни liloconfig ни eliloconfig не предлагают такого варианта.
2. В чём моя ошибка? Учитывая, что раньше этот конфиг работал, а LiLo вроде бы принципиально не против gpt. Что ему не хватает?

Вариант установки grub вместо LiLo я держу в уме, но только на крайний случай, если по-другому не получится.
Lilo мне понравился гораздо больше, чем grub.


P.S. Если я ошибся разделом, прошу модераторов перенести тему.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: [Решено:]Мультизагрузочная флешка с таблицей разделов gpt + lilo

Сообщение Bizdelnick »

-P ignore не помогает?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: [Решено:]Мультизагрузочная флешка с таблицей разделов gpt + lilo

Сообщение Hephaestus »

Bizdelnick писал(а):
23.02.2015 20:46
-P ignore не помогает?
Не, я же писал выше.
Получаю

Код: Выделить всё

Fatal: Partition entry not found.

Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: [Решено:]Мультизагрузочная флешка с таблицей разделов gpt + lilo

Сообщение Bizdelnick »

А что в map?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: [Решено:]Мультизагрузочная флешка с таблицей разделов gpt + lilo

Сообщение Hephaestus »

Bizdelnick писал(а):
23.02.2015 21:28
А что в map?

А вот это я не знаю.
Раньше это работало. Тогда я просто скопировал map с винчестера на флешку.
И, если не ошибаюсь, при вызове lilo он перезаписывается.

А вот что в нём сейчас (при неудачной записи), я не знаю. И вообще не знаю, как он устроен.
Утилита file говорит,что это таблица dBase IV dbt. Это действительно так? Чем его посмотреть?
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: [Решено:]Мультизагрузочная флешка с таблицей разделов gpt + lilo

Сообщение Bizdelnick »

Я сам с lilo незнаком, думал, что map формируется заранее, как device.map для grub. Раз так, то, конечно, особого смысла его ковырять нет.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
alv
Бывший модератор
Сообщения: 7274
Статус: Пенсионер в законе
ОС: Cintu
Контактная информация:

Re: [Решено:]Мультизагрузочная флешка с таблицей разделов gpt + lilo

Сообщение alv »

Hephaestus
А вообще Вы когда-нибудь чего-нибудь чем-нибудь с этой флешки грузили?
Мне как-то говорили о существовании флешек, с которых нельзя загрузиться от слова вообще.
Я не верил, пока мне в руки такая не попала: с неё не грузилось ничего.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: [Решено:]Мультизагрузочная флешка с таблицей разделов gpt + lilo

Сообщение Bizdelnick »

Тут советуют делать гибридную разметку, но вообще это не рекомендуется, и, опять же, возвращается ограничение на четыре раздела (по крайней мере, доступных загрузчику раздела). Да, использовать gptsync, как там пишут, не обязательно, это и gdisk умеет.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: [Решено:]Мультизагрузочная флешка с таблицей разделов gpt + lilo

Сообщение Hephaestus »

alv писал(а):
23.02.2015 23:20
А вообще Вы когда-нибудь чего-нибудь чем-нибудь с этой флешки грузили?
Странный вопрос. Я ж говорю, с разметкой mbr всё работало, как задумано.
Проблемы начались с переходом на gpt.
А переход на gpt, в свою очередь, понадобился для снятия ограничения на четыре раздела.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: [Решено:]Мультизагрузочная флешка с таблицей разделов gpt + lilo

Сообщение Hephaestus »

Мда...
Похоже, LiLo всё-таки не умеет то, что я от него требую.
Поддержка gpt в нем, так сказать, базовая.
На жестком диске у меня это нормально работает только потому, что там загрузка происходит с одного (первого) раздела - там нет мультибута.
А у LiLo на сайте написано, что завершение разработки планируется к декабрю 2015 года. Грустно всё это. Интересно, какой тогда загрузчик будет по умолчанию в slackware?

А мне, стало быть, придётся пробовать другие варианты - grub2, хотя лучше бы syslinux... Или кто там нормально умеет gpt?
С LiLo, значит, не выйдет. Разве что bormant заглянет в тему и подскажет чего-нибудь...
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: [Решено:]Мультизагрузочная флешка с таблицей разделов gpt + lilo

Сообщение Hephaestus »

Всё-таки остановил свой выбор на syslinux.
Не сразу вспомнил, почему я его не брал раньше.
А не брал вот почему: мне не нравилось, что во всех доках предписывалось размещать "компоненты мультизагрузки" на одном разделе, но в разных каталогах.
Поскольку у меня флешка была с несколькими разделами, мне такой вариант не годился.
Сейчас выяснил, что syslinux для gpt умеет обращаться к разделу по guid. Как раз то, что надо.

Осталось только придумать, как поставить slax на раздел, чтобы оно грузилось нормально.
Его, конечно, можно залить как образ, но в моём случае это костыль, ибо я туда добавлял модули и менял настройки.
Однако разборки со slax - это уже другая история.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: [Решено:]Мультизагрузочная флешка с таблицей разделов gpt + lilo

Сообщение bormant »

Hephaestus
Пара слов про то, почему так.

Код: Выделить всё

Device 0x0890: BIOS drive 0x84, 64 heads, 30527 cylinders,
               32 sectors. Partition offset: 0 sectors.
Using Volume ID 417C7B58 on bios 84
Warning: Device 0x0890: Inconsistent partition table, 2nd entry
  CHS address in PT:  0:0:0  -->  LBA (-1)
  LBA address in PT:  0  -->  CHS (0:0:1)

GPT + protective MBR дают MBR с единственным разделом. ls -l /dev/disk/by-uuid/ вы не привели, но явно
other = /dev/disk/by-uuid/3aa2492c-acfb-4b1c-abfc-5b02d0a8c5a0
other = /dev/disk/by-uuid/EE87-45AF
предлагает загрузиться по цепочке (CHAIN) не с первого раздела. LILO идёт читать MBR про тот раздел, чтобы определить положение загрузчика на нём (boot record, загрузочная запись раздела), видит там нули, не понимает шутки юмора и спрашивает, как так? (На самом деле, он говорит про несоответствие CHS/LBA, но сути это не меняет, после -P ignore ни загрузочной записи, ни загрузчика он не найдёт всё равно).

Выход есть, вписать в MBR правильные данные о начале разделов, выполнить lilo -P ignore, потом при желании можно вернуть MBR в изначальное состояние, больше эта информация LILO не нужна, записанный загрузчик запоминает положение на диске внутри себя. Но больше 4-х разделов так не погрузить.

Если нужно грузить установщики Slackware, такие приседания не нужны. Установщики Slackware -- это (1) ядро + initrd и (2) каталог /slackware или /slackware64 с пакетами (опционально). Им вовсе не нужны отдельные разделы. Также, установщик умеет подхватывать установочный ISO как источник пакетов (по маске slackwar*-install-dvd.iso) из корня раздела при выборе источником пакетов "2 Install from hard drive partition", см. http://docs.slackware.com/howtos:slackware...image_as_source.

Если правильно путаю, 64-битный установщик смотрит пакеты в /slackware64, 32-битный в /slackware (надо проверять), несложно поправить, чтобы смотрели в подкаталог.

Также, не стоит сбрасывать со счетов GRUB.

Короче говоря, возможных вариантов видится масса.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: [Решено:]Мультизагрузочная флешка с таблицей разделов gpt + lilo

Сообщение Hephaestus »

bormant , прежде всего, спасибо, что не прошли мимо.
Отдельное спасибо за разъяснение о загрузчкие LiLo. Я "методом тыка" пришёл примерно к таким же выводам.

bormant писал(а):
25.02.2015 19:25
Установщики Slackware -- это (1) ядро + initrd и (2) каталог /slackware или /slackware64 с пакетами (опционально). Им вовсе не нужны отдельные разделы.
Вот это я не совсем понял. Если установщику не дать отдельный раздел, значит он будет либо в виде файла usbboot.img, либо содержимое этого образа будет извлечено в некий каталог. А как же он (установщик) в этих случаях будет стартовать?

bormant писал(а):
25.02.2015 19:25
Также, установщик умеет подхватывать установочный ISO как источник пакетов
Это да. Я слаку устанавливал именно таким манером. Замечательная возможность. Особенно на ноутбуке без привода.

bormant писал(а):
25.02.2015 19:25
Также, не стоит сбрасывать со счетов GRUB.
Не знаю, не знаю. Может он и хорош, но... вот не сложилось у меня с ним. Что-то в нём такое есть, что мне не нравится.
Уж на что slax имеет конфиг меню - портянку на несколько экранов - и то я как-то без особого напряга подкрутил эту менюху под свои хотелки. А вот когда grub порой не мог загрузиться и выбрасывал меня в свою командную строку - тут я чувствовал себя неуютно.
Может я чего-то упустил и недопонял, но я за годы использования Debian (и, соответственно, grub) так и не проникся симпатией к данному загрузчику.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: [Решено:]Мультизагрузочная флешка с таблицей разделов gpt + lilo

Сообщение bormant »

Hephaestus,
Ядро умеет использовать initrd -- Initial Ram Disk -- начальный диск в оперативной памяти. Обычно он используется для загрузки ядром драйверов, необходимых для монтирования корня и продолжения загрузки.
На установочном носителе Slackware все установочное окружение упаковано в образ initrd, см. /isolinux/initrd.img.
Загружаясь с установочного носителя, вы видите экран приветствия и приглашение boot: -- это работает isolinux. После нажатия Enter, без ввода параметров или с указанием варианта загрузки и параметров, isolinux грузит в память ядро, соответствующий initrd.img; передавая управление ядру, передает и адрес загруженного в память initrd.
Получив управление, ядро инициализирует свои внутренние структуры и оборудование, затем исполняет /init из полученного initrd. А там инициализируются 4 консоли, окружение busybox, выводятся приглашения установщика.

Указывая при загрузке "rdinit= root=/dev/sda1 ro" для загрузки живой системы, вы говорите загрузчику взять ядро с диска, как и раньше, но не исполнять /init из initrd, использовать корневое устройство /dev/sda1, с которого по окончании инициализации ядро выполнит /init или /sbin/init, который выполнит необходимое из /etc/rc.d/ и загрузит таким образом установленную систему.

Как видете, какое будет загружено ядро, и с каким установщиком ему будет передан initrd целиком зависит от настройки загрузчика, лишь бы загрузчик мог дотянуться до самих этих файлов и загрузить их в память. Никто не запрещает лежать им где угодно, в том числе и на одном разделе, в том числе и "на не своем".

На установочном диске ядра лежат в /kernels, образ initrd -- в /isolinux, путь до того и другого прописан в настройках загрузчика (это isolinux, часть syslinux) в /isolinux/isolinux.cfg. usbboot.img содержит в себе именно это -- код загрузчика в загрузочной записи, каталоги /kernels и /isolinux.

После запуска setup (а это /var/lib/setup -- сценарий на sh внутри initrd.img) на шаге SOURCE выдается запрос о том, где брать каталог с пакетами. На самом деле эта часть весьма независима, пакеты не обязаны быть даже на том же носителе, что и загрузчик, лишь бы можно было смонтировать локальный или NFS носитель с ними либо загрузить из сети по ftp/http. При выборе источником установочного носителя и автоматического его определения отработает код поиска по устройствам носителя с каталогом /slackware или /slackware64 на нем. Вот эту часть легко поправить под расположение файлов, скажем, /14.1-32/slackware/ и /14.1-64/slackware64, либо хранить ISO, при сканировании искать их. Но это вопрос только удобства, поскольку всегда можно указать расположение пакетов руками, предварительно смонтировав раздел/образ или оставив и это установщику.

Развесистый конфиг isolinux у Slax вызван только эмуляциией трех чекбоксов, в блоге автора было упоминание об этом, портянка из нормального конфига генерируется утилитой.

PS. С grub неуютно ровно до тех пор, пока не научитесь из его командной строки (не из меню) грузить любую систему. Это не очень сложно, учитывая наличие автодополнения по Tab (но в первом было проще, чем во втором).
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: [Решено:]Мультизагрузочная флешка с таблицей разделов gpt + lilo

Сообщение Hephaestus »

bormant писал(а):
26.02.2015 09:08
Как видете, какое будет загружено ядро, и с каким установщиком ему будет передан initrd целиком зависит от настройки загрузчика, лишь бы загрузчик мог дотянуться до самих этих файлов и загрузить их в память. Никто не запрещает лежать им где угодно, в том числе и на одном разделе, в том числе и "на не своем".
Так в том-то и дело, что загрузчик должен дотянуться.
Так-то я создавал отдельные разделы просто для удобства: мне не влом создать раздел, сделать туда dd if=usbboot.img of=/dev/sdXN и я буду знать, что это заработает.
А если это будет "лежать где угодно", то тут ещё надо сообразить, как указать загрузчику, куды ему бечь. И тут уже многое зависит от загрузчика.
Вон syslinux вообще может все загружаемые объекты держать на одном разделе в разных каталогах. Если только я правильно это понял. По крайней мере во всяких howto описывается именно такая схема. Я, наверно, не уловил всей сути этой фичи, и вообще, я старомодный, но у меня просто рука не поднимается так делать.
Кроме того, насколько мне известно, в такой схеме файл образа целиком загружается в память. И если образ большой... В общем, далеко не всегда это подходящий вариант. Поэтому отдельные разделы - это мне проще и привычней.

bormant писал(а):
26.02.2015 09:08
На установочном носителе Slackware все установочное окружение упаковано в образ initrd, см. /isolinux/initrd.img.
А, кстати. Он поэтому так долго считывается?
На моём десктопе с железом двухлетней давности и с 8 Гб ОЗУ он считывается порядка минуты.
Это, конечно, минус. Если приходится загружаться с установочного носителя, то каждый раз ждать напрягает.
А на более старой машине попробовали - что-то минут пять, наверно. Хотя я не засекал.
В связи с этим у меня возникли сомнения. Затеяли мы тут слаку поставить на старую машину вместо Debian Lenny.
Железо там 2006 года. Процессор Intel Celeron D 2500MHz, 1.5Гб ОЗУ. Дисковое пространство - IDE винт 80Гб, плюс планируем поставить ещё один - SATA на 250Гб.
И вот увидев, сколь долго происходит загрузка с установочной флешки, я засомневался - не будет ли там диких тормозов в итоге?

На оф. сайте системные требования до сих пор указаны такие
486 processor
64MB RAM (1GB+ suggested)
About 5GB+ of hard disk space for a full install
CD or DVD drive (if not bootable, then a bootable USB flash stick or PXE server/network card)
Они всё ещё актуальны?

Я так мыслю, что нужно ещё будет задействовать -generic-ядро вместо huge. Вроде пошустрее должно быть.
Что скажете об этом?
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: [Решено:]Мультизагрузочная флешка с таблицей разделов gpt + lilo

Сообщение bormant »

Hephaestus писал(а):
26.02.2015 11:52
файл образа целиком загружается в память. И если образ большой...

Если речь о /isolinux/initrd.img с установочного носителя -- да, его в память целиком читает загрузчик до передачи управления ядру. Размер этого файла в 14.1:
для 64-битной: 29 Мб
для 32-битной: 36 Мб

Это cpio+gz архив, распаковать, что-то поменять, запаковать обратно совершенно несложно.

Машины с долой вычиткой с диска средствами BIOS мне тоже попадались, в дальнейшем это проблем не создаёт, достаточно добавить compact в /etc/lilo.conf (тогда обращение к функциям BIOS для чтения идёт не по одному сектору за раз а группа секторов читается за одно обращение) и переключиться на -generic- ядро (оно существенно меньше в размерах).

Возможно, загрузка по PXE окажется быстрее, чем с диска. Встроенный сервер PXE поставляется в установщике начиная с версии 13.37:
http://alien.slackbook.org/blog/out-of-the...lackware-13-37/

Аппаратные требования зафиксированы в сопутствующей документации:
("http://mirrors.slackware.com/slackware/slackware-14.1/Slackware-HOWTO") писал(а):2. Hardware Requirements

Here's a basic list of what you'll need to install Slackware:

128 megabytes (128MB) or more of RAM. If you have less RAM than this, you
might still be able to install, but if so don't expect the best possible
experience.

You also will need some disk space to install Slackware. For a complete
installation, you'll probably want to devote a 10GB *or larger* partition
completely to Slackware (you'll need almost 8GB for a full default
installation, and then you'll want extra space when you're done).
If you haven't installed Slackware before, you may have to experiment.
If you've got the drive space, more is going to be better than not enough.
Also, you can always install only the first software set (the A series
containing only the basic system utilities) and then install more software
later once your system is running.
И далее по тексту.

Если правильно помню, 8 Gb -- это без KDEI (который огромен и целиком никогда не нужен).

Для более ранних поддерживаемых версий смотреть требования к железу аналогично:
http://mirrors.slackware.com/slackware/sla...Slackware-HOWTO
http://mirrors.slackware.com/slackware/sla...Slackware-HOWTO
http://mirrors.slackware.com/slackware/sla...Slackware-HOWTO
http://mirrors.slackware.com/slackware/sla...Slackware-HOWTO

Для ещё более ранних уже не выпускаются обновления безопасности, объявлено об окончании поддержки, но некоторые наиболее критичные обновления выпускались и после даты EOL.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: [Решено:]Мультизагрузочная флешка с таблицей разделов gpt + lilo

Сообщение Hephaestus »

bormant писал(а):
26.02.2015 12:21
Если речь о /isolinux/initrd.img с установочного носителя -- да
Я имел в виду syslinux, который предписывает для мультизагрузки разместить образы в каталогах одного раздела, и потом он их оттуда читает.
Так вот, если туда положить какой-нибудь образ iso размером, скажем, полтора гига, а машина попадётся с объемом 1 гиг ОЗУ, то ничего не получится. В этом смысле создать на флешке отдельный раздел и залить образ туда - это мне представляется более правильным. Это одна из причин, почему я создаю разделы на флешке, а не просто раскладываю файлы образов по каталогам.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: [Решено:]Мультизагрузочная флешка с таблицей разделов gpt + lilo

Сообщение bormant »

Hephaestus писал(а):
26.02.2015 12:38
syslinux, который предписывает для мультизагрузки разместить образы в каталогах одного раздела, и потом он их оттуда читает.
Куда-то вас не туда повело, зачем isolinux/syslinux читать образы iso?

Всё намного проще, пересмотрите сообщение #14 темы.

Возьмем загрузочный носитель Slackware. У него в загрузочной области установлен код загрузчика ISOLINUX. При загрузке с носителя этот код получит управление (4 сектора по 800 байт), подгрузит каталог ФС iso9660, пойдет искать настройки в /isolinux/isolinux.cfg. Там он увидит что-то вроде:

Код: Выделить всё

default hugesmp.s    # вариант загрузки по простому Enter или таймауту
prompt 1             # отобразить приглашение
timeout 1200         # ждать ввода 120 секунд, если ввода не будет, выполнить default
display message.txt  # покажет содержимое /isolinux/message.txt, то самое стартовое приветствие загрузчика
F1 message.txt       # по нажатию F1 показать /isolinux/message.txt
F2 f2.txt            # по нажатию F2 показать /isolinux/f2.txt
...
label hugesmp.s                    # имя варианта загрузки
  kernel /kernels/huge.s/bzImage   # ядро, загружаемое в этом варианте
  append initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 nomodeset SLACK_KERNEL=hugesmp.s
  # выше -- передаваемые ядру параметры, дополнительные ползатель может вписать в приглашение boot:
  # initrd=initrd.img -- указание загрузчику прочитать в память файл /isolinux/initrd.img и передать ядру
...
Если ползатель тем или иным образом выбрал вариант hugesmp.s, то загрузчик читает с диска
- ядро /kernels/huge.s/bzImage
- образ initrd /isolinux/initrd.img
- передаёт управление ядру. Всё, в этой точке загрузчик свое отработал и до следующей загрузки с носителя больше управление не получит.

Дальше работает ядро, выполненяет init (система инициализации), который действует по настройкам в /etc/inittab, запускает сценарии из /etc/rc.d/, стартует эмуляторы терминала на 1-3 консолях, отладочный вывод на 4.
Никто пока образ ISO в память грузить не собирался.

Полагаю, из сказанного очевидно, что и где можно менять для достижения результата по загрузке с нужным ядром и нужной установочной средой в initrd.img.
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: [Решено:]Мультизагрузочная флешка с таблицей разделов gpt + lilo

Сообщение bormant »

В вариантах с GRUB, например, https://wiki.archlinux.org/index.php/Multiboot_USB_drive
используется умение GRUB своими силами монтировать ISO на своё петлевое устройство (loop device).
В таком варианте для Slackware потребуется что-то вроде:

Код: Выделить всё

menuentry '(loopback) slackware-14.1-install-dvd' {
    loopback loop /boot/iso/slackware-14.1-install-dvd.iso  # в устройство (loop) "вставлен" образ
    linux (loop)/kernels/hugesmp.s/bzImage printk.time=0 rw nomodeset SLACK_KERNEL=hugesmp.s
    initrd (loop)/isolinux/initrd.img
}
С устройства (loop) (то есть, фактически из файла ISO) читаются в память только 2 файла: /kernels/hugesmp.s/bzImage, /isolinux/initrd.img.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: [Решено:]Мультизагрузочная флешка с таблицей разделов gpt + lilo

Сообщение Hephaestus »

bormant писал(а):
26.02.2015 13:17
зачем isolinux/syslinux читать образы iso?
Затем, что мультизагрузочная флешка может содержать не только установщики slackware.
Мало ли, чего я ещё захочу туда поместить?
И если я изначально имею на флешке один большой раздел, где разные ОС/установщики/LiveCD/что-то_ещё лежат по каталогам, то да, возможно придётся читать образ.
Виденные мной статьи/howto по syslinux содержали такие примеры, когда использовался образ iso (например, от Dr.Web).
И там акцентировалось внимание на том, что образ в таком случае считывается в память полностью, и если памяти мало, загрузка завершится неудачей.
Это одна из причин, почему я не придерживаюсь такой схемы, а заливаю образы на разделы. Да, разумеется, чтобы что-то добавить на флешку, мне её бывает нужно переделывать. Это сложнее варианта с одним разделом и каталогами, но для меня это всё-таки более приемлемо.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: [Решено:]Мультизагрузочная флешка с таблицей разделов gpt + lilo

Сообщение bormant »

Hephaestus писал(а):
26.02.2015 14:08
Мало ли, чего я ещё захочу туда поместить?
Тогда вам прямая дорога на GRUB, как наиболее гибкое решение. Грузить весь ISO в память для Slackware явно нерационально. Вариант с отдельными разделами тоже не сильно гибкий, размеры образов могут быть сильно разными, на все не угадаешь.

Но и с GRUB тоже возможны неприятности из-за особенностей внутреннего устройства образов ISO конкретного дистрибутива. В приведённой выше статье есть описание некоторых подобных случаев. Например, для Debian-а требуется подкладывать initrd не из образа.

Но и скомбинировать варианты с отдельными разделами для того или иного образа никто не помешает в случае с GRUB, он ведь тоже поддерживает передачу загрузки по цепочке (set root=... , chainloader +1).
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: [Решено:]Мультизагрузочная флешка с таблицей разделов gpt + lilo

Сообщение drBatty »

Hephaestus писал(а):
23.02.2015 20:15
Захотелось добавить ещё один раздел - для установщика slackware 32 bit
Поскольку primary-разделов больше нельзя, а расширенный раздел создавать не хотелось, решил попробовать gpt.

проще было затарить один из разделов на HDD, убить его, и сделать расширенные разделы.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: [Решено:]Мультизагрузочная флешка с таблицей разделов gpt + lilo

Сообщение bormant »

drBatty писал(а):
27.02.2015 09:26
сделать расширенные разделы

Кстати да, если говорить о LILO, то ему важно на этапе формирования загрузчика (вызов lilo) вычислить номера секторов ядра и initrd (для image= и initrd=) или загрузочной записи (для other=). Для последующей работы сформированного загрузчика никакие прочие управляющие структуры вообще не нужны, достаточно чтобы 1) собственно данные указанных выше объектов лежали по вычисленным адресам носителя и 2) их чтение было возможно средствами BIOS.

PS. Кстати, если стандартный драйвер loop в Linux умеет возвращать правильные смещения объектов в образе, то и для lilo теоретически можно дописать обработку ситуации:

Код: Выделить всё

image = /mnt/iso/kernels/huge.s/bzImage
  initrd = /mnt/iso/isolinux/initrd.img
...
когда в пути содержится точка монтирования петлевого устройства с ISO образом в нём (в примере -- /mnt/iso).
Спасибо сказали:
Ответить