Образ alt-server-10.0-aarch64.iso загружен на TF307-MB-S-D с прошивкой SDK5.3 При выборе в grub меню пункта "Change language (press F2)", затем "Russian" иногда выдаётся сообщение вида: Synchronous Exception at 0x00000009FFF2DB30 и система зависает.
Дополнение к описанию проблемы. Если при выборе "Change language (press F2)", затем "Russian" не происходит зависания, то выдаётся сообщение: "error: file `/boot/grub/locale/ru.gmo' not found." и снова выдаётся grub меню. Если теперь выбрать пункт меню, запускающий загрузку Linux, то зависание происходит постоянно. Сообщение при этом выглядит так: Loading Linux vmlinuz ... Synchronous Exception at 0x00000000FA41CD00 Если выбрать "Change language (press F2)", затем "Russian" несколько раз подряд (сделал 4 раза), а после этого загрузку Linux, то на HDMI выводятся пёстрые полосы - такое впечатление, что в видеопамять записались данные, затем система зависает. Скриншот в приложении. Предполагаю, что проблема в bootaa64.efi
Created attachment 10664 [details] Скриншот проявления проблемы На HDMI пёстрые полосы - такое впечатление, что в видеопамять записались данные.
а если в конфиг перед выбором пункта меню добавить set pager=1 set debug=all получится больше информации о происходящем собрать?
Created attachment 10666 [details] Действия и лог при воспроизведении проблемы. Воспроизвёл проблему с добавлением set pager=1 set debug=all В файле описано что сделал и что получилось.
А grub в графическом режиме или console? Мне кажется, в console режиме такой проблемы быть не должно, так как при выборе языка ничего, кроме назначения переменной языка не делается.
(Ответ для Антон Мидюков на комментарий #5) > А grub в графическом режиме или console? > Мне кажется, в console режиме такой проблемы быть не должно, так как при > выборе языка ничего, кроме назначения переменной языка не делается. grub в console На TF307 консоль выводил одновременно на UART и HDMI Делается следующее: setparams 'Change language (press F2)' insmod regexp for langstr in "ru_RU=Russian" "en_US=English" "pt_BR=Portuguese" "\ kk_KZ=Kazakh" "uk_UA=Ukrainian"; do regexp -s 2:langname -s 1:langcode '(.*)=(.*)' "$langstr" menuentry "${langname}" "$langcode" { lang="$2" export lang configfile ${prefix}/grub.cfg } done menuentry $"Return to the Main menu" { configfile ${prefix}/grub.cfg } Судя по логу https://bugzilla.altlinux.org/attachment.cgi?id=10666 при этом выполняется много кода на C. Видимо, сбой где-то в этом коде.
(Ответ для jqt4 на комментарий #6) > (Ответ для Антон Мидюков на комментарий #5) > > А grub в графическом режиме или console? > > Мне кажется, в console режиме такой проблемы быть не должно, так как при > > выборе языка ничего, кроме назначения переменной языка не делается. > > grub в console > На TF307 консоль выводил одновременно на UART и HDMI > Делается следующее: > > setparams 'Change language (press F2)' > > > > insmod regexp > for langstr in "ru_RU=Russian" "en_US=English" "pt_BR=Portuguese" "\ > kk_KZ=Kazakh" "uk_UA=Ukrainian"; do > regexp -s 2:langname -s 1:langcode '(.*)=(.*)' "$langstr" > menuentry "${langname}" "$langcode" { > lang="$2" > export lang > configfile ${prefix}/grub.cfg > } > done > menuentry $"Return to the Main menu" { > configfile ${prefix}/grub.cfg > } > > Судя по логу https://bugzilla.altlinux.org/attachment.cgi?id=10666 > при этом выполняется много кода на C. > Видимо, сбой где-то в этом коде. Много кода, потому что в configfile ${prefix}/grub.cfg происходит выполнение загрузки модулей grub и всего того, что в конфиге написано. Т.е. скорее всего эта ошибка может возникнуть и при холодном старте с какой-то вероятностью.