LINUX.ORG.RU

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

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

Здравствуйте, я установил coreboot на свой G505s по этому гайду «Lenovo G505S Hacking», применив неофициальный патч

Здравствуйте! ;-) А какую версию ./csb_patcher.sh вы использовали для установки неофициальных патчей? Просто его последняя версия вышла 4 декабря т.е. вчера; я её час назад затестил и у меня всё работает. На вопросы патчера отвечал следующим образом:

=== CSB_PATCHER LOG. Patches applied?
         G505S dgpu - YES
       AMD atombios - YES
       AMD good irq - YES
            seabios - YES
  for-configs cfgsb - YES
config.lenovo_g505s - YES
 config.asus_am1i-a - NO
config.asus_a88xm-e - NO
           floppies - YES

( лог ответов хранится в скрытом текстовом файле ./coreboot/.csb_patcher )

На "Configure this ./.config now? [Y/N]" отвечал N - вместо этого, после завершения работы патчера я просто зашёл в make menuconfig и вышел с сохранением изменений - даже если ничего не делаешь, они всё же происходят т.к. предлагаемый конфиг старее чем коребут версии 5e8e911b7caee021faff96c4e82a77a42544ea62 на которую пока что мы вынуждены откатываться. Хотя, если быть честным, одно изменение я всё же сделал - в меню make menuconfig в «Generic Drivers» я включил опции «USB 2.0 EHCI debug dongle support» и «Type of dongle (FTDI FT232H UART)» - чтобы, если сборка вдруг оказалась негрузящейся до OS, я смог бы слить логи загрузки коребута при помощи USB-переходника FT232H на другой комп (можно даже вот такой переходник изготовить если заморочиться, но я пока просто втыкаю как есть). Но вам это делать не обязательно - можете просто выйти с сохранением изменений вообще ничего не трогая поначалу, т.к. настройки того конфига достаточно хороши для начального эксперимента - а уже потом, когда всё прекрасно работает, вы их меняйте потихоньку, прогугливая при этом. Так-то я вообще никогда не использую "Configure this ./.config now" - потому что там доступно значительно меньше опций чем если напрямую лезть в make menuconfig

отрубил вторичные пэйлоады coreinfo и tint, насколько помню, с ними ROM не компилировался

Странно, у меня и они собрались! Собирал всё под максимально обновлённым Artix Linux - «Arch без SystemD» про который я уже рассказывал. Возможно, что-то не так с вашим окружением, использующимся для сборки? (не помню, используется ли для сборки вторичных пэйлоадов коребутовский тулчейн или тулчейн вашей OS) И вы точно делали make crossgcc-i386 для сборки коребутовского тулчейна? Причём обязательно с даунгрейженным GCC до версии 8.3.0 при помощи тех двух git revert'ов из инструкции - иначе коребут хоть и соберётся но сборка получится глючной.

В итоге не работает тачпад и разъём USB 2.0. Смотрел в /input/devices, тачпада там нет.

Скажите, вы обновляли прошивку мультиконтроллера KB9012 перед переходом на coreboot? Т.к. тачпад PS/2-шный и заведён через KB9012, его работоспособность может зависеть от этого. Желательно обновить на последнюю версию 83EC53WW. Это можно сделать или аппаратно, или путём установки Lenovo'вского обновления UEFI т.к. там ещё и KB9012 обновляется заодно - правда, для этого потребуется винда.

Может, какие-то блобы патчер не ставит

Единственные блобы, которые предоставляет патчер - это блобы AtomBIOS для AMD'шных видеокарт, остальное всё опенсорсное. Насчёт дополнительных блобов - некоторые ещё и используют блоб XHCI чтобы синие USB-порты работали в режиме USB 3.0, но этот блоб недостаточно изучен чтобы ему можно было доверять и поэтому его даже в патчер не включили; большинство G505S-коребутчиков прекрасно живут с USB 2.0 ! Вы ведь не игрались с этими XHCI-опциями? а то, если включить XHCI и не добавить блоба, то вроде как USB-порты не работают но только синие... А у вас USB 2.0 не работает, что странно. Может, не до конца воткнули шлейф от платы с портом USB 2.0 ?

и нужно вручную их добавлять?

Вручную я добавляю только коллекцию дискет после завершения сборки коребута, запуском ./csb_patcher.sh atomflop . Надеюсь, что советы выше вам помогут - и пишите, если что. Как вариант, можно ещё попытаться полностью разрядить плату - это когда ты зажимаешь кнопку включения на несколько секунд при отключенных источниках питания.

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

Здравствуйте, я установил coreboot на свой G505s по этому гайду «Lenovo G505S Hacking», применив неофициальный патч

Здравствуйте! ;-) А какую версию ./csb_patcher.sh вы использовали для установки неофициальных патчей? Просто его последняя версия вышла 4 декабря т.е. вчера; я её час назад затестил и у меня всё работает. На вопросы патчера отвечал следующим образом:

=== CSB_PATCHER LOG. Patches applied?
         G505S dgpu - YES
       AMD atombios - YES
       AMD good irq - YES
            seabios - YES
  for-configs cfgsb - YES
config.lenovo_g505s - YES
 config.asus_am1i-a - NO
config.asus_a88xm-e - NO
           floppies - YES

( лог ответов хранится в скрытом текстовом файле ./coreboot/.csb_patcher )

На "Configure this ./.config now? [Y/N]" отвечал N - вместо этого, после завершения работы патчера я просто зашёл в make menuconfig и вышел с сохранением изменений - даже если ничего не делаешь, они всё же происходят т.к. предлагаемый конфиг старее чем коребут версии 5e8e911b7caee021faff96c4e82a77a42544ea62 на которую пока что мы вынуждены откатываться. Хотя, если быть честным, одно изменение я всё же сделал - в меню make menuconfig в «Generic Drivers» я включил опции «USB 2.0 EHCI debug dongle support» и «Type of dongle (FTDI FT232H UART)» - чтобы, если сборка вдруг оказалась негрузящейся до OS, я смог бы слить логи загрузки коребута при помощи USB-переходника FT232H на другой комп (можно даже вот такой переходник изготовить если заморочиться, но я пока просто втыкаю как есть). Но вам это делать не обязательно - можете просто выйти с сохранением изменений вообще ничего не трогая поначалу, т.к. настройки того конфига достаточно хороши для начального эксперимента - а уже потом, когда всё прекрасно работает, вы их меняйте потихоньку, прогугливая при этом. Так-то я вообще никогда не использую "Configure this ./.config now" - потому что там доступно значительно меньше опций чем если напрямую лезть в make menuconfig

отрубил вторичные пэйлоады coreinfo и tint, насколько помню, с ними ROM не компилировался

Странно, у меня и они собрались! Собирал всё под максимально обновлённым Artix Linux - «Arch без SystemD» про который я уже рассказывал. Возможно, что-то не так с вашим окружением, использующимся для сборки? (не помню, используется ли для сборки вторичных пэйлоадов коребутовский тулчейн или тулчейн вашей OS) И вы точно делали make crossgcc-i386 для сборки коребутовского тулчейна? Причём обязательно с даунгрейженным GCC до версии 8.3.0 при помощи тех двух git revert'ов из инструкции - иначе коребут хоть и соберётся но сборка получится глючной.

В итоге не работает тачпад и разъём USB 2.0. Смотрел в /input/devices, тачпада там нет.

Скажите, вы обновляли прошивку мультиконтроллера KB9012 перед переходом на coreboot? Т.к. тачпад PS/2-шный и заведён через KB9012, его работоспособность может зависеть от этого. Желательно обновить на последнюю версию 83EC53WW. Это можно сделать или аппаратно, или путём установки Lenovo'вского обновления UEFI т.к. там ещё и KB9012 обновляется заодно - правда, для этого потребуется винда.

Может, какие-то блобы патчер не ставит

Единственные блобы, которые предоставляет патчер - это блобы AtomBIOS для AMD'шных видеокарт, остальное всё опенсорсное. Насчёт дополнительных блобов - некоторые ещё и используют блоб XHCI чтобы синие USB-порты работали в режиме USB 3.0, но этот блоб недостаточно изучен чтобы ему можно было доверять и поэтому его даже в патчер не включили; большинство G505S-коребутчиков прекрасно живут с USB 2.0 ! Вы ведь не игрались с этими XHCI-опциями? а то, если включить XHCI и не добавить блоба, то вроде как USB-порты не работают но только синие... А у вас USB 2.0 не работает, что странно. Может, не до конца воткнули шлейф от платы с портом USB 2.0 ?

и нужно вручную их добавлять?

Вручную я добавляю только коллекцию дискет после завершения сборки коребута, запуском ./csb_patcher.sh atomflop . Надеюсь, что советы выше вам помогут - и пишите, если что