Losowe zamrożenia uruchamiania systemów Linux na jądrze 3.18 wzwyż

Witam, mam problem, którego już od dawna nie mogę rozwiązać. Kiedy wgram jądro systemu Linux 3.18 lub wyższe to system losowo zawiesza się na etapie wczytywania dysku RAM “Loading initramfs”. Czasami jest tak, że system nie chce się włączyć po 10 razach, a czasami włącza się od razu. Nie wiem od czego to zależy.

 

Co już robiłem:

  • przebudowywałem hooks

  • odłączałem wszystkie urządzenia jakie mogłem, czyli napęd DVD, WLAN, myszkę. 

  • ustawiałem w GRUBIe radeon.dpm=0

  • testowałem RAM (wszystko ok)

  • sprawdzałem tryb AHCI i IDE dysku

 

Przez to mam nawet problem z uruchomieniem LiveUSB systemu Manjaro 0.8.13 czy Antergos i Kubuntu, których kernel jest równy lub wyższy niż 3.18.

 

Specyfikacja notebooka:

Turion 64 x2 2,2GHz, SSD Samsung 840 EVO 120GB, Radeon HD4570, Chipset AMD SB6XX, WiFi Atheros.

Sprawdź jeszcze stan dysku.

Dysk jak pisałem nie ma z tym związku, bo problem występuje nawet przy ładowaniu LiveUSB z Pendrive. Tak czy inaczej dysk jest w 100% sprawny. Kernele 3.17 i poniżej normalnie się ładują.

Usuń z domyślnych opcji Gruba w Manjaro wszelkie splash i quiet i sprawdź na czym zatrzymuje się ładowanie systemu.

Ok, zaraz sprawdzę.

Zapomniałem jeszcze - oczywiście trzeba klepnąć po edycji plików:

sudo grub-mkconfig -o /boot/grub/grub.cfg

Tak, zrobiłem to oczywiście. Niestety problem jest taki, że ładowanie się wstrzymuje przy “Wczytywanie początkowego dysku RAM” i na tym stoi. Jak się załaduje dobrze to wyświetlają wszystkie informacje ładowania.

Jeśli system załaduje się poprawnie to zainstaluj pakiet smartmontools:

sudo apt-get install smartmontools

Potem podaj wynik polecenia:

sudo smartctl -a /dev/sda

Użyłem również polecenia “noapic”. Myślałem, że to już załatwiło sprawę, ale niestety po 5 restarcie znowu zwieszka. To jest kompletnie losowe i irytujące. 

 

Wynik smart:

smartctl 6.3 2014-07-26 r3976 [x86_64-linux-4.0.3-1-MANJARO] (local build)
Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family: Samsung based SSDs
Device Model: Samsung SSD 840 EVO 120GB
Serial Number: S1D5NSBF309120M
LU WWN Device Id: 5 002538 8a02c857a
Firmware Version: EXT0DB6Q
User Capacity: 120,034,123,776 bytes [120 GB]
Sector Size: 512 bytes logical/physical
Rotation Rate: Solid State Device
Device is: In smartctl database [for details use: -P show]
ATA Version is: ACS-2, ATA8-ACS T13/1699-D revision 4c
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is: Sun May 24 10:39:19 2015 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status: (0x00) Offline data collection activity
                                        was never started.
                                        Auto Offline Data Collection: Disabled.
Self-test execution status: ( 0) The previous self-test routine completed
                                        without error or no self-test has ever 
                                        been run.
Total time to complete Offline 
data collection: ( 4200) seconds.
Offline data collection
capabilities: (0x53) SMART execute Offline immediate.
                                        Auto Offline data collection on/off support.
                                        Suspend Offline collection upon new
                                        command.
                                        No Offline surface scan supported.
                                        Self-test supported.
                                        No Conveyance Self-test supported.
                                        Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine 
recommended polling time: ( 2) minutes.
Extended self-test routine
recommended polling time: ( 70) minutes.
SCT capabilities: (0x003d) SCT Status supported.
                                        SCT Error Recovery Control supported.
                                        SCT Feature Control supported.
                                        SCT Data Table supported.

SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct 0x0033 100 100 010 Pre-fail Always - 0
  9 Power_On_Hours 0x0032 099 099 000 Old_age Always - 2703
 12 Power_Cycle_Count 0x0032 099 099 000 Old_age Always - 737
177 Wear_Leveling_Count 0x0013 097 097 000 Pre-fail Always - 29
179 Used_Rsvd_Blk_Cnt_Tot 0x0013 100 100 010 Pre-fail Always - 0
181 Program_Fail_Cnt_Total 0x0032 100 100 010 Old_age Always - 0
182 Erase_Fail_Count_Total 0x0032 100 100 010 Old_age Always - 0
183 Runtime_Bad_Block 0x0013 100 100 010 Pre-fail Always - 0
187 Uncorrectable_Error_Cnt 0x0032 100 100 000 Old_age Always - 0
190 Airflow_Temperature_Cel 0x0032 072 052 000 Old_age Always - 28
195 ECC_Error_Rate 0x001a 200 200 000 Old_age Always - 0
199 CRC_Error_Count 0x003e 099 099 000 Old_age Always - 2
235 POR_Recovery_Count 0x0012 099 099 000 Old_age Always - 262
241 Total_LBAs_Written 0x0032 099 099 000 Old_age Always - 7560203303

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Short offline Completed without error 00% 3 -
# 2 Short offline Completed without error 00% 0 -

SMART Selective self-test log data structure revision number 1
 SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
    1 0 0 Not_testing
    2 0 0 Not_testing
    3 0 0 Not_testing
    4 0 0 Not_testing
    5 0 0 Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

Przy uruchamianiu dodaj do gruba ‘nomodeset’.

Sprawdź przy zamrożeniu czy możesz zalogować się na inny terminal.

Dodanie “nomodeset” powoduje, że ładowanie systemu zatrzymuje się na losowych miejscach, raz na “Starting Wait for Plymouth Boot Screen to Quit…”, potem na “Started Bluetooth service.”

Irytująca strasznie ta losowość.

 

Dziwne jest to, że te same ustawienia chodzą na 3.17 i niższych bez problemów. Jednak chciałbym rozwiązać ten problem póki wszystkie dystrybucje przejdą na nowsze wersje kerneli.

 

Edycja: Co do terminalu to nie, nie mogę nic zrobić. Zamrożone na amen.

 

Edycja2: W linku jest nagranie tego jak ten problem wygląda: https://youtu.be/AKO0ZwI2MLo

Nie ma bo jak ma je system zapisać przed załadowaniem np modułu do obsługi dysku? Te kernele kompilujesz sam czy to standardowe dołączanie do dystrybucji?

Standardowe z Manjaro, Antergos czy Kubuntu. Ze wszystkimi ten sam problem.

Odświeżam temat, niestety nie znalazłem na niego odpowiedzi.

Sprawdź za pomocą lspci -k nazwy załadowanych modułów i następnie zobacz w changelogu kernela 3.18 czy w modułach, które potrzebujesz były wprowadzane jakieś większe zmiany. Jak zlokalizujesz taki moduł, to spróbuj go odłączyć(o ile nie jest to jakiś moduł niezbędny do uruchomienia systemu).

Jaki system plików na /boot, /usr i / ? Najlepiej, jakbyś podał każdy system plików na twoim komputerze wraz z punktem montowania. Ta dystrybucja korzysta z systemd? Która wersja. Systemd posiada automontera, co przy konieczności sprawdzenia systemu plików tłumaczyłoby losowość.

Mam na tym kompie SWAP, / EXT4 i /home EXT4, czyli /boot i /usr też jest EXT4. Manjaro, Antergos i Kubuntu/Ubuntu są na systemd 219. Zamrożenia zdarzają się też przy odpalaniu obrazu Live USB. Więc nie wiem czy tu na pewno jest z tym problem. Muszę jeszcze sprawdzić jakie moduły się ładują przy starcie i jaka to zmiana zaszła między 3.17, a 3.18, że zaczęło się coś psuć.

Spróbowałeś też zmienić init? Spróbuj distro z innym initem i sprawdź, czy tam będzie to samo. Jak problem się powtórzy, to sprawdź moduły. Czy problem występuje także, jak hibernujesz komputer zamiast go wyłączać? Bo jak nie występuje przy hibernacji, to może poprostu hibernuj komputer i resetuj go tylko, po aktualizacjach?

Wyłączałem po kolei każdy moduł z tej listy:

ac
acpi_cpufreq
ahci
asus_laptop
ath9k
atkbd
battery
button
ehci_pci
evdev
ext4
hid_generic
i2c_piix4
i8042
joydev
k10temp
kvm_amd
mac_hid
mousedev
ohci_pci
pcc_cpufreq
pcspkr
processor
psmouse
r8169
radeon
sd_mod
serio_raw
shpchp
snd_hda_intel
sp5100_tco
sr_mod
thermal
tpm_infineon
tpm_tis
usbcore
usbhid
uvcvideo
video

z pomocą modprobe.blacklist=nazwa_modułu przy każdym uruchomieniu. Jak np. poszło dalej to powtarzałem jeszcze parę razy. Niestety w żadnym wypadku nie udało się znaleźć winowajcy, zawsze w końcu stawało.

 

Co znaczy zmienić init?

Wywaliłeś opcje quiet z bootowania? https://wiki.archlinux.org/index.php/Boot_debugging popróbuj różnych opcji debugowania, jeśli która coś zwróci wrzuć zdjęcie ekranu na forum. Wtedy można pomyśleć i zgłosić bug do bugtracker, trochę to trwa ale mi się udało tak rozwiązać problem na moim lapku.