LINUX.ORG.RU

История изменений

Исправление kostik87, (текущая версия) :

set timeout=30

loadfont unicode

set menu_color_normal=white/black
set menu_color_highlight=black/light-gray

menuentry "Try or Install Ubuntu" {
	set gfxpayload=keep
	linux	/casper/vmlinuz  --- quiet splash
	initrd	/casper/initrd
}
menuentry "Ubuntu (safe graphics)" {
	set gfxpayload=keep
	linux	/casper/vmlinuz nomodeset  --- quiet splash
	initrd	/casper/initrd
}
grub_platform
if [ "$grub_platform" = "efi" ]; then
menuentry 'Boot from next volume' {
	exit 1
}
menuentry 'UEFI Firmware Settings' {
	fwsetup
}
else
menuentry 'Test memory' {
	linux16 /boot/memtest86+x64.bin
}
fi


Посмотрел, в конфиге grub действительно не задается.

Значит определяется в initramfs, скриптом что нужно смонтировать, либо зашито при компиляции ядра.

Ubuntu в целом применяя свои SNAP пакеты уже не совсем классический Linux и посмотрев его LiveCD я вижу, что они подход со SNAP пакетами во всю применяют.

К тому же классическая модель LiveCD систем состоит из:

  • загрузчик;
  • ядро;
  • initramfs и скрипты в нём для поиска файловой системы, где находится squashfs образ с системой;
  • один squashfs образ с системой.

В LiveCD ubuntu 24.04 есть несколько squashfs образов, minimal, minimal-enhansed-secureboot, minimal.standart.live.squashfs в директории casper на носителе.

Ну видимо вся механика поиска CD / DVD привода, а точнее файловой системы с этими squashfs образами и их монтирования находится в скриптах initramfs.

Более того, я не все просмотрел, но думаю большей частью все там даже нет /etc/fstab, либо я его просмотрел, либо он всё же создаётся, либо просто работает systemd, чтобы он всё смонтировал /etc/fstab не нужен. Более того, в системах с systemd механика монтирования файловых систем происходит не через файл /etc/fstab. Systemd после монтирования корневой файловой системы читается /etc/fstab и создаёт на его основе systemd unit’ы для монтирования файловых систем и запускает их. К тому же запускает асинхронно, а не в той очерёдности, что прописано в /etc/fstab. Отсюда вывод, что для корректного монтирования в /etc/fstab теперь нужно прописывать параметры, указывающие systemd зависимости и очерёдность монтирования (выполнения *.mount unit’ов), всё становится удобнее в плане возможностей использования, но сложнее в плане настройки.

Параметры ядра могут быть заданы при его компиляции в параметре CONFIG_CMDLINE: https://cateee.net/lkddb/web-lkddb/CMDLINE.html

В squashfs файле casper/minimal.standard.live.squashfs есть директория /boot и конфиг ядра, в нём нет этого параметра.

Отсюда ещё один вывод: всё делается скриптами init в initramfs, которые ищут и монтируют squashfs и далее всё делает systemd.

Нафига, если я могу нажать ‘e’ в грубе, и увидеть это:

Теперь ответ на твой вопрос. А это для того, чтобы ты не выглядел нелепо. Потому как параметр ядра root использовался, используется и будет использоваться для указания корневой файловой системы.

Это если бы ты начал изучать устройства автомобиля и ездил каждый раз на новом, который тебе покупали и пригоняли с уже полным баком и ты такой изучаешь как работает автомобиль. Знаешь, что есть двигатель, коробка передач, трансмиссия, колёса, амортизаторы, сцепление, система отвода газов. Но вдруг у тебя машина плохо едет и тебе говорят: проверь ест ли бензин и посмотреть какое октановое число нужно.

А ты отвечаешь, да что вы такое говорите никакой бензин не нужен - я всегда просто садился за руль и ехал, никуда ничего не заливая.

Если ты посмотришь grub твоего установленного Linux и любого другого, то увидишь там параметр root, в котором задаётся какую файловую систему ему смонтировать, через имя устройства, например /dev/sda1, через идентификатор раздела, через метку файловой системы (LABEL), через уникальный идентификатор файловой системы (UUID), но всё равно задаётся.

В случае устройства LiveCD Ubuntu и обычный дистрибутив может загружаться тоже по другому, например можно собирать initramfs и в нём зашивать эти идентификаторы, чтобы скрипты или systemd внутри него нашли и смонтировали корень.

Но в 99% процентов случаев параметр root задаётся в загрузчике и он явно указан.

Поэтому когда тебе пишут на форуме - сходит посмотри вот эти базовые знания, чтобы не выглядеть бледно и не показывать, чтобы вообще не понимаешь как происходит процесс запуска Linux, открой гугл и вбей просто то, что тебе посоветовали посмотреть.

Я вижу, что ты этого не понимаешь, а это база и она работает везде, так же как база, что для работы двигателя внутреннего сгорания нужен один из видов топлива, бензин, солярка.

И я тебе написал где смотреть и примерно как:

Могли конечно в init скриптах в initramfs зашить или жёстко при компиляции ядра задать в параметрах, но он так или иначе есть.

Ну значит распаковывай initramfs и смотри как там всё утроено, читай документацию по LiveUSB от Ubuntu, ну и справка по параметрам ядра тебе в помощь.

https://www.kernel.org/doc/html/v4.14/admin-guide/kernel-parameters.html

        root=           [KNL] Root filesystem
                        See name_to_dev_t comment in init/do_mounts.c.

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

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

Грепом искать прямо в бинарнике?

Можно и так, но лучше найти конфиг, где он находится я тебе указал, уточняю ещё раз, он находится в squshfs файле и ты его можешь увидеть, либо смонтировав squashfs, либо загрузиться с LiveCD / LiveUSB там, где она загружается и посмотреть в директории /boot запущенной Live системы.

То, что у тебя не происходит загрузка - варианта два:

  • сбой в acpi приводит к некорректной работе MMC памяти;
  • или не корректно работает драйвер USB контроллера, т.к. ты грузишься с флешки.

Если добавить сюда же «acpi=off» и нажать F10, то загружается без eMMC. А значит это и есть актуальная строка параметров.

То, что ты передав параметр acpi=off запускаешь систему и из-за этого параметра устройство карт ридера вообще не видно ядру не значит, что это актуальная строка параметров.

У тебя может так же из-за параметра acpi=off не работать другое оборудование.

Как минимум сам ACPI работать не будет, а это значит не будет обработано ядром нажатие на кнопку включения хотя бы, что под кратковременному одинарному нажатия запустилась процедура выключения.

Прочие ACPI события тоже не будут работать. Даже если прочее оборудования работает корректно, то уже само по себе отсутствие ACPI с моей точки зрения тоже проблема.

Поэтому ни о какой актуальной строке и речи не идёт. Почитай тогда ещё что такое ACPI и зачем нужно.

Поэтому когда ты утверждаешь, что то, что ты сделал и есть актуально, т.е. так и должно быть сделано 10 раз подумай, а всё ли ты знаешь и всё ли учёл. Т.е. умей оценить свои знания.

Я тоже допускаю ошибки, но если я утверждаю что-то я указываю почему я так думаю и понимаю, что могу ошибаться. Так что советую перепроверять твои выводы и тебе.

Ты можешь добавить в строку параметров ядра параметр, блокирующий загрузку модуля ядра с драйвером картридера.

За подробностями, что это за параметр - читай ссылку выше с описанием параметров ядра.

как только определишь перебором или анализом логов какой модуль нужно заблокировать - добавляй параметр и блокируй.

Говорить более подробно не буду, не очень хочется что-то ещё пояснять тебе, т.к. ты не хочешь учиться, а сразу говоришь, что я тебе говорю чушь, ты же в Linux разбираешься как бог.

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

Я тебе дал хлебные крошки, по которым ты мог найти ответ сам и разобраться, но ты почему-то не хочешь думать и говоришь странные вещи. Вот тебе развёрнутый ответ.)))

Удачи.

Исправление kostik87, :

set timeout=30

loadfont unicode

set menu_color_normal=white/black
set menu_color_highlight=black/light-gray

menuentry "Try or Install Ubuntu" {
	set gfxpayload=keep
	linux	/casper/vmlinuz  --- quiet splash
	initrd	/casper/initrd
}
menuentry "Ubuntu (safe graphics)" {
	set gfxpayload=keep
	linux	/casper/vmlinuz nomodeset  --- quiet splash
	initrd	/casper/initrd
}
grub_platform
if [ "$grub_platform" = "efi" ]; then
menuentry 'Boot from next volume' {
	exit 1
}
menuentry 'UEFI Firmware Settings' {
	fwsetup
}
else
menuentry 'Test memory' {
	linux16 /boot/memtest86+x64.bin
}
fi


Посмотрел, в конфиге grub действительно не задается.

Значит определяется в initramfs, скриптом что нужно смонтировать, либо зашито при компиляции ядра.

Ubuntu в целом применяя свои SNAP пакеты уже не совсем классический Linux и посмотрев его LiveCD я вижу, что они подход со SNAP пакетами во всю применяют.

К тому же классическая модель LiveCD систем состоит из:

  • загрузчик;
  • ядро;
  • initramfs и скрипты в нём для поиска файловой системы, где находится squashfs образ с системой;
  • один squashfs образ с системой.

В LiveCD ubuntu 24.04 есть несколько squashfs образов, minimal, minimal-enhansed-secureboot, minimal.standart.live.squashfs в директории casper на носителе.

Ну видимо вся механика поиска CD / DVD привода, а точнее файловой системы с этими squashfs образами и их монтирования находится в скриптах initramfs.

Более того, я не все просмотрел, но думаю большей частью все там даже нет /etc/fstab, либо я его просмотрел, либо он всё же создаётся, либо просто работает systemd, чтобы он всё смонтировал /etc/fstab не нужен. Более того, в системах с systemd механика монтирования файловых систем происходит не через файл /etc/fstab. Systemd после монтирования корневой файловой системы читается /etc/fstab и создаёт на его основе systemd unit’ы для монтирования файловых систем и запускает их. К тому же запускает асинхронно, а не в той очерёдности, что прописано в /etc/fstab. Отсюда вывод, что для корректного монтирования в /etc/fstab теперь нужно прописывать параметры, указывающие systemd зависимости и очерёдность монтирования (выполнения *.mount unit’ов), всё становится удобнее в плане возможностей использования, но сложнее в плане настройки.

Параметры ядра могут быть заданы при его компиляции в параметре CONFIG_CMDLINE: https://cateee.net/lkddb/web-lkddb/CMDLINE.html

В squashfs файле casper/minimal.standard.live.squashfs есть директория /boot и конфиг ядра, в нём нет этого параметра.

Отсюда ещё один вывод: всё делается скриптами init в initramfs, которые ищут и монтируют squashfs и далее всё делает systemd.

Нафига, если я могу нажать ‘e’ в грубе, и увидеть это:

Теперь ответ на твой вопрос. А это для того, чтобы ты не выглядел нелепо. Потому как параметр ядра root использовался, используется и будет использоваться для указания корневой файловой системы.

Это если бы ты начал изучать устройства автомобиля и ездил каждый раз на новом, который тебе покупали и пригоняли с уже полным баком и ты такой изучаешь как работает автомобиль. Знаешь, что есть двигатель, коробка передач, трансмиссия, колёса, амортизаторы, сцепление, система отвода газов. Но вдруг у тебя машина плохо едет и тебе говорят: проверь ест ли бензин и посмотреть какое октановое число нужно.

А ты отвечаешь, да что вы такое говорите никакой бензин не нужен - я всегда просто садился за руль и ехал, никуда ничего не заливая.

Если ты посмотришь grub твоего установленного Linux и любого другого, то увидишь там параметр root, в котором задаётся какую файловую систему ему смонтировать, через имя устройства, например /dev/sda1, через идентификатор раздела, через метку файловой системы (LABEL), через уникальный идентификатор файловой системы (UUID), но всё равно задаётся.

В случае устройства LiveCD Ubuntu и обычный дистрибутив может загружаться тоже по другому, например можно собирать initramfs и в нём зашивать эти идентификаторы, чтобы скрипты или systemd внутри него нашли и смонтировали корень.

Но в 99% процентов случаев параметр root задаётся в загрузчике и он явно указан.

Поэтому когда тебе пишут на форуме - сходит посмотри вот эти базовые знания, чтобы не выглядеть бледно и не показывать, чтобы вообще не понимаешь как происходит процесс запуска Linux, открой гугл и вбей просто то, что тебе посоветовали посмотреть.

Я вижу, что ты этого не понимаешь, а это база и она работает везде, так же как база, что для работы двигателя внутреннего сгорания нужен один из видов топлива, бензин, солярка.

И я тебе написал где смотреть и примерно как:

Могли конечно в init скриптах в initramfs зашить или жёстко при компиляции ядра задать в параметрах, но он так или иначе есть.

Ну значит распаковывай initramfs и смотри как там всё утроено, читай документацию по LiveUSB от Ubuntu, ну и справка по параметрам ядра тебе в помощь.

https://www.kernel.org/doc/html/v4.14/admin-guide/kernel-parameters.html

        root=           [KNL] Root filesystem
                        See name_to_dev_t comment in init/do_mounts.c.

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

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

Грепом искать прямо в бинарнике?

Можно и так, но лучше найти конфиг, где он находится я тебе указал, уточняю ещё раз, он находится в squshfs файле и ты его можешь увидеть, либо смонтировав squashfs, либо загрузиться с LiveCD / LiveUSB там, где она загружается и посмотреть в директории /boot запущенной Live системы.

То, что у тебя не происходит загрузка - варианта два:

  • сбой в acpi приводит к некорректной работе MMC памяти;
  • или не корректно работает драйвер USB контроллера, т.к. ты грузишься с флешки.

Если добавить сюда же «acpi=off» и нажать F10, то загружается без eMMC. А значит это и есть актуальная строка параметров.

То, что ты передав параметр acpi=off запускаешь систему и из-за этого параметра устройство карт ридера вообще не видно ядру не значит, что это актуальная строка параметров.

У тебя может так же из-за параметра acpi=off не работать другое оборудование.

Как минимум сам ACPI работать не будет, а это значит не будет обработано ядром нажатие на кнопку включения хотя бы, что под кратковременному одинарному нажатия запустилась процедура выключения.

Прочие ACPI события тоже не будут работать. Даже если прочее оборудования работает корректно, то уже само по себе отсутствие ACPI с моей точки зрения тоже проблема.

Поэтому ни о какой актуальной строке и речи не идёт. Почитай тогда ещё что такое ACPI и зачем нужно.

Поэтому когда ты утверждаешь, что то, что ты сделал и есть актуально, т.е. так и должно быть сделано 10 раз подумай, а всё ли ты знаешь и всё ли учёл. Т.е. умей оценить свои знания.

Я тоже допускаю ошибки, но если я утверждаю что-то я указываю почему я так думаю и понимаю, что могу ошибаться. Так что советую перепроверять твои выводы и тебе.

Ты можешь добавить в строку параметров ядра параметр, блокирующий загрузку модуля ядра с драйвером картридера.

За подробностями, что это за параметр - читай ссылку выше с описанием параметров ядра.

как только определишь перебором или анализом логов какой модуль нужно заблокировать - добавляй параметр и блокируй.

Говорить более подробно не буду, не очень хочется что-то ещё пояснять тебе, т.к. ты не хочешь учиться, а сразу говоришь, что я тебе говорю чушь, ты же в Linux разбираешься как бог.

Удачи.

Исправление kostik87, :

set timeout=30

loadfont unicode

set menu_color_normal=white/black
set menu_color_highlight=black/light-gray

menuentry "Try or Install Ubuntu" {
	set gfxpayload=keep
	linux	/casper/vmlinuz  --- quiet splash
	initrd	/casper/initrd
}
menuentry "Ubuntu (safe graphics)" {
	set gfxpayload=keep
	linux	/casper/vmlinuz nomodeset  --- quiet splash
	initrd	/casper/initrd
}
grub_platform
if [ "$grub_platform" = "efi" ]; then
menuentry 'Boot from next volume' {
	exit 1
}
menuentry 'UEFI Firmware Settings' {
	fwsetup
}
else
menuentry 'Test memory' {
	linux16 /boot/memtest86+x64.bin
}
fi


Посмотрел, в конфиге grub действительно не задается.

Значит определяется в initramfs, скриптом что нужно смонтировать, либо зашито при компиляции ядра.

Ubuntu в целом применяя свои SNAP пакеты уже не совсем классический Linux и посмотрев его LiveCD я вижу, что они подход со SNAP пакетами во всю применяют.

К тому же классическая модель LiveCD систем состоит из:

  • загрузчик;
  • ядро;
  • initramfs и скрипты в нём для поиска файловой системы, где находится squashfs образ с системой;
  • один squashfs образ с системой.

В LiveCD ubuntu 24.04 есть несколько squashfs образов, minimal, minimal-enhansed-secureboot, minimal.standart.live.squashfs в директории casper на носителе.

Ну видимо вся механика поиска CD / DVD привода, а точнее файловой системы с этими squashfs образами и их монтирования находится в скриптах initramfs.

Более того, я не все просмотрел, но думаю большей частью все там даже нет /etc/fstab, либо я его просмотрел, либо он всё же создаётся, либо просто работает systemd, чтобы он всё смонтировал /etc/fstab не нужен. Более того, в системах с systemd механика монтирования файловых систем происходит не через файл /etc/fstab. Systemd после монтирования корневой файловой системы читается /etc/fstab и создаёт на его основе systemd unit’ы для монтирования файловых систем и запускает их. К тому же запускает асинхронно, а не в той очерёдности, что прописано в /etc/fstab. Отсюда вывод, что для корректного монтирования в /etc/fstab теперь нужно прописывать параметры, указывающие systemd зависимости и очерёдность монтирования (выполнения *.mount unit’ов), всё становится удобнее в плане возможностей использования, но сложнее в плане настройки.

Параметры ядра могут быть заданы при его компиляции в параметре CONFIG_CMDLINE: https://cateee.net/lkddb/web-lkddb/CMDLINE.html

В squashfs файле casper/minimal.standard.live.squashfs есть директория /boot и конфиг ядра, в нём нет этого параметра.

Отсюда ещё один вывод: всё делается скриптами init в initramfs, которые ищут и монтируют squashfs и далее всё делает systemd.

Нафига, если я могу нажать ‘e’ в грубе, и увидеть это:

Теперь ответ на твой вопрос. А это для того, чтобы ты не выглядел нелепо. Потому как параметр ядра root использовался, используется и будет использоваться для указания корневой файловой системы.

Это если бы ты начал изучать устройства автомобиля и ездил каждый раз на новом, который тебе покупали и пригоняли с уже полным баком и ты такой изучаешь как работает автомобиль. Знаешь, что есть двигатель, коробка передач, трансмиссия, колёса, амортизаторы, сцепление, система отвода газов. Но вдруг у тебя машина плохо едет и тебе говорят: проверь ест ли бензин и посмотреть какое октановое число нужно.

А ты отвечаешь, да что вы такое говорите никакой бензин не нужен - я всегда просто садился за руль и ехал, никуда ничего не заливая.

Если ты посмотришь grub твоего установленного Linux и любого другого, то увидишь там параметр root, в котором задаётся какую файловую систему ему смонтировать, через имя устройства, например /dev/sda1, через идентификатор раздела, через метку файловой системы (LABEL), через уникальный идентификатор файловой системы (UUID), но всё равно задаётся.

В случае устройства LiveCD Ubuntu и обычный дистрибутив может загружаться тоже по другому, например можно собирать initramfs и в нём зашивать эти идентификаторы, чтобы скрипты или systemd внутри него нашли и смонтировали корень.

Но в 99% процентов случаев параметр root задаётся в загрузчике и он явно указан.

Поэтому когда тебе пишут на форуме - сходит посмотри вот эти базовые знания, чтобы не выглядеть бледно и не показывать, чтобы вообще не понимаешь как происходит процесс запуска Linux, открой гугл и вбей просто то, что тебе посоветовали посмотреть.

Я вижу, что ты этого не понимаешь, а это база и она работает везде, так же как база, что для работы двигателя внутреннего сгорания нужен один из видов топлива, бензин, солярка.

И я тебе написал где смотреть и примерно как:

Могли конечно в init скриптах в initramfs зашить или жёстко при компиляции ядра задать в параметрах, но он так или иначе есть.

Ну значит распаковывай initramfs и смотри как там всё утроено, читай документацию по LiveUSB от Ubuntu, ну и справка по параметрам ядра тебе в помощь.

https://www.kernel.org/doc/html/v4.14/admin-guide/kernel-parameters.html

        root=           [KNL] Root filesystem
                        See name_to_dev_t comment in init/do_mounts.c.

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

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

Грепом искать прямо в бинарнике?

Можно и так, но лучше найти конфиг, где он находится я тебе указал, уточняю ещё раз, он находится в squshfs файле и ты его можешь увидеть, либо смонтировав squashfs, либо загрузиться с LiveCD / LiveUSB там, где она загружается и посмотреть в директории /boot запущенной Live системы.

То, что у тебя не происходит загрузка - варианта два:

  • сбой в acpi приводит к некорректной работе MMC памяти;
  • или не корректно работает драйвер USB контроллера, т.к. ты грузишься с флешки.

Если добавить сюда же «acpi=off» и нажать F10, то загружается без eMMC. А значит это и есть актуальная строка параметров.

То, что ты передав параметр acpi=off запускаешь систему и из-за этого параметра устройство карт ридера вообще не видно ядру не значит, что это актуальная строка параметров.

У тебя может так же из-за параметра acpi=off не работать другое оборудование.

Как минимум сам ACPI работать не будет, а это значит не будет обработано ядром нажатие на кнопку включения хотя бы, что под кратковременному одинарному нажатия запустилась процедура выключения.

Прочие ACPI события тоже не будут работать. Даже если прочее оборудования работает корректно, то уже само по себе отсутствие ACPI с моей точки зрения тоже проблема.

Поэтому ни о какой актуальной строке и речи не идёт. Почитай тогда ещё что такое ACPI и зачем нужно.

Ты можешь добавить в строку параметров ядра параметр, блокирующий загрузку модуля ядра с драйвером картридера.

За подробностями, что это за параметр - читай ссылку выше с описанием параметров ядра.

как только определишь перебором или анализом логов какой модуль нужно заблокировать - добавляй параметр и блокируй.

Говорить более подробно не буду, не очень хочется что-то ещё пояснять тебе, т.к. ты не хочешь учиться, а сразу говоришь, что я тебе говорю чушь, ты же в Linux разбираешься как бог.

Удачи.

Исправление kostik87, :

set timeout=30

loadfont unicode

set menu_color_normal=white/black
set menu_color_highlight=black/light-gray

menuentry "Try or Install Ubuntu" {
	set gfxpayload=keep
	linux	/casper/vmlinuz  --- quiet splash
	initrd	/casper/initrd
}
menuentry "Ubuntu (safe graphics)" {
	set gfxpayload=keep
	linux	/casper/vmlinuz nomodeset  --- quiet splash
	initrd	/casper/initrd
}
grub_platform
if [ "$grub_platform" = "efi" ]; then
menuentry 'Boot from next volume' {
	exit 1
}
menuentry 'UEFI Firmware Settings' {
	fwsetup
}
else
menuentry 'Test memory' {
	linux16 /boot/memtest86+x64.bin
}
fi


Посмотрел, в конфиге grub действительно не задается.

Значит определяется в initramfs, скриптом что нужно смонтировать, либо зашито при компиляции ядра.

Ubuntu в целом применяя свои SNAP пакеты уже не совсем классический Linux и посмотрев его LiveCD я вижу, что они подход со SNAP пакетами во всю применяют.

К тому же классическая модель LiveCD систем состоит из:

  • загрузчик;
  • ядро;
  • initramfs и скрипты в нём для поиска файловой системы, где находится squashfs образ с системой;
  • один squashfs образ с системой.

В LiveCD ubuntu 24.04 есть несколько squashfs образов, minimal, minimal-enhansed-secureboot, minimal.standart.live.squashfs в директории casper на носителе.

Ну видимо вся механика поиска CD / DVD привода, а точнее файловой системы с этими squashfs образами и их монтирования находится в скриптах initramfs.

Более того, я не все просмотрел, но думаю большей частью все там даже нет /etc/fstab, либо я его просмотрел, либо он всё же создаётся, либо просто работает systemd, чтобы он всё смонтировал /etc/fstab не нужен. Более того, в системах с systemd механика монтирования файловых систем происходит не через файл /etc/fstab. Systemd после монтирования корневой файловой системы читается /etc/fstab и создаёт на его основе systemd unit’ы для монтирования файловых систем и запускает их. К тому же запускает асинхронно, а не в той очерёдности, что прописано в /etc/fstab. Отсюда вывод, что для корректного монтирования в /etc/fstab теперь нужно прописывать параметры, указывающие systemd зависимости и очерёдность монтирования (выполнения *.mount unit’ов), всё становится удобнее в плане возможностей использования, но сложнее в плане настройки.

Параметры ядра могут быть заданы при его компиляции в параметре CONFIG_CMDLINE: https://cateee.net/lkddb/web-lkddb/CMDLINE.html

В squashfs файле casper/minimal.standard.live.squashfs есть директория /boot и конфиг ядра, в нём нет этого параметра.

Отсюда ещё один вывод: всё делается скриптами init в initramfs, которые ищут и монтируют squashfs и далее всё делает systemd.

Нафига, если я могу нажать ‘e’ в грубе, и увидеть это:

Теперь ответ на твой вопрос. А это для того, чтобы ты не выглядел нелепо. Потому как параметр ядра root использовался, используется и будет использоваться для указания корневой файловой системы.

Это если бы ты начал изучать устройства автомобиля и ездил каждый раз на новом, который тебе покупали и пригоняли с уже полным баком и ты такой изучаешь как работает автомобиль. Знаешь, что есть двигатель, коробка передач, трансмиссия, колёса, амортизаторы, сцепление, система отвода газов. Но вдруг у тебя машина плохо едет и тебе говорят: проверь ест ли бензин и посмотреть какое октановое число нужно.

А ты отвечаешь, да что вы такое говорите никакой бензин не нужен - я всегда просто садился за руль и ехал, никуда ничего не заливая.

Если ты посмотришь grub твоего установленного Linux и любого другого, то увидишь там параметр root, в котором задаётся какую файловую систему ему смонтировать, через имя устройства, например /dev/sda1, через идентификатор раздела, через метку файловой системы (LABEL), через уникальный идентификатор файловой системы (UUID), но всё равно задаётся.

В случае устройства LiveCD Ubuntu и обычный дистрибутив может загружаться тоже по другому, например можно собирать initramfs и в нём зашивать эти идентификаторы, чтобы скрипты или systemd внутри него нашли и смонтировали корень.

Но в 99% процентов случаев параметр root задаётся в загрузчике и он явно указан.

Поэтому когда тебе пишут на форуме - сходит посмотри вот эти базовые знания, чтобы не выглядеть бледно и не показывать, чтобы вообще не понимаешь как происходит процесс запуска Linux, открой гугл и вбей просто то, что тебе посоветовали посмотреть.

Я вижу, что ты этого не понимаешь, а это база и она работает везде, так же как база, что для работы двигателя внутреннего сгорания нужен один из видов топлива, бензин, солярка.

И я тебе написал где смотреть и примерно как:

Могли конечно в init скриптах в initramfs зашить или жёстко при компиляции ядра задать в параметрах, но он так или иначе есть.

Ну значит распаковывай initramfs и смотри как там всё утроено, читай документацию по LiveUSB от Ubuntu, ну и справка по параметрам ядра тебе в помощь.

https://www.kernel.org/doc/html/v4.14/admin-guide/kernel-parameters.html

        root=           [KNL] Root filesystem
                        See name_to_dev_t comment in init/do_mounts.c.

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

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

Грепом искать прямо в бинарнике?

Можно и так, но лучше найти конфиг, где он находится я тебе указал, уточняю ещё раз, он находится в squshfs файле и ты его можешь увидеть, либо смонтировав squashfs, либо загрузиться с LiveCD / LiveUSB там, где она загружается и посмотреть в директории /boot запущенной Live системы.

То, что у тебя не происходит загрузка - варианта два:

  • сбой в acpi приводит к некорректной работе MMC памяти;
  • или не корректно работает драйвер USB контроллера, т.к. ты грузишься с флешки.

Если добавить сюда же «acpi=off» и нажать F10, то загружается без eMMC. А значит это и есть актуальная строка параметров.

То, что ты передав параметр acpi=off запускаешь систему и из-за этого параметра устройство карт ридера вообще не видно ядру не значит, что это актуальная строка параметров.

У тебя может так же из-за параметра acpi=off не работать другое оборудование.

Ты можешь добавить в строку параметров ядра параметр, блокирующий загрузку модуля ядра с драйвером картридера.

За подробностями, что это за параметр - читай ссылку выше с описанием параметров ядра.

как только определишь перебором или анализом логов какой модуль нужно заблокировать - добавляй параметр и блокируй.

Говорить более подробно не буду, не очень хочется что-то ещё пояснять тебе, т.к. ты не хочешь учиться, а сразу говоришь, что я тебе говорю чушь, ты же в Linux разбираешься как бог.

Удачи.

Исправление kostik87, :

set timeout=30

loadfont unicode

set menu_color_normal=white/black
set menu_color_highlight=black/light-gray

menuentry "Try or Install Ubuntu" {
	set gfxpayload=keep
	linux	/casper/vmlinuz  --- quiet splash
	initrd	/casper/initrd
}
menuentry "Ubuntu (safe graphics)" {
	set gfxpayload=keep
	linux	/casper/vmlinuz nomodeset  --- quiet splash
	initrd	/casper/initrd
}
grub_platform
if [ "$grub_platform" = "efi" ]; then
menuentry 'Boot from next volume' {
	exit 1
}
menuentry 'UEFI Firmware Settings' {
	fwsetup
}
else
menuentry 'Test memory' {
	linux16 /boot/memtest86+x64.bin
}
fi


Посмотрел, в конфиге grub действительно не задается.

Значит определяется в initramfs, скриптом что нужно смонтировать, либо зашито при компиляции ядра.

Ubuntu в целом применяя свои SNAP пакеты уже не совсем классический Linux и посмотрев его LiveCD я вижу, что они подход со SNAP пакетами во всю применяют.

К тому же классическая модель LiveCD систем состоит из:

  • загрузчик;
  • ядро;
  • initramfs и скрипты в нём для поиска файловой системы, где находится squashfs образ с системой;
  • один squashfs образ с системой.

В LiveCD ubuntu 24.04 есть несколько squashfs образов, minimal, minimal-enhansed-secureboot, minimal.standart.live.squashfs в директории casper на носителе.

Ну видимо вся механика поиска CD / DVD привода, а точнее файловой системы с этими squashfs образами и их монтирования находится в скриптах initramfs.

Более того, я не все просмотрел, но думаю большей частью все там даже нет /etc/fstab, либо я его просмотрел, либо он всё же создаётся, либо просто работает systemd, чтобы он всё смонтировал /etc/fstab не нужен. Более того, в системах с systemd механика монтирования файловых систем происходит не через файл /etc/fstab. Systemd после монтирования корневой файловой системы читается /etc/fstab и создаёт на его основе systemd unit’ы для монтирования файловых систем и запускает их. К тому же запускает асинхронно, а не в той очерёдности, что прописано в /etc/fstab. Отсюда вывод, что для корректного монтирования в /etc/fstab теперь нужно прописывать параметры, указывающие systemd зависимости и очерёдность монтирования (выполнения *.mount unit’ов), всё становится удобнее в плане возможностей использования, но сложнее в плане настройки.

Параметры ядра могут быть заданы при его компиляции в параметре CONFIG_CMDLINE: https://cateee.net/lkddb/web-lkddb/CMDLINE.html

В squashfs файле casper/minimal.standard.live.squashfs есть директория /boot и конфиг ядра, в нём нет этого параметра.

Отсюда ещё один вывод: всё делается скриптами init в initramfs, которые ищут и монтируют squashfs и далее всё делает systemd.

Нафига, если я могу нажать ‘e’ в грубе, и увидеть это:

Теперь ответ на твой вопрос. А это для того, чтобы ты не выглядел нелепо. Потому как параметр ядра root использовался, используется и будет использоваться для указания корневой файловой системы.

Это если бы ты начал изучать устройства автомобиля и ездил каждый раз на новом, который тебе покупали и пригоняли с уже полным баком и ты такой изучаешь как работает автомобиль. Знаешь, что есть двигатель, коробка передач, трансмиссия, колёса, амортизаторы, сцепление, система отвода газов. Но вдруг у тебя машина плохо едет и тебе говорят: проверь ест ли бензин и посмотреть какое октановое число нужно.

А ты отвечаешь, да что вы такое говорите никакой бензин не нужен - я всегда просто садился за руль и ехал, никуда ничего не заливая.

Если ты посмотришь grub твоего установленного Linux и любого другого, то увидишь там параметр root, в котором задаётся какую файловую систему ему смонтировать, через имя устройства, например /dev/sda1, через идентификатор раздела, через метку файловой системы (LABEL), через уникальный идентификатор файловой системы (UUID), но всё равно задаётся.

В случае устройства LiveCD Ubuntu и обычный дистрибутив может загружаться тоже по другому, например можно собирать initramfs и в нём зашивать эти идентификаторы, чтобы скрипты или systemd внутри него нашли и смонтировали корень.

Но в 99% процентов случаев параметр root задаётся в загрузчике и он явно указан.

Поэтому когда тебе пишут на форуме - сходит посмотри вот эти базовые знания, чтобы не выглядеть бледно и не показывать, чтобы вообще не понимаешь как происходит процесс запуска Linux, открой гугл и вбей просто то, что тебе посоветовали посмотреть.

Я вижу, что ты этого не понимаешь, а это база и она работает везде, так же как база, что для работы двигателя внутреннего сгорания нужен один из видов топлива, бензин, солярка.

И я тебе написал где смотреть и примерно как:

Могли конечно в init скриптах в initramfs зашить или жёстко при компиляции ядра задать в параметрах, но он так или иначе есть.

Ну значит распаковывай initramfs и смотри как там всё утроено, читай документацию по LiveUSB от Ubuntu, ну и справка по параметрам ядра тебе в помощь.

https://www.kernel.org/doc/html/v4.14/admin-guide/kernel-parameters.html

        root=           [KNL] Root filesystem
                        See name_to_dev_t comment in init/do_mounts.c.

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

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

Грепом искать прямо в бинарнике?

Можно и так, но лучше найти конфиг, где он находится я тебе указал, уточняю ещё раз, он находится в squshfs файле и ты его можешь увидеть, либо смонтировав squashfs, либо загрузиться с LiveCD / LiveUSB там, где она загружается и посмотреть в директории /boot запущенной Live системы.

То, что у тебя не происходит загрузка - варианта два:

  • сбой в acpi приводит к некорректной работе MMC памяти;
  • или не корректно работает драйвер USB контроллера, т.к. ты грузишься с флешки.

Если добавить сюда же «acpi=off» и нажать F10, то загружается без eMMC. А значит это и есть актуальная строка параметров.

То, что ты передав параметр acpi=off запускаешь системы и из-за этого параметра устройство карт ридера вообще не видно ядру не значит, что это актуальная строка параметров.

У тебя может так же из-за параметра acpi=off не работать другое оборудования.

Ты можешь добавить в строку параметров ядра параметр, блокирующий загрузку модуля ядра с драйвером картридера.

За подробностями, что это за параметр - читай ссылку выше с описанием параметров ядра.

как только определишь перебором или анализом логов какой модуль нужно заблокировать - добавляй параметр и блокируй.

Говорить более подробно не буду, не очень хочется что-то ещё пояснять тебе, т.к. ты не хочешь учиться, а сразу говоришь, что я тебе говорю чушь, ты же в Linux разбираешься как бог.

Удачи.

Исправление kostik87, :

set timeout=30

loadfont unicode

set menu_color_normal=white/black
set menu_color_highlight=black/light-gray

menuentry "Try or Install Ubuntu" {
	set gfxpayload=keep
	linux	/casper/vmlinuz  --- quiet splash
	initrd	/casper/initrd
}
menuentry "Ubuntu (safe graphics)" {
	set gfxpayload=keep
	linux	/casper/vmlinuz nomodeset  --- quiet splash
	initrd	/casper/initrd
}
grub_platform
if [ "$grub_platform" = "efi" ]; then
menuentry 'Boot from next volume' {
	exit 1
}
menuentry 'UEFI Firmware Settings' {
	fwsetup
}
else
menuentry 'Test memory' {
	linux16 /boot/memtest86+x64.bin
}
fi


Посмотрел, в конфиге grub действительно не задается.

Значит определяется в initramfs, скриптом что нужно смонтировать, либо зашито при компиляции ядра.

Ubuntu в целом применяя свои SNAP пакеты уже не совсем классический Linux и посмотрев его LiveCD я вижу, что они подход со SNAP пакетами во всю применяют.

К тому же классическая модель LiveCD систем состоит из:

  • загрузчик;
  • ядро;
  • initramfs и скрипты в нём для поиска файловой системы, где находится squashfs образ с системой;
  • один squashfs образ с системой.

В LiveCD ubuntu 24.04 есть несколько squashfs образов, minimal, minimal-enhansed-secureboot, minimal.standart.live.squashfs в директории casper на носителе.

Ну видимо вся механика поиска CD / DVD привода, а точнее файловой системы с этими squashfs образами и их монтирования находится в скриптах initramfs.

Более того, я не все просмотрел, но думаю большей частью все там даже нет /etc/fstab, либо я его просмотрел, либо он всё же создаётся, либо просто работает systemd, чтобы он всё смонтировал /etc/fstab не нужен. Более того, в системах с systemd механика монтирования файловых систем происходит не через файл /etc/fstab. Systemd после монтирования корневой файловой системы читается /etc/fstab и создаёт на его основе systemd unitы для монтирования файловых систем и запускает их. К тому же запускает асинхронно, а не в той очерёдности, что прописано в /etc/fstab. Отсюда вывод, что для корректного монтирования в /etc/fstab теперь нужно прописывать параметры, указывающие systemd зависимости и очерёдность монтирования (выполнения *.mount unitов), всё становится удобнее в плане возможностей использования, но сложнее в плане настройки.

Параметры ядра могут быть заданы при его компиляции в параметре CONFIG_CMDLINE: https://cateee.net/lkddb/web-lkddb/CMDLINE.html

В squashfs файле casper/minimal.standard.live.squashfs есть директория /boot и конфиг ядра, в нём нет этого параметра.

Отсюда ещё один вывод: всё делается скриптами init в initramfs, которые ищут и монтируют squashfs и далее всё делает systemd.

Нафига, если я могу нажать ‘e’ в грубе, и увидеть это:

Теперь ответ на твой вопрос. А это для того, чтобы ты не выглядел нелепо. Потому как параметр ядра root использовался, используется и будет использоваться для указания корневой файловой системы.

Это если бы ты начал изучать устройства автомобиля и ездил каждый раз на новом, который тебе покупали и пригоняли с уже полным баком и ты такой изучаешь как работает автомобиль. Знаешь, что есть двигатель, коробка передач, трансмиссия, колёса, амортизаторы, сцепление, система отвода газов. Но вдруг у тебя машина плохо едет и тебе говорят: проверь ест ли бензин и посмотреть какое октановое число нужно.

А ты отвечаешь, да что вы такое говорите никакой бензин не нужен - я всегда просто садился за руль и ехал, никуда ничего не заливая.

Если ты посмотришь grub твоего установленного Linux и любого другого, то увидишь там параметр root, в котором задаётся какую файловую систему ему смонтировать, через имя устройства, например /dev/sda1, через идентификатор раздела, через метку файловой системы (LABEL), через уникальный идентификатор файловой системы (UUID), но всё равно задаётся.

В случае устройства LiveCD Ubuntu и обычный дистрибутив может загружаться тоже по другому, например можно собирать initramfs и в нём зашивать эти идентификаторы, чтобы скрипты или systemd внутри него нашли и смонтировали корень.

Но в 99% процентов случаев параметр root задаётся в загрузчике и он явно указан.

Поэтому когда тебе пишут на форуме - сходит посмотри вот эти базовые знания, чтобы не выглядеть бледно и не показывать, чтобы вообще не понимаешь как происходит процесс запуска Linux, открой гугл и вбей просто то, что тебе посоветовали посмотреть.

Я вижу, что ты этого не понимаешь, а это база и она работает везде, так же как база, что для работы двигателя внутреннего сгорания нужен один из видов топлива, бензин, солярка.

И я тебе написал где смотреть и примерно как:

Могли конечно в init скриптах в initramfs зашить или жёстко при компиляции ядра задать в параметрах, но он так или иначе есть.

Ну значит распаковывай initramfs и смотри как там всё утроено, читай документацию по LiveUSB от Ubuntu, ну и справка по параметрам ядра тебе в помощь.

https://www.kernel.org/doc/html/v4.14/admin-guide/kernel-parameters.html

        root=           [KNL] Root filesystem
                        See name_to_dev_t comment in init/do_mounts.c.

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

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

Грепом искать прямо в бинарнике?

Можно и так, но лучше найти конфиг, где он находится я тебе указал, уточняю ещё раз, он находится в squshfs файле и ты его можешь увидеть, либо смонтировав squashfs, либо загрузиться с LiveCD / LiveUSB там, где она загружается и посмотреть в директории /boot запущенной Live системы.

То, что у тебя не происходит загрузка - варианта два:

  • сбой в acpi приводит к некорректной работе MMC памяти;
  • или не корректно работает драйвер USB контроллера, т.к. ты грузишься с флешки.

Если добавить сюда же «acpi=off» и нажать F10, то загружается без eMMC. А значит это и есть актуальная строка параметров.

То, что ты передав параметр acpi=off запускаешь системы и из-за этого параметра устройство карт ридера вообще не видно ядру не значит, что это актуальная строка параметров.

У тебя может так же из-за параметра acpi=off не работать другое оборудования.

Ты можешь добавить в строку параметров ядра параметр, блокирующий загрузку модуля ядра с драйвером картридера.

За подробностями, что это за параметр - читай ссылку выше с описанием параметров ядра.

как только определишь перебором или анализом логов какой модуль нужно заблокировать - добавляй параметр и блокируй.

Говорить более подробно не буду, не очень хочется что-то ещё пояснять тебе, т.к. ты не хочешь учиться, а сразу говоришь, что я тебе говорю чушь, ты же в Linux разбираешься как бог.

Удачи.

Исходная версия kostik87, :

set timeout=30

loadfont unicode

set menu_color_normal=white/black
set menu_color_highlight=black/light-gray

menuentry "Try or Install Ubuntu" {
	set gfxpayload=keep
	linux	/casper/vmlinuz  --- quiet splash
	initrd	/casper/initrd
}
menuentry "Ubuntu (safe graphics)" {
	set gfxpayload=keep
	linux	/casper/vmlinuz nomodeset  --- quiet splash
	initrd	/casper/initrd
}
grub_platform
if [ "$grub_platform" = "efi" ]; then
menuentry 'Boot from next volume' {
	exit 1
}
menuentry 'UEFI Firmware Settings' {
	fwsetup
}
else
menuentry 'Test memory' {
	linux16 /boot/memtest86+x64.bin
}
fi


Посмотрел, в конфиге grub действительно не задается.

Значит определяется в initramfs, скриптом что нужно смонтировать, либо зашито при компиляции ядра.

Ubuntu в целом применяя свои SNAP пакеты уже не совсем кдассический Linux и посмотрев его LiveCD я вижу, что они подход со SNAP пакета во всю применяют.

К тому же классическая модель LiveCD систем состоит из:

  • загрузчик;
  • ядро;
  • initramfs и скрипты в нём для поиска файловой системы, где находится squashfs образ с системой;
  • один squashfs образ с системой.

В LiveCD ubuntu 24.04 есть несколько squashfs образов, minimal, minimal-enhansed-secureboot, minimal.standart.live.squashfs в директории casper на носителе.

Ну видимо вся механика поиска CD / DVD привода, а точнее файловой системы с этими squashfs образами и их монтирования находится в скриптах initramfs.

Более того, я не все просмотрел, но думаю большей частью все там даже нет /etc/fstab, либо я его просмотрел, либо он всё же создаётся, либо просто работает systemd, чтобы он всё смонтирвоал /etc/fstab не нужен. Более того, в системах с systemd механика монтирования файловых систем происходит не через файл /etc/fstab. Systemd после монтирования корневой файловой системы читается /etc/fstab и создаёт на его основе systemd unitы для монтирования файловых систем и запускает их. К тому же запускает асинхронно, а не в той очерёдности, что прописано в /etc/fstab. Отсюда вывод, что для корректного монтирования в /etc/fstab теперь нужно прописывать параметры, указывающие systemd зависимости и очерёдность монтирования (выполения *.mount unitов), всё становится удобнее в плане возможностей использования, но сложнее в плане настройки.

Параметры ядра могут быть заданы при его компиляции в параметре CONFIG_CMDLINE: https://cateee.net/lkddb/web-lkddb/CMDLINE.html

В squashfs файле casper/minimal.standard.live.squashfs есть директория /boot и конфиг ядра, в нём нет этого параметра.

Отсюда ещё один вывод: всё делается скриптами init в initramfs, которые ищут и монтируют squashfs и далее всё делает systemd.

Нафига, если я могу нажать ‘e’ в грубе, и увидеть это:

Теперь ответ на твой вопрос. А это для того, чтобы ты не выглядел нелепо. Потому как параметр ядра root использовался, используется и будет использоваться для указания корневой файловой системы.

Это если бы ты начал изучать устройства автомобиля и ездил каждый раз на новом, который тебе покупали и пригоняли с уже полным баком и ты такой изучаешь как работает автомобиль. Знаешь, что есть двигатель, коробка передач, раздатка, колёса, амортизаторы, сцепление. Но вдруг у тебя машина плохо едет и тебе говорят: проверь ест ли бензин и посмотри какое октановое число нужно.

А ты отвечаешь, да что вы такое говорите никакой бензин не нужен - я всегда просто садился за руль и ехал, никуда ничего не заливая.

Если ты посмотришь grub твоего установленного Linux и любого другого, то увидишь там параметр root, в котором задаётся какую файловую систему ему смонтировать, через имя устройства, например /dev/sda1, через идентификатор раздела, через метку файловой системы (LABEL), через уникальный идентификатор файловой системы (UUID), но всё равно задаётся.

В случае устройства LiveCD Ubuntu и обычный дистрибутив может загружаться тоже по другому, например можно собирать initramfs и в нём зашивать эти идентификаторы, чтобы скрипты или systemd внутри него нашли и смонтировали корень.

Но в 99% процентов случаев параметр root задаётся в загрузчике и он явно указан.

Поэтому когда тебе пишут на форуме - сходит посмотри вот эти базовые знания, чтобы не выглядеть бледно и не показывать, чтобы вообще не понимаешь как происходит процесс запуска Linux, открой гугл и вбей просто то, что тебе посоветовали посмотреть.

Я вижу, что ты этого не понимаешь, а это база и она работает везде, так же как база, что для работы двигателя внутреннего сгорания нужен один из видов топлива, безин, солярка.

И я тебе написал где смотреть и примерно как:

Могли конечно в init скриптах в initramfs зашить или жёстко при компиляции ядра задать в параметрах, но он так или иначе есть.

Ну значит распаковывай initramfs и смотри как там всё утроено, читай документацию по LiveUSB от Ubuntu, ну и справка по параметам ядра тебе в помощь.

https://www.kernel.org/doc/html/v4.14/admin-guide/kernel-parameters.html

        root=           [KNL] Root filesystem
                        See name_to_dev_t comment in init/do_mounts.c.

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

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

Грепом искать прямо в бинарнике?

Можно и так, но лучше найти конфиг, где он находится я тебе указал, уточняю ещё раз, он находится в squshfs файле и ты его можешь увидеть, либо смонтировав squashfs, либо загрузиться с LiveCD / LiveUSB там, где она загружается и посмотреть в директории /boot запущенной Live системы.

То, что у тебя не происходит загрузка - варианта два:

  • сбой в acpi приводит к некорректной работе MMC памяти;
  • или не корректно работает драйер USB контроллера, т.к. ты грузишься с флешки.

Если добавить сюда же «acpi=off» и нажать F10, то загружается без eMMC. А значит это и есть актуальная строка параметров.

То, что ты передав параметр acpi=off запускаешь системы и из-за этого параметра устройство карт ридера вообще не видно ядру не значит, что это актуальная строка параметров.

У тебя может так же из-за параметра acpi=off не работать другое оборудования.

Ты можешь добавить в строку параметров ядра параметр, блокирующий загрузку модуля ядра с драйвером картридера.

За подробностями, что это за параметр - читай ссылку выше с описанием параметров ядра.

как только определишь перебором или анализом логов какой модуль нужно заблокировать - добавляй параметр и блокируй.

Говорить более подробно не буду, не очень хочется что-то ещё пояснять тебе, т.к. ты не хочешь учиться, а сразу говоришь, что я тебе говорю чушь, ты же в Linux разбираешься как бог.

Удачи.