LINUX.ORG.RU

муки установки дистрибутива, reiserfs на ssd и grub-legacy

 , ,


1

1

Меня тут просили установить в дуалбут Windows XP и какой-нибудь вменяемый дистрибутив Линукс. Компьютер старый, Pentium E2160 и два гига оперативы. Не спрашивайте почему так, так хочет владелец а отговаривать я его не стал, потому что вобщем лучшего ничего предложить то и не могу. Цель - лазить по сайтам, платить в Сбербанке и тому прочее. Я создавал уже тред и мне накидали годных советов. Пока я нацелился попробовать MX Linux. Мой вопрос, скажите, будет ли глупым установить reiserfs на ssd под рут раздел? Уж больно чешутся руки. Читал что многие это не рекомендуют а некоторые говорят что fs работает с блочным устройством, потому это неважно. Почему рейзер 3.6? Потому что его видит grub-legacy. А я не хочу делать загрузку по цепочке. Почему grub-legacy? Потому что я к нему привык и в нём могу гибко и быстро решить многие проблемы. Потому что МБР (дос-разметка, в биосе другого нет). Ко второму не могу привыкнуть и переучиться. Во первых потому что он не привязан к к разделу с линуксом а можно его кинуть в любое место на фат или ext2,3,reiser. На ext4 - нельзя, только по цепочке. В норме надо поставить grub2 и линукс на ext4 и не парить себе мозг. Но мне неудобно будет загружать iso образ systemrescue по разным надобностям, через memdisk (не факт что в GRUB2 это так же легко как в legacy). Одговорите меня от идиотизма и вообще мне нужно это с кем то обсудить а то будет много лишней суеты. Спасибо!

★★★

Пять строк бреда, заблуждений и суеверий. «Исчешешься в кровь».

Не так давно, чукче на пальцах показал, что груб2 не сложнее груб1. А в современных реалиях выйдет даже проще. Ибо груб2 везде идет автоматом, а вот запустить груб1 - это придется попотеть.

andytux ★★★★★
()
Ответ на: комментарий от andytux

что груб2 не сложнее груб1

Верно я понимаю что его можно посадить в MBR флешки на fat32, разместив файлы на разделе флешки? Его можно использовать без Linux? Кстати, как у него ситуация с загрузкой iso образов? Через memdisk можно?

baaba ★★★
() автор топика
Последнее исправление: baaba (всего исправлений: 1)
Ответ на: комментарий от baaba

Есть подводные камни:

На счёт дуалбута не знаю. Полагаю, достаточно будет просто оставить свободное место и поставить на него, а автоматика справится.

Vsevolod-linuxoid ★★★★★
()

Мой вопрос, скажите, будет ли глупым установить reiserfs на ssd под рут раздел?

Ничего не могу сказать насчёт самой reiserfs, но вот ставить нестандартные конфигурации кому то другому, плохо представляя как это себя повезёт - плохая идея. Вот прям пособие от создателей «зацени как я могу!» и «да что тут может пойти не так?».

Так что ставьте ехт4 (даже не f2fs) и смиритесь что некоторые операции будут выполняться на 5% хуже.

kirill_rrr ★★★★★
()
Последнее исправление: kirill_rrr (всего исправлений: 1)
Ответ на: комментарий от andytux

andytux

Не так давно, чукче на пальцах показал, что груб2 не сложнее груб1.

Я такой же чукча. Мне то же можно показать? Нужно подхватить из комстроки iso-образ для загрузки лайвсиди (любой iso желательно и img то же). Образ сидит на флешке. Груб я то же вкорячил, из офтопика вот так:

https://www.pendrivelinux.com/install-grub2-on-usb-from-windows/ grub-install.exe –force –no-floppy –target=i386-pc –boot-directory=E:\boot //./PHYSICALDRIVE3

и так далее. Но найти /etc/default/grub не могу) потому что делаю из офтопика))

Сейчас у меня на флешке директория boot и там всё что нужно а рядом EFI. Хочу теперь разобраться как работать с комстрокой, когда загружусь с этой флешки. Читаю официальный мануал, https://www.gnu.org/software/grub/manual/grub/html_node/Simple-configuration.html#Simple-configuration но пока не нашёл ответа на свой вопрос.

Мне нужно что бы grub2 жил своей жизнью, отдельно от ОС. Что бы можно было его перенести, при желании на другую флешку, поправить меню по желанию (естественно не через grub.cfq), подхватить memdisk, initrd, vmlinuz со своими параметрами, задать корректно таймаут меню (пока что это не получилось, там с этим какие то проблемы). Сейчас нет ни grub.cfg (который не надо править вручную) ни /etc/default/grub (потому что нет линукса).

Спасибо.

baaba ★★★
() автор топика
Последнее исправление: baaba (всего исправлений: 4)
Ответ на: комментарий от baaba

Снова, пять строк бреда, так что сложно понять, чего хочешь-то…

Мне то же можно показать?

Смотри.

найти /etc/default/grub не могу

Вот абсолютно нафиг не нужен.

«…что бы grub2 жил своей жизнью»

andytux ★★★★★
()
Ответ на: комментарий от andytux

andytux

Смотри.

Здесь непонятно идёт речь о правке grub.conf или /etc/default/grub?

Если первое - его не стоит править вручную. Синтаксис сложен и он обновляется. Если второе - то нужен линукс

«…что бы grub2 жил своей жизнью»

там приводится правка вручную grub.cfg а это не равно той простой правке /etc/grub/conf которую Вы привели То есть, я понимаю, в случае с флешкой grub.conf можно писать вручную по вашему примеру?

Ещё мне нужна работа на лету из комстроки. Есть годный мануал как это сделать?

baaba ★★★
() автор топика
Последнее исправление: baaba (всего исправлений: 6)
Ответ на: комментарий от baaba

А как ты собирался с первым грубом жить? Там есть пример, как напрямую использовать конфиг первого груба.

Там полный цикл установки-настройки, для ЕФИ и легаси, плюс примеры конфига всех вариантов, которые ты перечислил. Если нужны grub.d-скрипты, и default в том числе - никто не запрещает, добавляй. Но это для системы, а ты-же сказал самостоятельно.

Да, сейчас у меня есть варианты новее, есть они и на форуме. Но тебе они не нужны, весь твой запал кончился в заголовке. Мало, посмотри еще здесь.. Там кстати полемика аналогичная, сам не знал, что хотел. Это пожалуй самая свежая. Прям твой брат-двойник.

andytux ★★★★★
()
Последнее исправление: andytux (всего исправлений: 1)
Ответ на: комментарий от andytux

andytux А как ты собирался с первым грубом жить?

Спасибо за пинки. linux16 (hd0,1)/boot/memdisk initrd16 (hd0,1)/boot/systemrescue.iso

Загружают образ 700 мб. Удалось наконец разобраться что радует. Бонусом - это можно делать не только с fat32 но и с ntfs. Можно не плодить разделы на харде. Это сильно развязывает руки.

Второй вариант загрузки, посмотреть что там в образе, если это лайвсиди линукс, например, и монтировать его через loopback, затем запускать с /casper (если такая загрузка предусмотрена сборщиками образа, если смогу передать ядру параметры, где искать образ).

Скажите, есть способ ещё. Мне бы хотелось просто скормить iso загрузчику, на подобие того как это делается утилитами ventoy, rufus, acronics. При том что ОЗУ у меня 2 ГБ.

А как ты собирался с первым грубом жить? Там есть пример, как напрямую использовать конфиг первого груба.

Там полный цикл установки-настройки, для ЕФИ и легаси, плюс примеры конфига всех вариантов, которые ты перечислил. Если нужны grub.d-скрипты, и default в том числе - никто не запрещает, добавляй. Но это для системы, а ты-же сказал самостоятельно.

Да, сейчас у меня есть варианты новее, есть они и на форуме. Но тебе они не нужны, весь твой запал кончился в заголовке. Мало, посмотри еще здесь.. Там кстати полемика аналогичная, сам не знал, что хотел. Это пожалуй самая свежая. Прям твой брат-двойник. ★★★★ (20.12.22 15:33:14 MSK) Последнее исправление: andytux 20.12.22 15:41:01 MSK (всего исправлений: 1)

baaba ★★★
() автор топика
Ответ на: комментарий от baaba

systemrescue.iso…

А он тебе нужен? Когда-то тоже думал, что загружу все на свете. Но быстро понял, что лучше всей этой кучи своя, родная, настроенная и изученная система.

Пара пинков.

linux16 (hd0,1)/boot/memdisk initrd16 (hd0,1)/boot/systemrescue.iso

Вот окажись более одного подключенного диска, например, твоя «спасательная флешка» и харддиск, который ты собрался спасать. По закону подлости, флешка окажется не hd0 и не загрузится твой спасатель. Пусть груб сам ищет образ командой «search». Аналогично с memdisk, а если его нет? Я уже подзабыл, но если образ очень большой, то memdisk-у нужно передать параметр, указываеющий сколько памяти выделить для образа. Ну и, если флешка читает со скоростью 10мб/c, то 700мб - это 70 сек будет только считываться образ.

можно делать не только с fat32 но и с ntfs…

…и с других файловых систем, но не забывать подгрузить соответствующий модуль. Совсем не обязательно грубу и образам быть на одном диске. И грубом, который установлен системой на хард можно грузить все что угодно, откуда угодно.

подобие того как это делается утилитами ventoy…

А как это делается? Никогда, ни с одной дела не имел. По слухам, ventoy - это «большой конфиг груба». Rufus, если знаешь, что как грузится, то нафиг не нужен. А если не знаешь, то и не поможет, что подтерждает изобилие тем на любом форуме: «…перепробовал все программы записи флешек, ничего не работает». Acronis, ты его сначала купи. А загрузить ты его когда-нибудь пробовал?

Вообще, это система должна уметь грузиться из исо-образа. Если она этого не умеет, например Виндовс, то ничем не поможешь.

Самое удобное, если образ «loopback-bootable». Во всех остальных случаях нужен индивидуальный подход.

andytux ★★★★★
()
Ответ на: комментарий от andytux

linux16 (hd0,1)/boot/memdisk initrd16 (hd0,1)/boot/systemrescue.iso Вот окажись более одного подключенного диска

Это команда в моменте. hd0,1 подобрал табом путём импровизации. Так то есть find, set root, это понятно, просто так проще и быстрее. Благо есть ls и прочее.

Аналогично с memdisk, а если его нет?

та вещь, которая должна быть под рукой. Лежит рядом с исошником rescue

Я сейчас думаю груб поставить на HDD с ntfs. Туда же кинуть rescue дистрибутив, исошник. На SSD оставить два первичных раздела, один с виндой и другой с линуксом. Не знаю, нужно ли делать swap раздел для линукса? Может быть можно просто файл выделить. Вот в этом вопросе пока плаваю. У меня MX Linux, но по документации на него я пока не понял как надо. Таким образом максимально использовать SSD и не держать на нём файлопомойку. SSD у меня на 256 гб с Озона. Так что если он умрёт, быстро восстановить систему на новый SSD из образов через dd и ntfsclone, благо это всё опробовал и вижу что работает.

baaba ★★★
() автор топика
Последнее исправление: baaba (всего исправлений: 3)
Ответ на: комментарий от baaba

Свап - нужен, раздел - нет. Свап-файл всегда удобнее. Может быть на любом разделе, в любой момент можно удалить, если понадобилось место, или создать большего размера или второй. Команда одна в любой системе.

…не держать на нём файлопомойку

Хорошая идея, не держи. В качестве примера, здесь можешь посмотреть мою разметку, с описанием назначения разделов. Справедливо для любой системы.

andytux ★★★★★
()
Ответ на: комментарий от baaba

linux16 (hd0,1)/boot/memdisk initrd16 (hd0,1)/boot/systemrescue.iso

То есть, даже не заметил, что сам себе насоздавал лишних точек отказа. Вот окажись не hd0, тебе нужно править в двух местах и в каждом сделаешь по ошибке. А можно ничего не править, нигде не ошибаться, груб сам найдет. Просто, никакой индикации, сидишь и ждешь, то-ли он долго читает образ с флешки, то-ли не нашел, непонятно. Но вот стало понятно, что загрузка не удалась, единственный путь - перезагрузка.

andytux ★★★★★
()
Ответ на: комментарий от andytux

А можно ничего не править, нигде не ошибаться, груб сам найдет.

Да, но у меня нет Линукса в этот момент. Как мне действовать? Править grub.cfg руками?

Сори, я правда немного недогоняю. Я бы сделал grub.cfg. Если даже есть ошибки - можно поправить клавешей Е. Но ведь все говорят что править надо скрипты. А у меня нет Линукса на флешке. На флешке только загрузчик GRUB2 и образы. По этому я нащупываю (hd0,1) или иное а потом загружаю всё. То есть я могу сделать grub.cfg и обновлять его вручную?

baaba ★★★
() автор топика
Последнее исправление: baaba (всего исправлений: 1)
Ответ на: комментарий от baaba

все говорят что править надо скрипты

Они все не знают, что груб может быть независим от системы. Система, когда ей вздумается, запускает скрипты из /etc/grub.d, которые генерируют новый конфиг. А если груб «вне системы», то она и не подозревает о его существовании. Соответственно, даже если что-то и запустит, то на «внешний груб» это никак не повлияет. А тем более, если линукса нет вообще. Поэтому, конфиг для него создавай-редактируй руками.

поправить клавешей Е

Эти изменения не сохраняются в конфиге, только на один раз. Удобно, например, для экспериментов.

andytux ★★★★★
()
Ответ на: комментарий от ox55ff

Решил навернуть говнеца?

Ну у меня стоит CRUX на феном II, с тайловым WM. Всё это на HDD с грубом и рейзерфс. Монитор - ламповый (ЭЛТ), плоский кинескоп, 21". И я кайфую от этого. Работает всё чётенько. Дуалбутом стоит винда-семёрочка. Там кой какой софт гоняю то же. Да, я понимаю что не очень. Вообще мне нравятся HDD

baaba ★★★
() автор топика
Ответ на: комментарий от baaba

Не можно, нужно.

Открою тебе страшную тайну. Загляни в файл /etc/grub.d/40_custom. Он специально для того и придуман, чтобы ты в него руками записал все, что тебе нужно. А система перенесет это в основной конфиг. Загляни в файл /etc/grub.d/41_custom. Этот код ищет файл custom.cfg. Если найдет, то этот файл будет конфигом, меню из этого файла ты увидишь. А создать custom.cfg ты должен руками. Отсюда следует, что имя файла конфига может быть вообще любое и ты сам можешь выбирать, какой конкретно файл использовать в данном месте в качестве конфига.

andytux ★★★★★
()
Ответ на: комментарий от andytux

andytux Этот код ищет файл custom.cfg Если найдет, то этот файл будет конфигом

Я про это читал. Но не понял, grub.cfg при этом будет то же отображаться в списке? Так же непонятно, если grub отвязать от линукса, он будет воспроизводить custom.cfg или в таком случае его лучше переименовать в grub.cfg?

Как grub понимает какой cfg ему воспроизводить в виде меню?

baaba ★★★
() автор топика
Ответ на: комментарий от andytux

Нашёл примерно такой конфиг

menuentry 'System Rescue CD' {
	set isofile='/iso/systemrescue-9.05-amd64.iso'
	probe -u $root --set=imgdevuuid
	set imgdevpath="/dev/disk/by-uuid/$imgdevuuid"
	loopback loop $isofile
	linux (loop)/sysresccd/boot/x86_64/vmlinuz archisobasedir=sysresccd img_dev=$imgdevpath img_loop=$isofile earlymodules=loop
	initrd (loop)/sysresccd/boot/intel_ucode.img (loop)/sysresccd/boot/amd_ucode.img (loop)/sysresccd/boot/x86_64/sysresccd.img
}

А вообще вот тут хорошо пишут: https://wiki.archlinux.org/title/GRUB_(Русский)

Прям приведу:

5.3 Прямая конфигурация

GRUB2 – программируемый загрузчик, и файл его конфигурации – это не файл настроек, а программа, выполняемая загрузчиком, скрипт. Как всякий скрипт, он может быть как очень простым, не сложнее menu.lst в GRUB Legacy, так и очень сложным, поскольку сложность скриптов практически ничем не ограничена.

Код скрипта конфигурации, генерируемый grub-mkconfig, обычно пригоден для загрузки в типовых случаях, но слишком громоздок, избыточен, непригоден для изучения, ограничен в возможностях, и создаёт ложное впечатление о «сложном конфиге GRUB2».

Ещё одно распространённое заблуждение происходит от надписи «DO NOT EDIT ...» в начале кода, генерируемого конфигуратором. Надпись правильная, но её смысл состоит лишь в том, что именно этот, автоматически сгенерированный код, действительно нет смысла редактировать. Надпись стандартна для автоматических конфигураторов, и относится не к grub.cfg вообще, а только к продукту деятельности конфигуратора, безотносительно имени файла, в который его сохранили.

При запуске автоматического конфигуратора, выполняется набор скриптов, работающих на уровне ОС, которые генерируют скрипт конфигурации загрузчика. Уже этот, сгенерированный скрипт, выполняется на уровне загрузчика, и в свою очередь, генерирует меню GRUB. Такая схема предполагает некоторое упрощение типовой настройки GRUB, но ценой загромождения кода, снижения надёжности и гибкости.

baaba ★★★
() автор топика
Последнее исправление: baaba (всего исправлений: 2)
Ответ на: комментарий от baaba

Я же показывал чукче. Еще раз. Загляни в grub.cfg, сам все увидишь. Там блоки кода выделены специальными комментариями, по которым понятно, какой скрипт создал этот блок. По умолчанию, конфиг - grub.cfg. Но программе установки груба можно в параметре указать расположение и название файла конфига. Конфиг - это по сути шелл-скрипт. В конце файла grub.cfg найдешь блок кода «### BEGIN /etc/grub,d/41.custom ###» То есть, сначала будет выполнен весь grub.cfg, в конце если найдет custom.cfg, то выполнит его. Что будет отображаться, зависит от конкретного содержания. В виде меню отображаются только заголовки блоков menuentry и submenu.

Если ты пишешь конфиг сам, то естесственно сам должен написать вызов другого конфига. Например:

configfile /boot/grub/handmade.config
andytux ★★★★★
()
Ответ на: комментарий от vasya_pupkin

Simply Linux на «Pentium E2160 и два гига оперативы» будет в принципе работать весьма неплохо. Я тоже именно его выбираю на старое железо, резльтат получается поотзывчивее дебиана и Слинукс можно оставлять людям пользоваться с минимальным саппортом, в отличие от Арча.

manntes-live ★★★
()
Ответ на: комментарий от andytux

andytux

Спасибо огромное за подсказки и пинки. Получилось такое.

enuentry "LUbuntu Linux" {
set my_label=LUbuntuOS
search --no-floppy --label $my_label --set root 
linux   /boot/vmlinuz-5.19.0-26-generic root=LABEL=$my_label ro quiet splash $vt_handoff
initrd  /boot/initrd.img-5.19.0-26-generic
}

menuentry "Systemrescue CD" {
set isofile=/install/systemrescue-9.05-amd64.iso
search --no-floppy --label baracuda --set=root
loopback loop $isofile
linux  (loop)/sysresccd/boot/x86_64/vmlinuz img_label=baracuda img_loop=$isofile archisobasedir=sysresccd copytoram setkmap=us
initrd (loop)/sysresccd/boot/x86_64/sysresccd.img
}

Правда, к сожалению, пока не получилось разобтаться с:

set gfxmode=1280x1024
savedefault

Первое - игнорирет, второе - ругается что такой команды не существует. Пробовал пихать в menuentry, то же не помогает. Хорошо что главное заработало (loopback на iso-файл грузится пошустрее чем через memdisk. Да и лимитов на размер iso кажется в таком случае нет. Очень радует что больше не нужно держать fat раздел, всё прекрасно взлетает с ntfs)

baaba ★★★
() автор топика
Последнее исправление: baaba (всего исправлений: 1)
Ответ на: комментарий от baaba

«Нет предела совершенству.»

Например, понадобилось тебе изменить один из параметров ядра. Будешь искать по всему коду? Хорошо, если всего пара-тройка строк, а если больше… А если одно значение в несколких местах (my_label), велик шанс несколько раз ошибиться.

Параметры ядра помещаю в переменную в начале пункта меню.

«vmlinuz-5.19.0-26-generic» - обновится ядро и твой код перестанет работать. В этом-же каталоге есть символическая ссылка vmlinuz, указывающая на самое новое ядро. Я использую ее, чтобы не переписывать код при каждом обновлении. Аналогично для инитрд.

savedefault…ругается что такой команды не существует

А она есть? Если говорить точнее, то это функция, автоматически генерируемая скриптом 00_header, примерно в таком виде:

function savedefault {
  if [ -z "\${boot_once}" ]; then
    saved_entry="\${chosen}"
    save_env saved_entry
  fi
}

Как видно, она оперирует переменными, создаваемыми-изменяемыми другой функцией, которя тоже автоматически генерируется скриптом. Если тебе нужна эта функциональность, то придется руками переносить это в свой конфиг.

andytux ★★★★★
()
Последнее исправление: andytux (всего исправлений: 1)