Чому не можна завантажувати Linux ядро ​​на моєму новому процесорі Intel i7-6500U?


9

Я знаю, що важко ізолювати процесор, але помилки, які я бачу, припускають, що це проблема.

Це, безумовно, не є несправною / несправною апаратною проблемою . Я працюю в Windows 10 протягом усього дня протягом останніх кількох днів, і ця річ швидко перебирається! Ніяких збоїв. Що ще важливіше, я запустив перевірку пам'яті Windows. Пам'ять - це все добре.

технічні характеристики

Машина - це абсолютно новий Lenovo Yoga 710 15 "

x64
Intel i7-6500 CPU @ 2.50 GHz, 2601 Mhz, 2 Cores, 4 Logical Processors
SMBIOS Version 2.8
BIOS Mode UEFI
16.0 GB DDR4 Ram
256 MB SSD

ізоляція до ядра Linux (?)

Я бачив однакові проблеми на обох

  • archlinux-2016.08.01-dual.iso
  • ubuntu-gnome-16.04.1-desktop-amd64.iso

Для Arch - проблема полягала лише у переривчастому завантаженні з USB-накопичувача. Мені вдалося встановити Arch на розділ 100 Гб ext4 на диску. Ця інсталяція має певний час з періодичністю (як 90% часу) під час завантаження. Якщо я отримаю завантаження, то проблема з’являється навмання після першої пари команд терміналів, які я виконую, зрештою спричиняючи повний глухий кут.

Для Ubuntu - USB-накопичувач навіть не завантажується. Мене одразу зупиняють ці самі помилки. Тупик ...

Стільки помилок ...

Журнал заповнений помилками, пов’язаними з пам’яттю, коли це відбувається, але ключові помилки, які я бачу, це:

  • General protection fault 0000[#1] PREEMPT SMP
  • RIP kmem_cache_alloc
  • RIP kmem_cache_alloc_trace

Я кілька разів бачив одні й ті ж сліди стека для цих помилок:

rbt_memtype_copy_nth_element
on_each_cpu
flusH_tbl_kernel_range
__purge_umap_area_lazy
um_unmam_aliases
change_page_attr_set_clr
set_memory_ro
frob_text.isra
module_enable_ro

kobject_create
kobject_create_and_add
load_module
__symbol_put
kernel_read
sys_finit_module
entry_SYSCALL_64_fastpath

kmem_cache_alloc_trace
allocate_cgrp_cset_links
...
sys_write
entry_SYSCALL-64_fastpath

Linux також продовжує обіцяти, що вирішує проблему

Виправлення рекурсивної несправності, але перезавантаження потрібне!

Я бажаю..

Intel ucode

Я також спробував встановити intel-ucodeпакет у моїй програмі Arch. Я побачив у dmesgжурналах, що мікрокоди були оновлені, але це, на жаль, не вирішило моєї проблеми.

Що може бути проблемою? Як це можна виправити?


EDIT

Додаткова примітка.

Повідомлення про помилки загального захисту та повідомлення типу "блокування виявлених" зазвичай посилаються на ЦП. Я бачив CPU0, CPU1, CPU2і CPU3в цих повідомленнях. Здається, що щось змушує процесор не ладити, наче вони всі в тупику, намагаючись очистити кеш-пам'ять чи щось подібне.


EDIT2

BIOS згаданий помилково

Я бачу цю інформацію в деяких помилках:

LENOVO 80U01LENOVO YOGA710-1 BIOS OGCN20WW(v1.04) 6/30/2016

Не впевнений, чи корисно це професіоналу для розуміння проблеми ...


EDIT3

maxcpus = 1

Я шукав варіанти налагодження в документації на параметри ядра і знайшовmaxcpus

Якщо я встановив максимальний процесор на 1, проблема усунеться. Тому, здавалося б, проблема полягає в якомусь порушенні спільної кеш-пам'яті.


EDIT3

maxcpus = 1 + Gnome = знову порушено

Хоча maxcpus=1здавалося, що система змусила працювати лише з 1 процесором, я встановив gnome, а потім побігsystemctl enable gdm.service

Тепер, коли я перезавантажуюсь, я знову повертаю всі свої помилки, але цього разу всі вони трапляються на CPU0

Тож здається, що все-таки щось спричиняє порушення пам’яті навіть з 1 процесором.


EDIT4

нолапічний

Тому використання, nolapicздається, все "працює"

Але, використовуючи nolapic, я ефективно відключаю інший процесор і всю багатопотоковість в 1 робочому процесорі.

Я намагаюся використовувати це для OpenMP, і після завантаження з nolapicOpenMP і ядра Linux можна знайти лише 1 потік, 1 процесор. Це смокче!

Я також спробував intel_idle.max_cstate=0і 1, 2і т. Д. Але це не виправляє проблему завантаження.

Що ще може призвести до того, що ядро ​​не може використовувати мою багатоядерну машину?


Ви спробували встановити драйвер nvidia для вашого NVIDIA GeForce 940MX?
Пол Нордін

Ні, я цього не зробив - мені, можливо, вдасться знову запустити накопичувач арки USB, але це дуже складно. Чи є якийсь спосіб передати параметр ядра в сценарій завантаження, щоб тимчасово відключити gpu для перевірки цього? (Я намагався nomodesetі nouveau.mode=0- не впевнений, чи це схоже)
tmsimont

хм, я заглянув у параметри ядра Linux параметрів і знайшов maxcpus- встановив його на 1, і проблема відходить ... Але тепер я можу використовувати лише один процесор? :(
tmsimont

Це дивно. Я все ще підозрюю, що основне питання пов'язане з модерном. Спробуйте параметри nomodeset nouveau.modeset=0разом, і якщо це не працює, спробуйтеnomodeset i915.modeset=0 nouveau.modeset=0
Пол Нордін,

1
Я б спробував знову завантажити Ubuntu просто для того, щоб кинути іншу версію ядра в суміш. Переконайтеся, що ввімкніть попередній режим у BIOS або принаймні, відключіть безпечне завантаження та швидке завантаження або щось подібне, якщо ви ще цього не зробили.
Пол Нордін

Відповіді:


5

Виявляється, питання було i2c_hid

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

Я все одно не люблю забивати екран свого ноутбука за допомогою відбитків пальців ... Тож до побачення i2c_hid!

Я виправив це, додавши це до парам ядра: modprobe.blacklist=i2c_hid

Хоча nolapicтакож працював, він відключив усі процесори, окрім 1 ядра, в процесорах.

Я дуже рекомендую будь-кому іншому там не користуватися apci=offабо nolapicз цієї причини.

Використання цих параметрів - це ядерна зброя, яка може змусити вашу машину працювати, але ви втратите велику продуктивність та / або пристрої вводу-виводу в якості пошкодження. Це хороша відправна точка для завантаження, і тоді ви можете залити випадок журналу, як я це робив для аналізу черевиків, які не вдається.

Удачі тим, хто це знаходить.


3
Дуже дякую за те, що поділилися з нами. На основі вашої інформації я виявив, що вимкнення hid_sensor_hubдостатньо, а сенсорний екран також є корисним (детальну інформацію див. У моїй відповіді нижче).
jiakai

2

Усі ці помилки виглядають як я бачив із модулями поганого ядра.

Хтось у ubuntuforums стверджує, що він отримав завантаження ubuntu на 710-14ISK, відключивши acpi (додайте acpi=offдо параметрів ядра). https://ubuntuforums.org/showthread.php?t=2329448

Інший клієнт на форумах lenovo заявив, що у них виникли проблеми із завантаженням Fedora 24 і простежили проблему на фрагменті мікропрограмного забезпечення: https://forums.lenovo.com/t5/Linux-Discussion/Yoga-710-How-to-install-Linux / td-p / 3361544

Спробуйте встановити чорний список модулів broadcom та nouveau (залишити їх незатребуваними) та завантажтесь із acpi. У мене були подібні журнали, коли у мене був недоброзичливий модуль ralink у старому Acer: чорний список модуля дозволив мені завантажитися та зупинив паніку ядра, але залишив мене без wifi.

PS. Я б все це написав у коментарі, але мені не вистачає репутації для коментарів (вибачте).


Я думаю, ти щось на те. acpi=offзникло помилку, але вона також відключила мою клавіатуру. Здається, є більш детальні варіанти з acpi, тому я побачу, чи можу я зупинити помилки, зберігаючи клавіатуру :)
tmsimont

1
хм, можливо, просто відключення деяких частин acpi - це шлях. Варіантів досить багато, але я б спробував acpi=htспочатку. help.ubuntu.com/community/BootOptions (дивіться у розділі Загальні параметри ядра) або більш детальний список: kernel.org/doc/Documentation/kernel-parameters.txt
Schives

nolapicпрацював на мене, і я можу завантажуватися, але я можу отримати доступ лише до одного з моїх процесорів. Я намагаюся використовувати цей ноутбук для розробки програм OpenMP, тому працювати лише 1 процесор не нормально. Здається, що в тому, як ядро ​​намагається використовувати мої кілька процесорів, просто щось страшно не так. Те, що nolapic"виправляє" завантаження, може бути випадково лише через те, що воно обмежує ядро ​​до 1 процесора
tmsimont

ще одна примітка - це добре працює в Windows 10. Чи є щось, що я можу підтягнути у Windows, щоб дізнатися більше про все, що ядро ​​Windows робить з процесором, що я можу бути в змозі повторити в Linux?
tmsimont

2

У мене були подібні проблеми з останніми ядрами (4.7.x до 4.8.2) на моєму йога710 з i5-6200U. Відключення i2c_h2d працює для мене. Я також виявив, що linux-lts (зараз 4.4.25), здається, працює добре, включаючи тачпад і сенсорний екран.

Редагувати: експериментуючи з кодом драйвера, я виявив, що це дійсно викликано hid_sensor_hubдрайвером, тому чорний список вирішує проблему, а сенсорний екран також є корисним. Безумовно відключення робить датчики (наприклад, акселерометр) нерозпізнаними. Я спробував виправити драйвер; проте я ще не з'ясував способу.


0

Для підтримки Skylake вам потрібно ядро ​​Linux версії 4.4 або пізнішої версії. Перегляньте наступне посилання на вікі Arch Arch Linux. https://wiki.archlinux.org/index.php/intel_graphics#Skylake_support


archlinux-2016.08.01-dual.iso містить 4.6.4, так що це повинно працювати
maxf

Це нерозумне запитання, але чи ти запускаєш пам’яті на комп’ютері? memtest.org
Петро Скарпетіс

1
@ Петер Не дурний, і так, я зробив. Немає проблем із пам'яттю. Також так, maxf вірно, у мене 4.6.4
tmsimont
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.