LINUX.ORG.RU

Список ядер и операционных систем, которые нельзя запускать на ноутбуках

 , , ,


3

4

Новость: http://www.cnews.ru/news/top/2017-12-21_zagruzka_novejshej_ubuntu_otklyuchena...
Скажите пожалуйста, какие ядра и операционные системы опасно запускать на ноутбуках фирмы lenovo? Также интерисует, кокое ядро было на ubuntu 17.10, которая ломала bios на ноутбуках. Также, как я понимаю, подсистема intel-spi(та самая, которая ломала ноутбуки) встроенна в подсистему mtd?

★★★★★
Ответ на: комментарий от SakuraKun

кучу

Только эту кучу можно найти разве что в комиссионке, если не в техническом музее.

Я, конечно, понимаю, что тут процветает культ карго
Подержанного Thinkpad'а, сильнее тольок яблочный культ. Но не всем нужен подержанный thinkpad.

te111011010
()
Ответ на: комментарий от ne-vlezay

очень жаль что у вас G50-70, потому что G505S есть в списке поддерживаемых

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

Среди последних Thinkpad поддерживаемых коребутом есть и относительно свежие с процессорами i7 третьего поколения : T430 / T430s / T530 / X1 carbon (Gen 1) / S230U (Twist) / X230 . Правда к сожалению в России ни один из них новым найти сейчас уже нельзя - то ли их привезли мало, то ли местные коребутчики раскупают модель как только добавили её поддержку. Возможно и я отчасти виноват в этом: конкретно подсадил на коребут многих своих знакомых, обычный ноут с UEFI без возможности смены на коребут они вряд ли уже когда-нибудь купят, только если совсем альтернативы не останется... Можно не побрезговать и б/у если удастся найти в отличном состоянии, лучше уж б/у чем UEFI

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

Что-то ведь должно проинициализировать железо, южные мосты всякие там; голое линуксовое ядро этого не умеет, а вот комбинация coreboot+linux / coreboot+GRUB вполне возможна - многие коребутчики так и делают. Правда мне кажется это не очень разумный подход: и в ядре линукс и даже в GRUB время от времени находят всякие уязвимости, и замучаешься перепрошивать ноут каждый раз когда нужно их обновить

В проприетарный UEFI встроить линуксовое ядро или GRUB во много раз сложнее чем в coreboot, к готовому образу которого при помощи cbfstool можно добавить/удалить linux или GRUB за пару минут. Причём даже если тебе это и удастся, ничто не помешает какому-нибудь systemd при желании всё равно повредить UEFI

Поэтому лучший для тебя выход, если нет возможности перекатиться на комп с коребут: запастись программатором с прищепкой: например usb программатор CH341A за пару долларов (поддерживается opensource софтом для прошивки flashrom) + SOIC8 прищепка из Китая , всё вместе не дороже 500 р. с доставкой. Как приедут, разбери ноут и слей дамп с биос чипа, чтобы если когда-нибудь навернётся у тебя было откуда восстановить; иначе, если не будет дампа, придётся извлекать из утилиты биос апдейта от производителя ноутбука - а это иногда бывает непросто

SakuraKun ★★★★★
()
Ответ на: комментарий от ne-vlezay

На многие чипы или нет даташитов или никто не сделал опенсорсную аппаратную инициализацию; а для чипов для которых сделали всё находится в репозиториях coreboot :) Чисто в теории можно скопировать то что умеет коребут в ядро linux - но у такого подхода не будет никаких преимуществ по сравнению со связкой coreboot+linux которая уже есть и работает

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

Зато система будет загружаться быстрее. Дело в том, что в начале компьютер инициализирует bios, а затем всё остальное. А то, он будет инициализировать сразу ядро.

ne-vlezay ★★★★★
() автор топика
Ответ на: комментарий от ne-vlezay

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

SakuraKun ★★★★★
()
Ответ на: комментарий от ne-vlezay

По крайней мере EC KB9012, который стоит в коребутовском Lenovo G505S с четырёхъядерным амуде A10-5750M, поддерживается опенсорсным проектом flashrom ==> всеми его программаторами! А значит, при помощи того же дешёвого CH341A и (для удобства) шлейфа для подключения к клавиатурному разъёму, можно опенсорсно прошить и EC KB9012 как это делают тут - http://dangerousprototypes.com/docs/Flashing_KB9012_with_Bus_Pirate#Flashing_...

Прошивка в том EC пока что стоит проприетарная, сейчас активно разрабатывается опенсорсная замена - которая уже умеет моргать лампочками и немного других функций, но запускать ноут по нажатию кнопки включения пока не научилась... Возможно, через пару-тройку лет у G505S заменят все закрытые прошивки и дядюшка Столлман его одобрит (и в цене приумножит); сейчас он на 98% опенсорсен и прошивка EC пожалуй самый большой блобяра среди оставшихся 2%. Кстати, в процессоре этого ноута нет страшных зондов Intel ME / AMD PSP - последнее поколение процессоров x86_64 без этого дерьма, + есть утёкший схематик на его материнку LA-A091P который облегчает ремонт и пусть нанемного приближает его к open hardware

Конечно с каким-нибудь X200, поддерживаемом Libreboot и уже одобренным Столлманом, по надёжности не сравнится и по свободе пока тоже, но в X200 стоит кора дуба вместо процессора и максимум 4 GB оперативки можно поставить, а в G505S - более менее норм четырёхядерник и max 16 gb оперативки

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

Просто, срок регистрации домена закончился.

ne-vlezay ★★★★★
() автор топика
Ответ на: комментарий от SakuraKun

А на lenovo G50-70 какой EC стоит?
Я пыиался как то на нём запускать flashrom, писало что микросхема bios не поддерживается (это где-то было в 2014 году.)

ne-vlezay ★★★★★
() автор топика
Последнее исправление: ne-vlezay (всего исправлений: 2)
Ответ на: комментарий от ne-vlezay

А на lenovo G50-70 какой EC стоит?

http://vlab.su/viewtopic.php?f=58&t=62734 - здесь говорят что в G50-70 установлена материнская плата Compal NM-A272 ACLU1/ACLU2 с EC IT8586E ; вот PDF даташит на эту материнку - http://www.s-manuals.com/motherboard/compal_nm-a272 (скачай, вдруг когда-нибудь пригодится) - в котором тоже написано что стоит EC IT8586E в формате LQFP, а вот и фотография с ним - https://imgur.com/a/G0DWZ .

На 44 странице даташита есть распиновка IT8586E и его также можно прошивать через клавиатурный разъём; некоторые «проприетарные программаторы» (с проприетарным софтом и которые за 5000 руб. продаются) это уже умеют - а flashrom пока не умеет но при желании его можно научить! Скорее всего прошивается похожим образом с KB9012, можно попытаться на основе исходников KB9012 добавить поддержку IT8586E - и тогда тоже можно будет прошивать тем же дешёвым CH341A

Я пытался как то на нём запускать flashrom, писало что микросхема bios не поддерживается (это где-то было в 2014 году)

Возможность «внутренней прошивки» биос чипа через flashrom («внутренней» - internal, без использования программатора) - зависит от модели/прошивки EC-контроллера только неявным образом: дело в том, что многие EC своей постоянной активностью - которая разумеется продолжается и когда ты пытаешься прошивать - могут или вообще приводить к ошибкам обнаружения биос-чипа или к ненадёжному чтению/записи. В результате, во многих ноутах «внутренняя прошивка» или вообще не работает или раз 10 нужно попробовать прежде чем наконец удастся, с разными предосторожностями - например, при прошивке вообще не использовать внутреннюю клавиатуру и тачпад ноутбука потому что это всё дёргает EC-контроллер (вместо этого пользуемся USB-устройствами)

Когда ты обновляешь свой биос (и может прошивку EC впридачу) официальной утилитой апдейта от производителя, она хитромудрым способом переводит твоё железо в «отладочный режим», например успокаивает EC-контроллер чтобы не дёргался! Именно поэтому в процессе обновления оф.утилитой обычно сильно гудит вентилятор: EC-контроллер им временно не управляет, вот он и крутится на 100%

Чисто в теории можно подсмотреть что именно делает оф.утилита апдейта, в какие регистры чипов чего она там пишет, чтобы дальше научить flashrom делать то же самое. Но на практике редко кто пытается это сделать, разве что для каких-то очень популярных Thinkpad'ов. Обычно просто разбирают ноут и при помощи прищепки цепляются прямо к биос чипу - «без посредников» - материнская плата при этом вообще выключена и в большинстве случаев биос чип идеально прочтётся/прошьётся

P.S. На некоторых особенных материнках часть тока, идущего с прищепки на биос чип, утекает на близлежащие схемы, из-за чего проседает напряжение на контактах биос-чипа и чтение/прошивка может быть неудачной полностью или частично! В таких случаях пытаются по возможности уменьшить количество возможных потребителей тока, например вынуть оперативку и отключить жёсткий диск с дисководом. Скоро во flashrom возможно добавят новый режим (патч уже есть но его пока не приняли) специально для таких проблемных плат: читать/писать будет маленькими кусочками постоянно верифицируя каждый из них, всё будет медленно - например чтение 15 минут вместо 2 минут - но зато супернадёжно

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

А на чём отлаживать flashrom, если я его захочу сам доработать? Можно ли это делать на виртуальной машине?

ne-vlezay ★★★★★
() автор топика
Ответ на: комментарий от SakuraKun

На 44 странице даташита есть распиновка IT8586E и его также можно прошивать через клавиатурный разъём; некоторые «проприетарные программаторы» (с проприетарным софтом и которые за 5000 руб. продаются) это уже умеют - а flashrom пока не умеет но при желании его можно научить! Скорее всего прошивается похожим образом с KB9012, можно попытаться на основе исходников KB9012 добавить поддержку IT8586E - и тогда тоже можно будет прошивать тем же дешёвым CH341A

А что может быть, если попытаться прошить этот мульт flashrom'ом?

ne-vlezay ★★★★★
() автор топика
Ответ на: комментарий от ne-vlezay

пускай добавят в flashrom IT8586E

Добавить может только тот человек, у которого:
1) уже есть матплата с этим чипом (специально покупать никто не будет)
2) свободное время для разработки и отладки, 3) интерес
В отличие от большинства разработчиков flashrom у тебя есть «1)», а если ещё и «2)» и «3)» то ты избранный ;) Сделай поддержку IT8586E (возможно заимствуя исходники KB9012), отладь, закоммить свои патчи, исправь недочёты замеченные главными разработчиками ==> и твои патчи смёржат! :) https://www.flashrom.org/Development_Guidelines#Patch_submission

почему проприетарный софт умеет его прошивать?

Этот проприетарный софт разрабатывается создателями «проприетарных программаторов», работает только с программаторами конкретного создателя и по сути продаёт их за те самые 5000 руб - просто потому что у ремонтников нет дешёвой альтернативы, а пытаться добавить поддержку самим им просто невыгодно даже если б смогли (за время, потраченное на поддержку одного чипа, можно починить несколько ноутбуков)

К тому же: большинство ремонтников ноутбуков - виндузятники которым пофиг на опенсорс: если они и напишут софт то вряд ли выложат свои наработки, скорее сделают свой программатор и тоже будут продавать! :D Напечатай в строке Google «программатор от » и ты удивишься сколько вариантов проприетарщины он тебе предложит: «от дяди Жени», «от Петьки», «от Дениса», «от Вертьянова», «от Водопьянова»... Тысячи их! и каждый работает только в винде и стоит недёшево

SakuraKun ★★★★★
()
Ответ на: комментарий от ne-vlezay

И на виртуальной машине и на обычной у flashrom можешь использовать виртуальный программатор «dummy» - он поддерживает 4 виртуальных чипа разных видов из dummyflasher.c : ST M25P10, SST SST25VF040, SST SST25VF032B, MACRONIX MX25L6436. Полезно и для общих патчей, не зависящих от конкретного чипа, и для проверки что новые патчи для твоего чипа не ломают поддержку по крайней мере некоторых других чипов. Например:

./flashrom -p dummy:emulate=MX25L6436 -V <твоя_команда>

или

./flashrom -p dummy:emulate=MX25L6436 -c "MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E/MX25L6473F" -V <твоя_команда>
где, согласно ./flashrom -h | --help :
-p | --programmer <name>[:<param>] specify the programmer device. One of
-c | --chip <chipname>             probe only for specified flash chip
-V | --verbose                     more verbose output
^^^ можно использовать -V, -VV, -VVV и т.д., чем больше букв -V тем больше дебажной инфы!
<твоя_команда> - то что ты хочешь сделать с этим виртуальным чипом

Если сгенерируешь рандомный бинарник под размер чипа

dd if=/dev/urandom of=urandom.bin bs=<размер_чипа_в_байтах> count=1
то можешь прошить его в виртуальный чип:
./flashrom -p dummy:emulate=MX25L6436 -c "MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E/MX25L6473F" -V -w urandom.bin

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

thinkpad a275, hp 725 на вскидку. они же с бОльшей диагональю - a475 и hp 745

acer swift 3, lenovo 720s, ... выбор не то чтобы сильно большой, но он есть

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

Если попытаться сделать это прямо сейчас, когда поддержки твоего чипа ещё нет: flashrom или не обнаружит чипа вообще (если для общения с ним требуется странный протокол а не обычный SPI) или, что более вероятно, считает неизвестные ID'шники и ему будет непонятно какой метод применить для чтения прошивки из такого чипа, а также объём прошивки в этом чипе и сколько байт он может читать/писать за одну операцию. в Development Guidelines - https://www.flashrom.org/Development_Guidelines#Adding.2Freviewing_a_new_flas... - хорошо расписано как добавляется поддержка нового чипа: начинают с добавления нового ID в flashchips.h и создания новой структуры в flashchips.c соответствующей этому ID, с указанием всей инфы по новому чипу и методам его прошивки, и пробуют - если не получается то меняют метод прошивки и/или его параметры, а может придётся или разработать свой собственный метод или улучшить уже имеющийся

Будь готов к тому, что начав добавлять поддержку нового чипа ты скорее всего повредишь прошивку которая там находится - её можно будет извлечь из оф.утилиты апдейта от производителя или нагуглить если кто выложил этот бинарник - и разумеется завершить начатое, чтобы в итоге ты смог прошить нормальную прошивку в EC-контроллер при помощи дешёвого программатора поддерживаемого flashrom и не пришлось покупать дорогой

SakuraKun ★★★★★
()
Ответ на: комментарий от ne-vlezay

про /dev/port впервые слышу; погуглил, может быть и можно но сложно ;)

SakuraKun ★★★★★
()
Ответ на: комментарий от ne-vlezay

Кривые проприетарные UEFI предоставляли доступ к некоторым своим разделам операционной системе для изменения переменных UEFI «efivars» и прочих конфигов. Можно командой rm -rf / повредить эти разделы! Хотя бы немного нормальный UEFI (полностью нормальных не бывает) восстановит их в заводское состояние, а кривой будет или зависать при включении или уходить в бесконечную перезагрузку

Проблема решается:
* или обновлением кривого UEFI, в надежде что индусы которые его состряпали за миску риса хотя бы немного исправили
* или разработчиками ОС усложнением монтирования этих разделов во избежание их случайного повреждения
* Или при возможности замене глючного UEFI на коребут, например связку coreboot+SeaBIOS которая собирается по дефолту

SakuraKun ★★★★★
()

Неправильно поставлен вопрос. Надо - Список ноутбуков на которых нельзя запускать Linux.

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

За инфу спасибо, интересно.

Хорошо, что сделали софт для программатора, а то 3 года назад прошить его было довольно проблематично, в смысле, что не во всех мастерских был этот самый программатор.

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

К тому же: большинство ремонтников ноутбуков - виндузятники которым пофиг на опенсорс: если они и напишут софт то вряд ли выложат свои наработки, скорее сделают свой программатор и тоже будут продавать! :D Напечатай в строке Google «программатор от » и ты удивишься сколько вариантов проприетарщины он тебе предложит: «от дяди Жени», «от Петьки», «от Дениса», «от Вертьянова», «от Водопьянова»... Тысячи их! и каждый работает только в винде и стоит недёшево

И наверника для работы требуется самая последняя и дорогая винда?

ne-vlezay ★★★★★
() автор топика
Ответ на: комментарий от fornlr

Ща петушки-эмодзихейтеры взорвутся, поосторожнее будь!

С другой стороны, за еблет 🙃 бояться — на ЛОР 🐓 не ходить!

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

с KB9012 теперь любой школьник справится! :) а для других мультиков если и опасная операция - то только в том смысле, что если в процессе разработки поддержки мульта случайно испортишь прошивку которая там лежит: чтобы перепрошиться нормально нужно будет или довести разработку до конца или раскошелиться на сервис/проприетарщину. Испортить сам мульт - маловероятно, только если на него что-то металлическое упадёт и коротнёт ноги

SakuraKun ★★★★★
()
Ответ на: комментарий от ne-vlezay

в обычном режиме он обращается к символьному устройству которое соответствует программатору, например: /dev/spidev*.* . На разных линуксах/ядрах ссылки могут различаться, поэтому самый надёжный способ определить - посмотреть список устройств /dev без программатора, вставить программатор в комп, посмотреть список ещё раз и понять устройство с каким именем добавилось. во «внутреннем» режиме - обращается к шине PCI, поподробнее в internal.c и pcidev.c

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

Считаю, возиться со внутренним режимом «internal» не имеет смысла, он глючный! В-общем, если хочешь внести свой весомый вклад в опенсорс: закажи из Китая программатор CH341A с прищепкой SOIC8 для биос чипа, + плоский шлейф для клавиатурного разъёма, с тем же количеством контактов и тем же шагом что и у шлейфа клавиатуры твоего ноута, и немного проводков 1P и термоусадок к ним: чтобы ты смог спаять переходник и было удобно подключаться к EC-контроллеру как в этой инструкции - http://dangerousprototypes.com/docs/Flashing_KB9012_with_Bus_Pirate#Flashing_...

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

А, как тогда происходит включение виртуализации на процессоре? Что в это время делает bios?

ne-vlezay ★★★★★
() автор топика
Ответ на: комментарий от ne-vlezay

Смотря какой bios ты имеешь в виду) Если индусский UEFI - фиг знает что они там накрутили ;)
А для coreboot можно легко понять, склонировав себе репозиторий с исходниками coreboot

git clone http://review.coreboot.org/coreboot
и поискав по ключевым словам, например
find ./coreboot/ -type f -print0 | xargs -0 grep "iommu\|IOMMU\|Iommu"

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

Просто я из расширенного меню BIOS запорол прошивку мультика.

На bios-mods.com мне разлочили «Расширенное меню» (вроде инженерного), я возьми да и попытайся увелить размер видеопамяти для интеграшки Intel HD и... все моментально в море))) Правда тогда было не до смеха.

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

мне разлочили «Расширенное меню» (вроде инженерного)

Нужно патчить ассемблерный дамп биоса для этого уже написаны скрипты для IDA,но в паблике их никто выкладывать не будет, на том форуме этим занимается товарищ Dudu2002 и еще несколько человек, ЕМНИП.

Twissel ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.