solved "Boot Freeze" "Bug: Soft Lockup" problems on Samsung R528 Laptop

Many users had reported (particularly having Intel Integrated Graphics Chipsets machines ) boot freezing with very similar or identical symptems as discribed in this thread
11.4 Boot Freeze

This problem also appeared in my new Samsung Laptop when I installed openSUSE11.4
(Model R528-DA04IN -/ Pentium Dualcore T4400 @ 2.20GHz/2GB/Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller [8086:2a42] (rev 09)/250GB HDD)

I am not much knowledgeable on Linux matters. (other than running openSUSE 10.3/SAMBA /raid as a small workgroup server in my office having only win xp clients.) I certainly welcome corrections if I am wrong in my conclusions!

Even users having Nvidia as well as ATI graphics controllers faced similar or slightly different problems after installing 11.4.

One common factor appears to be use of KMS enabled open source drivers which are naturally the default first choice loaded by all distributions including openSUSE.

As for the ATI /RAdeon chip sets, so called proprietary Drivers from the chip set vendors are available which often are superior and guides and procedures to install them written by senior members are available ref OLDCPU’s
openSUSE Graphic Card Practical Theory Guide for Users
or
SDB:Configuring graphics cards - openSUSE
These drivers are not KMS enabled and users have to disable KMS by using ‘nomodeset’ boot parameter.

But unfortunately for Intel graphics hardware similar non KMS driver apparently not available and INTEL supports only KMS enabled Opensource drivers.
So if you want to follow the ‘nomodeset’ boot paramter method it will end up with using what is referred as the fbdev- FrameBuffer Driver or in case even this does not work the Kernel loads the ‘Vesa’ Driver. Unfortunately these drivers most of the time cannot use the NAtive resolution of the LAptop Monitor and you endup with ugly and squashed looking desktop.
Further the ‘Desktop effects’ which is the mainstay/attraction of the modern display managers like Gnome and KDE including the hardware display accleration for /videoplayback/HDMI are disabled.

An alternative is the older non KMS intel driver called ‘intellegacy’ (which is included as part of the standard XORG video drivers package) But this driver while correctly switching the native resolution of the LAptop Monior, manytimes is unstable or wont work when ‘desktop effects’ are enabled.

But on checking the actual message displayed just immediatly prior to the boot freeze point the issue had nothing to do with the graphics driver itself. They are when the UDEV segment of the boot process is going on. Thus it can be said that the kernel is unable to properly identify hardware details. It could be mostly on the modern systems to do with the so called ACPI implementation done by the SYStem MAnufacturer (In my case Samsung).
So simple setting of ‘acpi=off’ boot parameter or the variations of ACPI related parameters including ‘acpi_osi=linux’ etc are suggested by various users. But ACPI implementation is critical PArtricularly for LAptops due to heat/fan/battery related issues and skipping ACPI is bad and not all advisable.

And in my case no other setting enables the boot process to go on other than the drastic ‘acpi=off’ setting.

This is definitely unsatisfactory and an searching further I accidentally came across this older thread
Stuck during boot-up (Creating device nodes with udev)
particularly post #4 where user Per Jessen suggested maxcpu=0 boot parameter.
Surprisingly this worked on my machine!
Here it is suggested on multiCPU systems ( almost 99% of modern systems today are dualcore or quadcore cpus)the kernel enables so called SMP and systems having quirky BIOS issues (read ACPI implementation) often SMP will have booting problems and disabling SMP will allow the boot process to go on.
So apparently disabling SMP allowed the kernel to correctly detect the hardware and properly load the KMS enabled drivers. Thus the correct (in this case i915 driver) video driver is loaded and the boot process successfully resulted in consistently booting to graphic desktop always.

But this means I am stuck with only one CPU ! The other (in case of a quad core system other 3 cpus)are simply sucking power doing nothing!. So this not a permanent solution for me.

Tracing this lead I came across many posts and discussions right across almost all distros where it was generally advised that kms enabled drivers should be loaded as early as possible in the boot process.
This means One should compile the driver in to the kernel itself.
Or the next best thing is to build it into the so called** initrd**

Since compiling a kernel is unthinkable and beyond my experience I decided to try the initrd approach. Surprisingly Yast provided a simple method.
I simply used Yast - System - etc/sysconfig editor - System - Kernel - INITRD_MODULES and i added the ‘i915’ name to the already listed modules and saved it. Yast automatically ran the mkinitrd script and the i915 driver is now part of the initrd. ON rebooting the system successfully booted to the Gnome desktop with SMP and desktop effects etc. all intact. ( In between I had to remove the vga=“xxxx” line from the grub entry as this caused garbled screen immediatly after grub even though the system eventually reached Gnome desktop successfully in the end.)

So I request users facing similar issues (most of them anyway will at least have a dualcore processor) including those having ATI / RADEOn hardware to try either compile the corresponding opensource KMS enabled drivers in to kernel or atleast load into initrd and see if their problems are resolved. Any way for INtel video driver this appears to be a must.

Still my SAMSUNG LAPTOP is having further issues in the form of LCD brightness/WIFI/buttons not working. But these are not major issues and anyway i have read that these issues are under active consideration by kernel developers and might be resolved on future kernels.

I have now updated to Gnome 3 and loving everymoment !lol!

That is a great story ussivam and thanks for sharing it with us. It does make one think about just what options are there, read, what are the drivers one could pre-load into Initrd like i915? I wonder where such a listing would exist to be read?

Thank You,

From my limited understanding I can say that one can load any device module from initrd. I have read that initrd is actually by itself is a mini Linux filesystem having most of the standard Linux System folders. Also what initrd and the linuxrc which is run from initrd does is to allow the booting process to go on without the actual full file system to be loaded from the HDD. Critical hardware modules are initated and started here. Generally the HDD modules are traditionaly loaded here. The kernel may require for a typical system hundreds of loadable modules which are to be loaded off from the file system residing in the HArd disk.

I also read that initrd method of booting is adopted by distributions as this enables the installer to use a slim generic kernel and accomodate the wide variation of hardware features by preparing the initrd with critically required loadable modules identified during the first time by the installer.

Then when everytime boot starts Grub loads the kernel image and initrd image first and hands over control to the loaded kernel. The kernel then starts the boot process and sets up the hardware environment and creates the initial Ramdisk File system from the initrd image and from this file system the initrd listed modules for example the hard disk drivers like SCSI /AHCI etc are read/ loaded in the standard linux way.

These then will enable the mounting of the HDD based full file system and then one can go ahead with the loading of the full system.

Interested users can refer these links

Inside the Linux boot process

Linux initial RAM disk (initrd) overview

Initramfs - Gentoo Linux Wiki

when initrd based modules are loaded it is early in the boot process and they probably donot have to face the complexity of a hardware environment like SMP/ACPI? So identifying and starting the hardware entry points is much simpler and probably that may be is the reason when the Intel i915 driver (which most probably is very complicated module) when loaded through the initrd it could be successfully loaded.:confused:

Any way can one say as i915, being kernel based, it is better that it be either part of the kernel(by compiling into it ) or if not possible into initrd which is the next closer thing ?

openSUSE through YAST has made loading additional device driver module into already prepared initrd look so simple. So a Novice like me can easily do this with few clicks.

But actual preparation of the initrd itself may not be so simple and actually it is built by the installer automatically during OS installation.

I will be more than happy if users who are more knowledgeble can contribute / correct any errors in the above impression which at best is simply a guess on my part.:dont-know:

I understand that once a user can identify the exact modules he requires and can correctly set the hardware entry points prior, he can directly compile the module in to the kernel itself. Further Striping the parts of kernel which one does not need the kernel size can be sufficiently brought down and initrd may not be used at all. That is what I understand is generally done by some of the DISTROS like ARCH / GENTOO etc.where one has to start by compiling his own kernel specific to his machine.

I guess most of us may never acquire such technical knowledge unless your living depend on the Linux ! But the possibility exist and I am happy knowing that.:cool:

I heard that some distros like Puppy Linux are so small that the entire system fits inside 512 MB RAM !. Not to talk of ANDROID and other small devices like ROUTERS/NAS servers which i am told also are LINUX kernel based.

Great research, Ussivam.

I had the same problem on my Samsung RF711 laptop. Stuck at boot 1, 3, 5 timesbefore being able to start up normally.
Searched and tried everything I could think off, nothing worked (with my really limited linux knowledge).
And then to find out that adding i715 to the initread line solves this freek issue…

Again thanks for your effort!

Samsung RF711, i7 2Ghz, 4Gb, i915 / NVIDIA GeForce GT540M. W7 / 11.4 dual boot.