LINUX.ORG.RU

UBUNTU-MATE запускается только с флешки. Помогите понять проблему.

 , , , ,


0

1

Всем доброго времени суток!

Вот на этой страничке https://ubuntu-mate.community/t/64-bit-ubuntu-mate-images-for-32-bit-efi-macintosh-computers/18069/27 Нашел образ, якобы специально сделанный для буков с 32-битным EFI. https://drive.google.com/uc?export=download&id=1JcE4IV_OZyYBWgF9tKZsjmUf3nDb1Gd_ Записал на флешку. В меню загрузчика выходит. Единственное, что работает - это вариант «Try Ubuntu-MATE (safe graphics)». После его выбора через пару минут черного экрана появляется пара строчек про видеоадаптер, не поддерживающий UMS, и после этого появляется экран загрузки Ubuntu. Отменяю проверку пакетов и появляется рабочий стол. Казалось бы, все работает, включая WiFi и звук.

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

Вопрос: как можно включить verbose режим, чтобы хотя бы увидеть, в каком месте зависает?

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

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

на

GRUB_CMDLINE_LINUX_DEFAULT=""

если там еще что-то в кавычках есть, лучше оставить

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

Единственное, что работает - это вариант «Try Ubuntu-MATE (safe graphics)»

Это режим с параметром ядра «nomodeset».

Появляется меню загрузки GRUB, и при выборе любого варианта загрузки черный экран

И установленную запускай с «nomodeset».

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

Вот пункт меню из grub.cfg:

menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-6106b415-1bee-4337-9623-75dd95d1921c' {
	recordfail
	load_video
	gfxmode $linux_gfx_mode
	insmod gzio
	if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
	insmod part_gpt
	insmod ext2
	set root='hd0,gpt2'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  6106b415-1bee-4337-9623-75dd95d1921c
	else
	  search --no-floppy --fs-uuid --set=root 6106b415-1bee-4337-9623-75dd95d1921c
	fi
	linux	/boot/vmlinuz-5.4.0-77-generic root=UUID=6106b415-1bee-4337-9623-75dd95d1921c ro  quiet splash $vt_handoff
	initrd	/boot/initrd.img-5.4.0-77-generic
}

Пробовал убирать quiet splash - без разницы. Дописывать ```nomodeset`` - аналогично. Там в меню еще есть опция recovery mode, но она виснет так же точно. Может с GPT что-то не то или он не может найти раздел или что? Можно как-то протестировать работу загрузчика? Я встречал упоминания о неких DEBUG-версиях GRUB. Может они более многословны?

Загружая систему на флешке я пробовал монтировать этот раздел ‘hd0,gpt2’, который в системе выглядит, как /dev/sda2. Там с виду все ок.

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

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

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

Пардон, арч - это что?

А можно как-то GRUBу ввести из командной строки прямой путь к ядру? Безо всех этих search? Типа прибить весь этот многомудрый конфиг и чтоб там осталась пара строк, напрямую указывающих откуда грузить систему?

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

арч это дистрибутив, с несколько консервативным установщиком. https://archlinux.org/
Вот подробная инструкция по его установке - https://wiki.archlinux.org/title/Installation_guide_(Русский)
Насчет прямого пути - поскольку там не линуксы еще при загрузке, насколько я помню там гиганский id вылезает из uefi, разные uefi разные id выдают, и в итоге образ будет только на одном пк грузится

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

там гиганский id вылезает из uefi…. образ будет только на одном пк грузится

Не понял вообще. Куда этот id передается?

В разделе EFI есть /boot/grub/grub.cfg, в котором, как я понял, написано искать раздел по его GUID-у. А можно как-то написать ему типа linux (hd0,gpt2)/boot/vmlinuz?

И второй вопрос: в разделе с установленной системой (hd0,gpt2) тоже есть /boot/grub/grub.cfg. Он вообще зачем там? Ведь, насколько я понял, при старте работает конфиг из раздела EFI?

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

Uefi грузит загрузчик efi, загрузчик efi грузит Grub, а grub согласно указанного тобой файла конфигурации грузит linux.
Исправление пути тебе не поможет - если бы ядро не находилось, оно бы не зависло, загрузка граба так же является подтверждением, что пути менять не надо.

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

В разделе EFI есть /boot/grub/grub.cfg, в котором, как я понял, написано искать раздел по его GUID-у

Да. На ЕФИ-разделе только головная часть загрузчика. Этот конфиг указывает, где искать весь остальной груб.

можно как-то написать ему типа linux (hd0,gpt2)/boot/vmlinuz?

Написать можно. Работать не будет.

в разделе с установленной системой (hd0,gpt2)…

…собственно и находится весь груб, с основным конфигом. Он и выполняет всю работу, в том числе и вывод меню. Конфиг из ЕФИ-раздела только передает ему управление.

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

Если убрать «quiet splash», то будут видны все загрузочные сообщения. В подменю «Advanced…» перед строками загрузки ядра и инитрд вставлены дополнительные сообщения. Если ты увидишь «Loading initial ramdisk…», то как минимум ядро найдено и загружено.

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

Написать можно. Работать не будет.

Я руками ввел в командную строку grub:

insmod part_gpt
insmod ext2
set root='hd0,gpt2'
search --no-floppy --fs-uuid --set=root 6106b415-1bee-4337-9623-75dd95d1921c
linux	/boot/vmlinuz root=UUID=6106b415-1bee-4337-9623-75dd95d1921c
initrd	/boot/initrd.img
boot

И о чудо! Началась загрузка оси, но я забыл приписать nomodeset и поэтому все зависло на инициализации видяхи. Набирать второй раз это все пороху не хватило :( Я попробовал это написать в grub.cfg (в смысле только эти строки, но без boot), но он тупо вышел обратно в командную строку. Попробовал ввести boot - получил черный экран безо всякого вывода, хотя винтом скрипел какое-то время. При этом nomodeset я в строку дописал.

Конфиг из ЕФИ-раздела только передает ему управление

А зачем тогда в конфиге в efi меню? Они вообще одинаковые - что в efi, что в разделе с системой.

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

Если убрать «quiet splash», то будут видны все загрузочные сообщения.

Так проблема в том, что не видны. Пробовал убирать всё или только эти два - без разницы.

Если ты увидишь «Loading initial ramdisk…», то как минимум ядро найдено и загружено.

Ну да, но после этого никакого вывода больше нет :(

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

Набирать второй раз это все пороху не хватило

Смотри здесь, что можно упростить.

Они вообще одинаковые - что в efi, что в разделе с системой.

Значит кто-то накуролесил. По умолчанию, в grub.cfg на ЕФИ-разделе всего три строки, для поиска и вызова основного конфига с другого раздела.

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

да, но после этого никакого вывода больше нет

Похоже стопорится на запуске инитрд. Например, из-за проблем с видео картой. Добавить «nomodeset». Иногда помогает добавление конкретного видеорежима, например «video=1024x768».

Можно попробовать грузиться с инитрд, взятым из исо-образа.

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

По ссылке сходил. Там написано типа не по гуиду, а по лабелу искать. Но я хз какой там label. Скорее всего никакого.

Значит кто-то накуролесил.

Т.е в исошке и в разделе с системой они разные! На исошке меню типа «Install Ubuntu», но в EFI-разделе /boot/grub/grub.cfg и в разделе с установленной системой они одинаковые. Но я правильно понимаю, что раз команда linux срабатывает, то ядро находится?

Надо вам сказать, что там с начальным загрузчиком что-то не так. То есть 32-битного вообще в этом образе не было, даром, что весь тот тред был (якобы) посвящен 32-битному EFI. Я скачал пакет grub-efi-ia32-bin_2.04-19_i386.deb с сайта Debian и залил граб из него на флешку. Сам же загрузчик BOOTIA32.EFI я взял из исошки Debian http://mirror.truenetwork.ru/debian-cd/10.10.0/multi-arch/iso-cd/debian-10.10.0-amd64-i386-netinst.iso (в котором был grub 2.02). В результате при выборе загрузки с флешки появляется не меню, а ком. строка граба. При этом версия граба не имеет значения. Пробовал и 2.02 и 2.04. Если ему ввести configfile /boot/grub/grub.cfg, то появляется меню.

Вывод: граб не находит конфиг? Как понять, где он его ищет? Может рядом с ним положить?

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

Похоже стопорится на запуске инитрд. Например, из-за проблем с видео картой. Добавить «nomodeset». Иногда помогает добавление конкретного видеорежима, например «video=1024x768».

Это куда добавить? Дописать в строчку с initrd? Куда написать видеорежим? Можно готовую строчку?

Можно попробовать грузиться с инитрд, взятым из исо-образа.

Интересная мысль. И ядро оттуда же взять?

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

Там написано типа не по гуиду, а по лабелу искать. Но я хз какой там label

Там первым пунктом сказано, метку назначаешь сам.

но в EFI-разделе /boot/grub/grub.cfg…

Я угадал, это твоя самодеятельность.

При установке системы *бунту, на ЕФИ-разделе для загрузчика создается каталог /EFI/ubuntu. В нем находятся файлы *.efi и grub.cfg:

search.fs_uuid 5f788c40-b5de-42c5-9f8f-ab68c8483c7d root 
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg

Этот конфиг только ищет конфиг на системном разделе и передает ему управление. Если не найдет, то увидишь консоль «grub rescue».

Но я правильно понимаю, что раз команда linux срабатывает, то ядро находится?

Да.

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

Пока, с твоих слов, принимаю на веру, что на компьютере УЕФИ 32битный. Естесственно грубЕФИ ему нужен 32битный. Но в родном образе *бунту нет грубЕФИ 32бит.

на этой страничке https://ubuntu-mate.community/t/64-bit-ubuntu-mate-images-for-32-bit-efi-macintosh-computers/18069/27 Нашел образ, якобы специально сделанный для буков с 32-битным EFI

Создатели этого образа похоже и добавили грубЕФИ 32бит. И он сработал при установке. Так зачем тебе понадобилось еще связываться с дебианом. Пока у меня под рукой только образ debian-10.4.0-i386-lxde.iso, буду опираться на него.

Я скачал пакет grub-efi-ia32-bin_2.04-19_i386.deb с сайта Debian и залил граб из него на…

Перемудрил.

граб не находит конфиг? Как понять, где он его ищет?

Да. Смотрим в исошнике дебиана. Сам загрузчик /EFI/boot/grubia32.efi, конфиг в /EFI/debian/grub.cfg. Этот конфиг передает управление конфигу /boot/grub/i386-efi/grub.cfg, а он в свою очередь передает в /boot/grub/grub.cfg, здесь и находится основное меню. Если ты решил использовать этот грубЕФИ, то нужно скопировать каталоги со всем содержимым: /EFI, /boot. На флешку или ЕФИ-раздел - это без разницы. В УЕФИ выбрать запуск именно с этого загрузчика. Или аналогично поступить с загрузчиком из образа Мате.

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

Куда написать видеорежим?

Туда, где параметры ядра, quiet modeset и т.д. Например:

linux	/boot/vmlinuz root=UUID=6106b415-1bee-4337-9623-75dd95d1921c nomodeset video=1024x768

Интересная мысль. И ядро оттуда же взять?

Ядро у них одинаковое. При установке только генерируется новый инитрд.

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

Пока, с твоих слов, принимаю на веру, что на компьютере УЕФИ 32битный

Это 100%. Если нет /EFI/BOOT/BOOTIA32.EFI, то флешка просто не видна в меню UEFI-загрузчика.

Создатели этого образа похоже и добавили грубЕФИ 32бит

Нет, я же сказал, его в образе MATE не было. Я его добавил руками. Но я не знал, что тот, что я взял, ищет граб в подкаталоге /Debian. После разъяснения механизма работы я всё понял, и, да, теперь проблем с загрузкой граба с флешки нет. Меню появляется. Спасибо за разъяснения.

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

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

Чем дальше, тем чудесатее. Стер всё из раздела EFI на харде. Поставил MATE, выбрав установку в прежний раздел, но с удалением и форматированием диска. Поставилось без проблем. При запуске с харда появляется серый экран без меню и какое-то время трещит хард, потом всё затихает. Снова загрузился с флешки. Смонтировал EFI-раздел и скопировал его на внешний носитель. Вот он, если интересно: https://www.dropbox.com/s/xvnxjcuufrad4ll/EFI.zip?dl=1 Как видно, там всего 2 каталога: /BOOT и /Ubuntu. В /BOOT всего один файл: BOOTIA32.EFI, в /Ubuntu 2 файла с именами grub.efi и grubia32.efi. Все три файла абсолютно идентичны! И, конечно, никакого grub.cfg там нет и в помине. Неудивительно, что он меню не показывает. Бред какой-то.

Как я сейчас понимаю, раньше при загрузке с харда меню показывалось, т.к. до MATE я пытался поставить Debian, но потерпел неудачу (видимо) из-за отсутствия дров к видяхе. Поэтому в EFI-разделе был каталог /Debian, а в нем загрузчик, также был /BOOT/grub/, где лежали все причиндалы граба. Поэтому меню показывалось, но уже дальше были проблемы.

Похоже, что мне руками надо создать всю эту структуру снова, убедиться, что меню показывается, и уже дальше танцевать с бубном. Вообще этот дистрибутив MATE мне нравится, т.к. всё железо нашлось из коробки. И памяти вроде жрет не особо. Хотелось бы его допилить как-то.

Еще один вопрос: при переустановке системы в один и тот же раздел GPT его GUID меняется или остается прежним? И как вообще посмотреть список разделов с их GUID?

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

UBUNTU-MATE запускается только с флешки. Помогите понять проблему. [SOLVED]

В общем запускается с харда. Ура! Нюанс был в том, что нужен именно GRUB 2.04. Версия 2.02, которая была в исошке дебиана, откуда я брал загрузчик BOOTIA32.EFI, почему-то не работает с этим конфигом. Гнется где-то на initrd, видимо.

Правда я в строчке linux убрал все, что там было после гуида и поставил nomodeset. В результате загрузка выглядит не особо красиво, но все загружается и вроде как работает. Потом попробую сделать тихую загрузку.

Остался один теоретический вопрос: в grub.cfg в EFI-разделе уже сказано искать в качестве корня нужный GPT раздел. И он находится. Зачем же тогда в /boot/grub/grub.cfg (в разделе с системой) снова стоят строчки search? Корень же уже там, зачем снова искать? Это для возможности запуска через меню разных ОС?

DeadlineX ()

В общем запускается с харда.

Может быть удобно на ESP-разделе харда иметь груб, независимый от системы. Может быть свой конфиг, может вызывать конфиг из установленной системы. В любой конфиг можно добавить загрузку системы из исо-образа. Сам исо-образ может быть на любом диске.

Корень же уже там, зачем снова искать?

В данном простейшем случае может и незачем. Но, например, ядро и система могут быть на разных разделах. Или такой пример.

andytux ★★ ()

Все-таки граб работает как-то странно. При нажатии кнопки питания появляется его приветствие, но далее примерно в половине случаев вместо меню появляется просто серый экран в темно-серой рамке. Причем, если нажать на Enter, то начинается загрузка и далее все ок. То есть, меню, как бы есть, но то ли он его рисует серым по серому, то ли что. Причем иногда оно таки появляется. Без какого-либо моего участия. Это глюк граба или что?

Еще непонятно с дисплеем. Там единственный режим «1440х900 77 Гц». Кстати, непонятно, откуда взялось это значение «77». Под макосью такого никогда не видел. Это результат «nomodeset» при загрузке? И сделать уже ничего нельзя?

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

при переустановке системы в один и тот же раздел GPT его GUID меняется или остается прежним?

Не меняется.

как вообще посмотреть список разделов с их GUID?

В терминале:

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

При нажатии кнопки питания появляется его приветствие

Груба или УЕФИ(логотип производителя)?

примерно в половине случаев вместо меню появляется просто серый экран в темно-серой рамке

По умолчанию в *бунту, если установлена одна система, то меню не показывается. Чтобы появилось меню, в ЕФИ-режиме нужно нажать «ESC». Настроить конфиг, чтобы всегда показывал меню. Возможно и нестыковки с оборудованием.

Без какого-либо моего участия. Это глюк граба или что?

Может быть и реакцией на предыдущие события. Например, если предыдущая загрузка была неудачной, то появится меню и будет установлен другой таймаут.

Там единственный режим «1440х900 77 Гц»

«nomodeset» - это вариант, хоть как-то работать, когда ничто другое не работает. Чтобы было лучше, нужно искать видеодрайвер, который-бы подходил и системе и видеокарте.

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

Груба или УЕФИ(логотип производителя)?

Ну написано «Welcome to GRUB!» :) Это MacBook, там нету никакого логотипа при старте. Эта надпись висит секунд пять, потом либо меню, либо серый экран.

По умолчанию в *бунту, если установлена одна система, то меню не показывается.

Я не понимаю, что значит «по умолчанию». Я все делал руками, поэтому там дело доходит всегда до /boot/grub/grub.conf, являющегося копией стандартного системного, но с параметром «nomodeset». Я специально сменил расширение, поскольку стандартный генерируется самой осью, и параметр ’nomodeset" может исчезнуть. И в этом файле меню прописано. Первым пунктом идет «стандартная» загрузка, и есть еще варианты с разными версиями ядра плюс recovery mode. Параметра timeout я в конфиге вообще не нашел. Но, очевидно, если просто надавить на Enter, срабатывает первый пункт, так что идет обычная загрузка. Поэтому я и говорю, что меню, как бы есть, но его не видно.

Про ГУИД я понял, спасибо.

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

Скажите, в окошке сведений о системе про графику нет никаких упоминаний про «ATI Radeon X1600»? lspci выдает: VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV530/M56-P [Mobility Radeon X1600], а в окне сведений о системе написано: Graphics: llvmpipe (LLVM 11.0.0, 128 bits). Это и значит, что нет специфического драйвера?

Еще вопрос: каждый раз в начале сеанса, когда появляется рабочий стол, показывается сообщение «Произошла ошибка в системной программе». В каком логе смотреть подробности?

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

написано «Welcome to GRUB!»

Возможно это творчество создателей твоего специфического дистрибутива. Я вообще все эти заставки убираю.

Я все делал руками, поэтому…

…сложно сказать что-то определенное.

стандартный генерируется самой осью, и параметр ’nomodeset" может исчезнуть

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

Параметра timeout я в конфиге вообще не нашел

По этому вопросу смотри здесь.

Это и значит, что нет специфического драйвера?

Да. Вот недавняя тема примерно на эту тему.

«Произошла ошибка в системной программе». В каком логе смотреть подробности?

Загляни в /var/crash.

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

Возможно это творчество создателей твоего специфического дистрибутива. Я вообще все эти заставки убираю.

Не-не! Это же пишет сам граб! Версия 2.02 не писала ничего, а 2.04 пишет такое. Когда он это пишет до дистрибутива линукса еще точно дело не дошло. Граб, правда, я брал с сайта Debian, а не у непосредственных разработчиков, но это и понятно, ведь мне же нужен был комплекс из EFI-загрузчика и граба.

Все, что мне нужно, добавляю сам

Ну раз уж вы сами привели ссылку ;) вот ваша цитата оттуда:

Файл /etc/grub.d/40_custom приводим к следующему виду:

Я правильно понимаю, что это все относится к грабу, идущему с юбунту? Или эти все каталоги идут вообще из дебиана и поэтому логика обращения с ними универсальна для всех дебиан-веток линукса?

Да. Вот недавняя тема примерно на эту тему.

Да, но там и карточка другая и система обсуждается старая. Может мне в тот форум с таким вопросом пойти?

Пока что я прочитал здесь https://help.ubuntu.com/community/RadeonDriver, что моя карточка «fully supported», хотя на оф.сайте AMD https://www.amd.com/ru/support/kb/release-notes/rn-rad-lin-18-50-unified вообще крайне короткий список и моей, понятно, там нет. Я попробовал скачать amdgpu-pro для Linux 20.20 https://www.amd.com/ru/support/kb/release-notes/rn-amdgpu-unified-linux-20-20, но при его компиляции появилась ошибка типа «implicit function declaration» и на этом все.

Еще есть вот эта тема https://forums.macrumors.com/threads/radeon-driver-for-linux-on-2006-macbook-pro.2206534/, которая прямо про мою карточку, и там вроде, все закончилось успехом. Предлагается ставить готовые пакеты amdgpu, которые, якобы есть в репозитории. Я правильно понял?

Еще тут есть тема Установка AMDGPU Ubuntu 18.04-19.10, но там тоже все немного про другое.

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

2.04 пишет такое. Когда он это пишет до дистрибутива линукса еще точно дело не дошло

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

это все относится к грабу, идущему с юбунту?

Нет, не только. Во всяком случае в Дебиан тоже самое. Это стандартный вариант внесения изменений в конфиг.

По видеокартам AMD не подскажу. Почти не приходилось иметь с ними дела. Вроде как в современной *бунту для современных моделей никаких «лишних-левых» драйверов искать не нужно. Все идет в комплекте системы.

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

Насчет кастомного груба - ок, я понял. Спасибо.

Вроде как в современной *бунту для современных моделей

Ну, моя-то как раз не современная. Как я понял отсюда: https://forums.macrumors.com/threads/radeon-driver-for-linux-on-2006-macbook-pro.2206534/post-27892051, в том amdgpu, что приходит с системой, нет нужного мне драйвера. Но при выполнении dpkg -i возникает точно такая же ошибка, что и у того товарища, т.е.

dpkg: ошибка при обработке архива firmware-amd-graphics_20190114-2_all.deb (--install):
 попытка перезаписать «/lib/firmware/amdgpu/banks_k_2_smc.bin», который уже имеется в пакете linux-firmware 1.187.15
dpkg-deb: ошибка: вставка subprocess was killed by signal (Обрыв канала)
При обработке следующих пакетов произошли ошибки:
 firmware-amd-graphics_20190114-2_all.deb

При этом я, как и советовалось там, переместил файл banks_k_2_smc.bin в другое место. Но ругань идет так, как будто он там есть. Как это победить?

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

при выполнении dpkg -i возникает точно такая же ошибка

Так можно и «поломать систему».

переместил файл banks_k_2_smc.bin в другое место…

И продолжать в том-же русле, т.е. все делать руками. Деб-пакет - это немного измененный архив. Просто распаковать его, а не устанавливать. Заодно увидишь, какие файлы, где находятся. Нужные файлы скопировать. Не заработает, просто удалишь.

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

И продолжать в том-же русле, т.е. все делать руками

А как можно вообще узнать, для какого железа эти firmware? Там как бы утверждается, что в более ранней версии есть линейка, к которой относится моя видяха, а в более поздней она отсутствует. Есть какой-то спец. форум по AMD-графике для Ubuntu или типа того?

И еще вопрос: там этот каталог /lib/firmware/amdgpu/ на самом деле похоже /lib/firmware/<версия ядра>/amdgpu/ но в сообщении об ошибке про этот путь ни слова. Я правильно понимаю, что смотреть надо именно туда, хотя /lib/firmware/amdgpu/ тоже есть. Но там как-то вообще мало файлов.

Хотелось бы вообще понять как системе дать драйвер для железки.

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

firmware-amd-graphics_20190114-2_all.deb

Debian stable чтоли ? Настоятельно рекомендую поставить поновее версию из backports. На данной версии амд шная видяха глючила дай боже.

#apt policy firmware-amd-graphics
  Установлен: 20210315-2~bpo10+1
  Кандидат:   20210315-2~bpo10+1
  Таблица версий:
 *** 20210315-2~bpo10+1 100
        100 http://deb.debian.org/debian buster-backports/non-free amd64 Packages
        100 http://deb.debian.org/debian buster-backports/non-free i386 Packages
        100 /var/lib/dpkg/status
     20190114-2 500
        500 https://mirror.yandex.ru/debian buster/non-free amd64 Packages
        500 https://mirror.yandex.ru/debian buster/non-free i386 Packages
vtVitus ★★★★★ ()
Ответ на: комментарий от DeadlineX

каталог /lib/firmware/amdgpu/ на самом деле похоже /lib/firmware/<версия ядра>/amdgpu/

Зависит от версии ядра. Раньше помещали в каталог «/lib/firmware/<версия ядра>». Начиная примерно с ядра 4.15, все стали помещать в «/lib/firmvare». Хотя возможна и такая логика, раз в общем каталоге, то не зависит от версии ядра.

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

Ага. Там про именно замену драйвера, насколько я понял. Тогда, пожалуйста, прокомментируйте вот это. Это прямо про мою железку. Ваш пост как соотносится с этим? Я понял так, что в моем конкретном случае дело вообще не в драйвере, а в ядре, которое не понимает видео-биос или типа того. Возможно, я выражаюсь неграмотно, поскольку эта область вообще неизвестна для меня пока что :) В вашем посте речь идет как бы об альтернативах (компиляция vs замена драйвера), но в посте по ссылке выше говорится об отсутствии альтернативы.

И сразу, чтобы два раза не вставать, там пишут про загрузку с CD, как шаг №1. Объясните дураку, чем принципиально отличается загрузка с CD от загрузки с образа, записанного на USB? А если я использую CD-привод на USB? Это уже не будет «CD» в том понимании?

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

в посте по ссылке выше говорится об отсутствии альтернативы

Целая копрорация «надкушенных» старалась, чтобы не было альтернативы.

Посмотрим, чем собственно компиляция отличается от замены драйвера.

На самом деле, под словом компиляция скрыто два действия: внесение изменений в драйвер и замена его в системе. То есть, наполовину уже тоже самое, что я предложил. Теперь о первом действии, компилировать под данную систему (вносить изменеия) либо взять уже подходящий под систему. Опять одно и тоже. Но в предложенном мной пути можно и «кобылу подвести к телеге», то есть заменить систему (или часть ее) под существующий драйвер.

чем принципиально отличается загрузка с CD от загрузки с образа, записанного на USB?

Ничем. За исключением тех случаев, когда компьютер вообще не может быть загружен с флешки. Что на оборудовании 2004года вполне могло быть, даже если в БИОС были все настройки для этого. Из практики. Попадались материнки примерно 2008года, на которых были проблемы с загрузкой с флешек. Если говорить об ЕФИ-загрузке, то поначалу был только для CD. Позже распространился на другие устройства. И на флешку не обязательно писать. Может быть на любом разделе, любого устройства, в виде исо-образа или набора файлов. И установленную систему можно запустить так, что будет выглядеть как «живая».

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

заменить систему (или часть ее) под существующий драйвер.

Там у вас речь идет о внесении изменений из более поздней в более раннюю версию системы, насколько я понял. Это, прямо скажем, не мой случай. К тому же, в доках написано, что моя железка поддерживается, да и inxi -G пишет

Graphics:  Device-1: AMD RV530/M56-P [Mobility Radeon X1600] driver: N/A 
           Display: server: X.Org 1.20.9 driver: ati,fbdev unloaded: modesetting,radeon,vesa 
           resolution: 1440x900~77Hz 
           OpenGL: renderer: llvmpipe (LLVM 11.0.0 128 bits) v: 4.5 Mesa 20.2.6 

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

Вопрос распадается на две части:

  • как скомпилировать пропатченный драйвер и куда его подсунуть
  • как прочитать биос из карты в файл.

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

Похоже, эту тему надо закрывать, поскольку от заголовка я уже ушел изрядно :) Посоветуйте, плиз, куда лучше с этим - сюда или в форум юбунты про графику?

DeadlineX ()