OpenSuse не загружается, grub не устанавливается

Ответ Rmano помог мне на полпути, но настоящее волшебство легче обнаружить, передав параметр Q=в вашей командной строке makeв исходном каталоге ядра. он позволяет увидеть детали, одна из которых — вызов скрипта:echo "4.4.19$(/bin/sh./scripts/setlocalversion.)". выполнение того же фрагмента дает номер версии ядра 4.4.19-00010-ge5dddbf. если вы посмотрите на скрипт, он определяет номер из системы управления версиями, и запуск его с bash -xпоказывает точный процесс:

+++ git rev-parse --verify --short HEAD
++ head=e5dddbf
+++ git describe --exact-match
++ '[' -z '' ']'
++ false
+++ git describe
++ atag=release/A530_os_1.0.0-10-ge5dddbf
++ echo release/A530_os_1.0.0-10-ge5dddbf
++ awk -F- '{printf("-%05d-%s", $(NF-1),$(NF))}'
++ git config --get svn-remote.svn.url
++ git diff-index --name-only HEAD
++ grep -qv '^scripts/package'
++ return
+ res=-00010-ge5dddbf
+ echo -00010-ge5dddbf
-00010-ge5dddbf

Это показывает мне, что если я хочу собрать модуль ядра для работы с моим работающим ядром, я нахожусь на неправильном выпуске с тегами и неправильном коммите. Мне нужно исправить это и собрать по крайней мере DTB (make dtbs), чтобы создать сгенерированные файлы с правильным номером версии.


оказывается, даже этого было недостаточно. Мне пришлось заменить scripts/setlocalversionна тот, который просто делает:

#!/bin/sh
echo -0710GC0F-44F-01QA

затем перестройте автоматически сгенерированные файлы:

make Q= ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- dtbs

затем я смог собрать образец драйвера Дерека Моллоя и успешно insmod. по-видимому, предупреждение об отсутствии Module.symversне имело значения.все, что Linux использовал, чтобы определить, будет ли модуль работать, было этой строкой localversion.

0
11.09.2019, 11:11
2 ответа

something like "v-fat"

Это должно быть экстрасенсорное восприятие, о котором я упоминаю ниже! То, как вы это описываете, теперь, после повторного прочтения.


Я думаю, Йохан указывает в правильном направлении.

В меню BIOS вы можете выбрать между «устаревшим биосом» (= MBR )и «UEFI». Вы даже можете активировать оба одновременно. Но одного этого будет недостаточно.

Когда вы «создаете GPT» (просто или нет )у вас также есть варианты --Я использовал эту защитную MBR, на всякий случай.

Как только вы доберетесь до grub, вы можете изменить командную строку и поставить новое ядро, initrd и root. Насколько я понимаю, grub работает с использованием файловых систем, а не списков блокировки (, см. сообщение об ошибке в Q ), поэтому вам просто нужно добавить второй пункт меню и, возможно, сделать его по умолчанию. Я не удивлен, что установщик не приспособился к этой ситуации. А почему у вас получился раздел vfat и btrfs?

После повторного прохождения Q:

Похоже, у вас нет MBR («Эта метка раздела GPT не содержит загрузочного раздела BIOS» ). Но где же тогда ваш системный раздел EFI ? Вот куда должна идти жратва,а не к вновь созданному/dev/nvme0n1p3.

The UEFI configuration thingy seems to view the entire nvme drive as a whole (even though it even splits thumb drives into anywhere between 2 and 5 parts).

Это связано с тем, что флэш-накопители содержат разделы с загрузочными файлами.EFI (, приложениями UEFI :, загрузчиками и другими утилитами ).

Очевидно, ваш UEFI не знает об отсутствии загрузчика на вашем диске. Это сделал бы efibootmgr, если внутри linux.

У вас есть встроенный загрузчик, хотя :оболочка UEFI. Это должен быть какой-то вариант загрузки в вашем меню UEFI BIOS.

С UEFI, способным запускать загрузку grub (или systemd -, или... )в любом разделе, и с grub, способным загружать образ ядра также из любого раздела, после новой установки вы только нужно добавить новую запись в меню для удобства. Никакого реального шага установки grub не требуется.

(merely checked it wouldn't override my existing ext4 partition)

ДА. Это была хорошая идея! И это многое говорит о качестве этих установщиков.

0
28.01.2020, 02:39

Я зашел в «Настройки UEFI», а затем «Загрузка» → «Приоритеты BBS жесткого диска UEFI». У него была «Загрузка Windows...» в качестве главного приоритета. Я изменил его на «opensuse -secureboot». Затем я вернулся к общему порядку загрузки и переместил «UEFI Hard Disk :opensuse -secureboot» наверх.

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

1
28.01.2020, 02:39

Теги

Похожие вопросы