Keywords: CentOS 6.x, Red Hat Enterprise Linux 6.x, RHEL6, Linux kernel, non-PAE, without PAE, i586, installation media respin, anaconda, AMD K6-2, VIA C3, CMOV emulation
$Id: ts.m4,v 1.21 2018/09/24 09:55:27 kabe Exp $
intel_cleanup_ring_buffer
This kernel requires the following features not present on the CPU: pae Unable to boot - please use a kernel appropriate for your CPU.
Cause: Booting from a stock install media shows that. You didn't replace the kernel package.
Specified vga=0x317 nomodeset
as kernel option to
get VESA 1024x768 fbcon screen.
After loading initrd, the screen goes blank and seems to freeze.
Resolution: Try waiting for a couple of minutes.
Try without vga= option, and see how long it takes to "Trying to extract rootfs".
Cause: You may not have any output until initial rootfs is extracted.
Some console output resumes after that. This could take a long time on old hardware.
Of course there is possibility that your VGA card can't handle VESA fbcon.
Kernel panic - not syncing: Attemted to kill init! Pid: 1, comm: init Tainted: G ---------------- H 2.6.32-431.el6.v4.i586 #1 Call Trace: [<c003f0bc>] ? panic+0x6e/0x122 [<c0457211>] ? do_exit+0x741/0x750 [<c045725c>] ? do_group_exit+0x3c/0xa0 [<c046948e>] ? get_signal_to_deliver+0x1ce/0x460 [<c04026d3>] ? do_signal+0x93/0xa40 [<c04689ab>] ? force_sig_info+0x7b/0xd0 [<c0401984>] ? sys_execve+0x34/0x60 [<c0841f38>] ? work_notifysig+0x13/0x1b [<c0404100>] ? do_invalid_op+0x0/0x90 [<c04030f7>] ? do_notify_resume+0x77/0xa0 [<c0841f38>] ? work_notifysig+0x13/0x1b
Cause: You are using a stock kernel lacking NOPL et al emulation, or didn't replace stock glibc.i686 with glibc.i586 .
Symptom:
Native installing on Pentium 150MHz.
During initial Trying to unpack rootfs image as initramfs...
,
it seems to panic by
pci 0000:00:14.2: PCI INT C disabled Trying to unpack rootfs image as initramfs... BUG: soft lockup - CPU#0 stuck for 64s! [swapper:1] Modules linked in: Modules linked in: Pid: 1, comm: swapper Not tainted 2.6.32-642.1.1.el6.emu686.v27.i586 #1 System Manufacturer System Name/ALADDIN5 EIP: 0060:[] EFLAGS: 00000216 CPU: 0 ... [ ] ? populate_rootfs+0x0/0x23d [ ] ? kernel_init+0x1e8/0x23e [ ] ? kernel_init+0x0/0x23e [ ] ? kernel_thread_helper+0x7/0x10 Disabling lock debugging due to kernel taint
Resolution: It's not a panic. The keyboard LEDs aren't blinking. Just wait for several more minutes.
Anaconda complains:
--------------| Error |--------------- You do not have enough RAM to install CentOS on this machine. --------------------------------------
Cause: You need at least 384MB of RAM. This is hardcoded in anaconda loader/loader.c, so add RAM.
Ramdisk allocates 256MB, anaconda uses about 190MB, and
semodule
(during selinux package) and
depmod
(during kernel package) eats up about 200MB,
so you want a little more than 512MB.
(It may be possible with less RAM if you recompiled anaconda to not check this, respin, and add swap on the background shell prompt)
Adding swap in background tty has no effect, as "scanning storage devices" (a heavy task) will swapoff any local swaps during scanning.
Anaconda says
You do not have enough RAM to use the graphical installer. Starting text mode.
Cause: You need at least 640MB of RAM for graphical install.
This is hardcoded in anaconda as
isys/isys.h:#define MIN_GUI_RAM 655360 // 640MB
.
Resolution: Add RAM, or use VNC install mode by adding "vnc" to the kernel command line.
Symptom: After specifying partition and confirming write to disk, kernel panics during formatting ext4 filesystem as below.
------------[ cut here ]------------ kernel BUG at fs/buffer.c:396! invalid operand: 0000 [#1] SMP last sysfs file: /sys/firmware/edd/int13_dev81/mbr_signature Modules linked in: ext2 ext3 jbd ... Pid: 1709, comm: mke2fs Not tainted 2.6.32-696.16.1.el6.emu686.v31.i586 #2 System Manufacturer System Name/ALADDIN5 EIP: 0060:[<c0565cf7>] EFLAGS: 00210246 CPU: 0 EIP is at end_buffer_async_write+0x127/0x140 EAX: 4000202c EBX: d8e9dc88 ECX: d8e9dc88 EDX: 00000001 ESI: 00007000 EDI: c344e3a0 EBP: 00000000 ESP: c259be30 DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 Process mke2fs (pid: 1709, ti=c259a000 task=c2d22550 task.ti=c259a000) Stack: d4320640 00200292 c3c06480 d4320648 00200086 c2d840b4 c2cf2b20 00000000 <0> f708dce0 cc118f20 991b58e1 cc118ea0 00007000 00001000 00000000 c05644bb <0> 00000000 c0568512 c05f609d 00000000 c2c7ec00 c2d840b4 c2d84000 c2d85444 Call Trace: [<c05644bb>] ? end_bio_bh_io_sync+0x1b/0x40 [<c0568512>] ? bio_endio+0x12/0x30 [<c05f609d>] ? blk_update_request+0xed/0x480 [<c05f6443>] ? blk_update_bidi_request+0x13/0x80 [<c05f67b8>] ? blk_end_bidi_request+0x28/0x70 [<c05f684f>] ? blk_end_request+0xf/0x20 [<c06ec79c>] ? scsi_io_completion+0x9c/0x650 [<c05fa95a>] ? blk_done_softirq+0x5a/0x70 [<c0461686>] ? __do_softirq+0xa6/0x1f0 [<c0408eda>] ? mask_and_ack_8259A+0x1a/0x100 [<c04c108a>] ? handle_level_irq+0xaa/0xf0 [<c046180d>] ? do_softirq+0x3d/0x50 [<c0461965>] ? irq_exit+0x65/0x70 [<c0406fb0>] ? do_IRQ+0x50/0xc0 [<c0403850>] ? common_interrupt+0x30/0x40 Code: 89 44 24 04 c7 04 24 8c 04 9d c0 e8 85 a3 2f 00 eb b7 0f 0b eb fe f6 06 10 0f 84 30 ff ff ff f3 90 8d 76 00 eb f0 e8 29 43 ef ff <0f> 0b 8d b4 26 00 00 00 00 eb f7 0f 0b eb fe 8d 76 00 8d bc 27 EIP: [<c0565cf7>] end_buffer_async_write+0x127/0x140 SS:ESP 0068:c259be30 ---[ end trace ea8c0ee3b9ba07c6 ]--- Kernel panic - not syncing: Fatal exception in interrupt Pid: 1709, comm: mke2fs Tainted: G D -- ------------ 2.6.32-696.16.1.el6.emu686.v31.i586 #2 ...
Cause: Unknown.
Workaround: Try downclocking the FSB. Reducing 95*5=475MHz to 83*5.5=460MHz on K6-2 fixed this problem.
At end of installation, GRUB fails to install.
grub shell fails with "Illegal instruction".
Cannot boot.
Cause: You didn't replace grub.i686 package with grub.i586 . GRUB depends on libc.a, so you need a recompiled GRUB linked with glibc-static.i586.
Running on i586. On boot, it instantly resets, before GRUB menu appears.
Cause: You didn't replace grub.i686 package with grub.i586 . GRUB runs outside the kernel, so instruction emulation kernel isn't effective.
After install, sshd
service fails to start:
Generating SSH1 RSA host key: /etc/init.d/sshd: line 57: 1566 Illegal instruction
(core dumped) $KEYGEN -q -t rsa1 -f $RSA1_KEY -C '' -N '' &>/dev/null
[FAILED]
Cause: You didn't replace openssl package with openssl.i586 one.
Running on i586. First line of top(1) says
top: 19:46:01 up -24855 days, -3:-14, 0 users, load average: -nan, -nan, -nanalthough contents of /proc/uptime and /proc/loadavg seems sane.
Cause: kernel FCMOVcc
opcode emulation code is wrong,
which is used in /lib/libc.so (_IO_vfscanf).
Resolution: Replace the buggy kernel(which was never released anyway), and/or
replace stock glibc.i686 with glibc.i586 .
Running on i586 (AMD K6-2). It instantly resets after loading initrd and "Probing EDD" message.
Cause: Vanilla kernel-2.6.32 acts so. You'll need a patched kernel Makefile so that
arch/x86/boot/compressed/misc.o is not compiled with CMOV opcodes.
Resolution: Use linux-2.6.37.6 kernel, or the alternate
kernel.emu686 provided above.
Running GUI install with 640MB memory. anaconda randomly killed in unexpected places, but occasionally after some heavy workload.
Running on i586. Specified to format a partition in partition editor. The formatting seems to take too long, or kernel panics.
Cause: Unknown. kernel-2.6.32-431, kernel-2.6.32.62 seems to have this problem.
Workaround: Do not specify in GUI partition editor to format the partition.
Instead, boot into Rescue Mode first,
then fdisk
and mke2fs -t ext4 /dev/sdaXX
manually.
Also check for proper CPU cooling, FSB downtuning.
intel_cleanup_ring_buffer
Test running the kernel-2.6.32-573.el6 (CentOS 6.7/RHEL 6.7 kernel)
on Intel integrated video.
Having nomodeset
kernel option.
Booting will freeze at
(and CapsLock/ScrollLock LED blinks, indicating panic)
[drm] Memory isable by graphics device = 128M [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [drm] No driver support for vblank timestamp query. [drm] Initialized i915 1.6.0 20140905 for 0000:00:02.0 on minor 0 dracut: Starting plymouth daemon
or, panics as follows:
EIP: 0060:[<f8729d28>] EFLAGS: 00010246 CPU:1 EIP is at intel_cleanup_ring_buffer+0x18/0x120 [i915] EAX: 00000000 EBX: c1938c18 ECX: c1938000 EDX: 00000001 ESI: 00000000 EDI: c1900c34 EBP: c1900c00 ESP: c1947eec DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 Process plymouthd (pid: 140, ti=c1946000 task=f6ad9550 task.ti=c1946000) ... Kernel panic - not syncing: Fatal exception Pid: 140, comm: plymouthd Tainted: G D -- ------------ 2.6.32-573.el6.i686 #1 Call Trace: [<c086c3e7>] ? panic+0x6e/0x122 [<c0870fbc>] ? oops_end+0xbc/0xd0 [<c043d9c2>] ? no_context+0xc2/0x190 [<c043dc3b>] ? bad_area+0x3b/0x50 [<c043e105>] ? __do_page_fault+0x335/0x470 [<f854e501>] ? drm_ioctl+0x301/0x4c0 [drm] [<f854e150>] ? drm_version+0x0/0x80 [drm] [<c087288a>] ? do_page_fault+0x2a/0x90 [<c0870860>] ? do_page_fault+0x0/0x90 [<c0870317>] ? error_code+0x73/0x78 [<f870007b>] ? i915_display_info+0x5fb/0x610 [i915] [<f8729d28>] ? intel_cleanup_ring_buffer+0x18/0x121 [i915] [<f87750f1>] ? i915_dma_clanup+0x31/0x90 [i915] [<f854c412>] ? drm_lastclose+0x22/0x110 [drm] [<c054c777>] ? drm_release+0x277/0x430 [drm] [<c05403fc>] ? __fput+0xdc/0x1f0 [<c053be97>] ? filp_close*0x47/0x80 [<c05518c6>] ? sys_ioctl+0x76/0x90 [<c053bf37>] ? sys_close+0x67/0xb0 [<c086f9e4>] ? syscall_call+0x7/0xb
Cause: Bug in kernel-2.6.32-573.el6 .
Needs a kernel
patch.
Workaround: add i915.crash=0
kernel option
to prevent i915.ko module to load.
This is an invalid option; will make i915.ko module choke and unload.
You are not likely to encounter this, since i915
driver
isn't for i586 CPU motherboards.
Symptom: Test running kernel-2.6.32-642 (CentOS 6.8) kernel
on Intel integrated 865G video,
using native resolution
without nomodeset
.
Several lines at top of the text screen is blank/garbled.
dmesg
says:
[drm] stuck on render ring [drm] GPU HANG: ecode 2:0:0x037fffc1, reason: Ring hung, action: reset [drm] GPU hangs can indicate a bug anywhere in the entire gfx stack, including userspace. [drm] Please file a _new_ bug report on bugs.freedesktop.org against DRI -> DRM/Intel [drm] drm/i915 developers can then reassign to the right component if it's not a kernel issue. [drm] The gpu crash dump is required to analyze gpu hangs, so please always attach it. [drm] GPU crash dump saved to /sys/class/drm/card0/error i915: render error detected, EIR: 0x00000010 [drm:i915_handle_error] *ERROR* EIR stuck: 0x00000010, masking drm/i915: Resetting chip after gpu hang [drm:i915_reset] *ERROR* Failed to reset chip: -19
Reason: Bug in i915.ko
(drivers/gpu/drm/i915/) .
RHEL 6.8 started to retrofit kernel 4.4 DRM code onto kernel 2.6.32;
all bugs related to DRM on kernel 4.4 will also do on RHEL 6.8.
Resolution: Patch. Note that kernel 2.6.x is no longer maintained by kernel.org; upstream RHEL is responsible for DRM related bugs.
Workaround:
vga=0xXXX nomodeset
" kernel option
to lock resolution to VESA modes.
Xserver is restricted to the VESA resolution too.
Or, you could try out Xen kernel, seperately maintained by CentOS, which follows LTS (Long Term Support) kernel more closely. Xen kernel does not have this problem, but beware of different SELinux policy.
You are not likely to encounter this, since i915
driver
isn't for i586 CPU motherboards.
dmesg
shows
Warning only 895MB will be used. Use a HIGHMEM enabled kernel. ... 895MB LOWMEM available.Also,
top
(1) and /proc/meminfo
only shows around 898MB of memory.
Cause:
Kernel compiled with CONFIG_NOHIGHMEM option.
Resolution: Use a kernel compiled with CONFIG_HIGHMEM4G option.
Booting installer on i586 (K6-2). During media read, console is filled with
WARNING kernel:Clocksource tsc unstable (delta=267899879 ns). Enable clocksource failover by adding clocksource_failover kernel parameter. WARNING kernel:Clocksource tsc unstable (delta=265898923 ns). Enable clocksource failover by adding clocksource_failover kernel parameter. WARNING kernel:Clocksource tsc unstable (delta=264900203 ns). Enable clocksource failover by adding clocksource_failover kernel parameter.
Cause: CPU cannot keep up with the jiffies timer interrupt.
Resolution:
notsc clocksource=pit
kernel option to set alternate clock source.
Available clock source is listed in
/sys/devices/system/clocksource/clocksource0/available_clocksource
:
ex. tsc pit jiffies
tsc=reliable
kernel option.
Consider tsc (Time Stamp Counter) be reliable on i586, which
is unlikely to have variable CPU clock.
HZ
value (default 1000Hz),
such as CONFIG_HZ_100
.
This is the best option especially on sub-GHz CPUs or
as a virtual guest.
Symptom: Using a serial console. The console is constantly filled with message every second:
Clocksource tsc unstable (delta = 160025532 ns). Enable clocksource failover by adding clocksource_failover kernel parameter. Clocksource tsc unstable (delta = 120023074 ns). Enable clocksource failover by adding clocksource_failover kernel parameter. Clocksource tsc unstable (delta = 120022303 ns). Enable clocksource failover by adding clocksource_failover kernel parameter. Clocksource tsc unstable (delta = 120022087 ns). Enable clocksource failover by adding clocksource_failover kernel parameter. Clocksource tsc unstable (delta = 120021993 ns). Enable clocksource failover by adding clocksource_failover kernel parameter. Clocksource tsc unstable (delta = 120023102 ns). Enable clocksource failover by adding clocksource_failover kernel parameter.
Workaround:
console=ttyS0,19200
kernel option.
tsc=reliable
kernel option.
Native installing on i586. After package group selection, GUI installer issues weird warning like
V Details
lohit-kannnada-fonts-2.4.5-6.el6.noarch requires /bin/sh
crontabs-1.10-33.el6.noarch requires /etc/cron.d
rdma-6.7_3.15-5.el6.noarch requires chkconfig
cas-0.15-1.el6.1.noarch requires python-sqlite
xdg-utils-1.0.2-17.20091016cvs.el6.noarch requires /bin/sh
kernel-2.6.32-573.3.1.el6.emu686.v20.i586 requires grubbby >= 7.0.4-1
...
(left-hand-side is mostly .noarch, right-hand-side is binary packages)
Cause:
You didn't replace the tweaked
rpm
and yum
packages
to allow .i686.rpm install on i586 host.
Using a Matrox video card (such as G200).
Text console resolution is reset to 80x30 regardess of
vga=... nomodeset
kernel option.
Cause: matroxfb_base
module is read in by
udev, which does not honor kernel options such as video=, vga=, nomodeset.
Resolution:
Prepare /etc/modprobe.d/matrox.conf
, or
append to /etc/modprobe.d/blacklist.conf
the following to prevent matroxfb
from loading:
## /etc/modprobe.d/matrox.conf # disable loading matroxfb by udev. # udev scans /sys/**/modalias and loads driver by modprobe -b; # "video=matroxfb:disabled" isn't honored by udev blacklist matroxfb_baseIf you want to explicitly set the resolution, you may say
#blacklist matroxfb_base # 1024x768 options matroxfb_base vesa=0x118 left=168 # 800x600 #options matroxfb_base vesa=0x115 upper=22 left=112 right=48See Documentation/fb/matroxfb.txt for options.
Note: matroxfb
is not enabled on stock CentOS/RHEL kernel.
Nor it is enabled in initrd in custom kernel, since it isn't drm (KMS) aware.
Note: VESA graphics console (vga=...) is very slow on older CPU, occasionaly causing "tsc unstable" log. Using matroxfb is recommended.
Having a legacy floppy drive (one that uses IRQ6).
There's no /dev/fd0
and I cannot access the floppy.
Cause: floppy.ko
module is never loaded by default.
This is a feature.
Workaround: Try "modprobe floppy".
This should create /dev/fd0
.
Resolution: If ACPI is recognizing the FDC:
# find /sys -name modalias | xargs grep PNP0700 /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A03:00/device:02/PNP0A05:00/PNP0700:00/modalias:acpi:PNP0700:If above command shows PNP0700 line, the ACPI is recognizing the FDC. So, add a modprobe alias in newly created file
/etc/modprobe.d/floppy-pnp.conf
:
# /etc/modprobe.d/floppy-pnp.conf alias pnp:dPNP0700 floppy alias acpi:PNP0700: floppyOn reboot, udev should load the floppy.ko module according to the sysfs
modalias
entry,
after "dracut: Switching root".
Resolution: no ACPI, but ISA PNP is recognizing the FDC:
# find /sys -name id -type f | xargs grep PNP0700 /sys/devices/pnp0/00:07/id:PNP0700If above command shows PNP0700 line, the PNP is recognizing the FDC. Add a new udev config file, as
/etc/udev/rules.d/50-floppy-legacy.rules
.
# /etc/udev/rules.d/50-floppy-legacy.rules ## floppy.ko does NOT have "pnp:dPNP0700" device alias signature, ## so have to load it manually SUBSYSTEM=="pnp", ATTR{id}=="PNP0700", RUN+="/sbin/modprobe -b floppy"On reboot, udev should load the floppy.ko module, after "dracut: Switching root".
Modern machines does report FDC existence as PNP0700, but
often does NOT have actual FDD.
This causes long delay when probing devices on installation, so
RHEL (Fedora) decided not to support floppyies
and purposedly dropped the device signature from floppy.ko driver.
Their decision seems to be "those who need floppy, manually modprobe
" .
Having ISA bus SoundBlaster AWE32 soundcard.
No sound available; no /dev/snd/controlC0
device available.
Note: Stock CentOS/RHEL does NOT have ISA SoundBlaster drivers compiled.
Cause: snd_sbawe.ko
module not loaded by default
Workaround: Invoke "modprobe snd_sbawe" manually. If this makes sound available (such that "aplay -D plughw /usr/share/sounds/alsa/Front_Center.wav" works), you would put "modprobe snd_sbawe" in /etc/rc.d/rc.local (invoked from /etc/rc.d/rc*.d/S99local) or /etc/sysconfig/modules/sbawe.modules (invoked from /etc/rc.d/rc.sysinit) .
Resolution: if ISA PNP is recognizing the card:
# find /sys -name id -type f | xargs grep CTL /sys/devices/pnp1/01:01/01:01.00/id:CTL0041 /sys/devices/pnp1/01:01/01:01.01/id:CTL7002 /sys/devices/pnp1/01:01/01:01.02/id:CTL0021If above command shows some lines, the PNP is recognizing the SoundBlaster card. Add a new udev config file, as
/etc/udev/rules.d/80-drivers-pnp.rules
.
# /etc/udev/rules.d/80-drivers-pnp.rules ## Load ISA PNP module drivers, which lacks "modalias" entries in /sys. ## The module must have "alias: pnp:dCTL0021" et al to be loaded ## by this rule. SUBSYSTEM=="pnp", ATTR{id}=="?*", ENV{MODALIAS}!="?*", RUN+="/sbin/modprobe --use-blacklist pnp:d$attr{id}"On reboot, or udev restart, udev should load the module according to the sysfs "id" entry. "modprobe pnp:dCTL0021" will load the snd_sbawe module, since /lib/modules/*/modules.aliases has "alias pnp:dCTL0021* snd_sbawe" line, coming from snd_sbawe.ko module's "alias: " line visible by "modinfo snd_sbawe".
On sub-GHz slow CPUs, pulseaudio
tends to hog CPU cycles,
making X server to stop.
You would like to lower the priority of pulseaudio process
as in /etc/pulse/daemon.conf:
; high-priority = yes ; nice-level = -11 nice-level = 3
Pulseaudio is slow and tends to studder, so you may want to disable "pulse" as a default ALSA output. Modify /etc/alsa/pulse-default.conf as:
#pcm.!default { # type pulse # hint { # description "Default" # } #} ## make plughw the default pcm.!default { @args [ SLAVE ] @args.SLAVE { type string default "hw" } type plug slave.pcm $SLAVE }This still doesn't prevent GNOME from using pulseaudio "pulse" device as the default audio device.
Symptom: With ISA SoundBlaster 16 (snd_sb16
) or
AWE32 (snd_sbawe
) drivers loaded,
System->Preferences->Sound (gnome-volume-control
) freezes the entire system.
/var/log/messages
is filled with:
Jul 12 22:42:03 cygnus pulseaudio[1898]: alsa-source.c: Trying resume... Jul 12 22:42:03 cygnus pulseaudio[1898]: alsa-util.c: Device hw:0 doesn't support sample format u8, changed to s16le. Jul 12 22:42:03 cygnus pulseaudio[1898]: alsa-source.c: Resume failed, couldn't restore original sample settings. Jul 12 22:42:03 cygnus pulseaudio[1898]: alsa-source.c: Trying resume... Jul 12 22:42:03 cygnus pulseaudio[1898]: alsa-util.c: Device hw:0 doesn't support sample format u8, changed to s16le. Jul 12 22:42:03 cygnus pulseaudio[1898]: alsa-source.c: Resume failed, couldn't restore original sample settings. Jul 12 22:42:03 cygnus pulseaudio[1898]: alsa-source.c: Trying resume... Jul 12 22:42:03 cygnus pulseaudio[1898]: alsa-util.c: Device hw:0 doesn't support sample format u8, changed to s16le. Jul 12 22:42:03 cygnus pulseaudio[1898]: alsa-source.c: Resume failed, couldn't restore original sample settings.
Cause: pulseaudio
(1) fully assumes that
soundcard can do full-duplex I/O, but
ISA SoundBlaster 16 can only do half-duplex.
pulseaudio
gets confused and tries to
restore the settings on "Resume", which will fail,
resulting in infinite loop.
Workaround: Do not use the autoconfiguration of
pulseaudio
, instead configure things manually.
[General] -auto-profiles = yes +auto-profiles = noThis will stop autoconfiguration of all input-output pair profiles.
.nofail ## manually load the ALSA source/sink, not using udev load-module module-alsa-sink device=hw:0 load-module module-alsa-source device=hw:0 .fail ## make null sink always available load-module module-null-sink .ifexists module-esound-protocol-unix.so load-module module-esound-protocol-unix .endif load-module module-native-protocol-unix .ifexists module-gconf.so .nofail load-module module-gconf .fail .endif load-module module-default-device-restore load-module module-rescue-streams load-module module-always-sink load-module module-intended-roles load-module module-suspend-on-idle load-module module-console-kit load-module module-position-event-sounds load-module module-cork-music-on-phone ## set to half-duplex; source null, sink ALSA set-default-source null.monitor set-default-sink null .nofail set-default-sink alsa_output.hw_0 .failThis will bind the
pulseaudio
source/sink into
sink-only, thus half-duplex (output-only) on the SoundBlaster.
pulseaudio
by pactl exit
,
to enable the new configuration and unload module-udev-detect.
Under GNOME desktop, pulseaudio would restart automatically.
If not, comment out "autospawn=no" in
~/.pulse/client.conf (pulse-client.conf(5)).
modprobe snd_sbawe
pulseaudio
again.
Now it should pick up the ALSA device.
You can now safely use System - Preferences - Sound
(gnome-volume-control
).
Note that you have nothing on "Hardware" tab, so
you cannot use a sound test dialog.
Use i.e
paplay /usr/share/sounds/alsa/Front_Center.wav
for test.
Use
paplay --channel-map=front-left /usr/share/sounds/alsa/Front_Left.wav
for stereo test.
PCI sounds cards mostly does not have this problem (can do full-duplex), so consider a PCI sound card.
Using a ISA bus NE2000-compatible network card (RTL8019AS).
Card is not recognized; ip link
does not show the interface.
Cause: ne
driver is never loaded by default.
Workaround: Invoke "modprobe ne" manually. If that issues error
ne.c: You must supply "io=0xNNN" value(s) for ISA cards.you must supply IRQ and I/O port base, as "modprobe ne io=0x260 irq=3"
Resolution: if RTL8019 is configured in "Plug and Play" mode: If plain "modprobe ne" works, it's in PnP mode. The kernel should be exposing PnP id as
% udevadm info -a -p /sys/devices/pnp1/01:01/01:01.00 looking at device '/devices/pnp1/01:01/01:01.00': KERNEL=="01:01.00" SUBSYSTEM=="pnp" DRIVER=="" ATTR{resources}=="state = disabled" looking at parent device '/devices/pnp1/01:01': KERNELS=="01:01" SUBSYSTEMS=="" DRIVERS=="" ATTRS{name}=="Plug & Play Ethernet Card" ATTRS{card_id}=="WSC8019" looking at parent device '/devices/pnp1': KERNELS=="pnp1" SUBSYSTEMS=="" DRIVERS==""so you could rig up an
udev
entry:
cat << EOF > /etc/udev/rules.d/80-net-ne-pnp.rules #This doesn't work, as ATTR{id} is multivalued and becomes blank #SUBSYSTEM=="pnp", ATTR{id}=="RTL8019", ENV{MODALIAS}!="?*", RUN+="/sbin/modprobe --use-blacklist ne" SUBSYSTEM=="pnp", ATTRS{name}=="Plug & Play Ethernet Card", ENV{MODALIAS}!="?*", RUN+="/sbin/modprobe --use-blacklist ne" EOFRTL8019 could be set in "Plug and Play" mode via DOS utility RSET8019.EXE .
Resolution: if RTL8019 is configured in "jumperless" mode:
There is no reliable way for kernel to know the IRQ and base I/O address,
so you must explicitly specify them as modprobe parameters.
Current IRQ and base address setting is available from DOS utility RSET8019.EXE .
cat << EOF > /etc/sysconfig/modules/ne.modules; chmod +x /etc/sysconfig/modules/ne.modules #!/bin/sh /sbin/modprobe ne io=0x260 irq=3 EOF
Symptom: Using ALi M1543C (Alladin V companion) as southbridge chip. Even though the chip has UDMA/33 capability, on boot, it reports as "max MWDMA2" and transfer speed is restricted. dmesg says:
pata_ali 0000:00:0f.0: can't derive routing for PCI INT A scsi0 : pata_ali scsi1 : pata_ali ata1: PATA max MWDMA2 cmd 0x1f0 ctl 0x3f6 bmdma 0xffa0 irq 14 ata2: PATA max MWDMA2 cmd 0x170 ctl 0x376 bmdma 0xffa8 irq 15 ata1.00: ATA-6: ST340810A, 3.39, max UDMA/100 ata1.00: configured for MWDMA2hdparm -t performance on AMD K6-2 450MHz:
Timing buffered disk reads: 34 MB in 3.06 seconds = 11.10 MB/sec Timing buffered disk reads: 38 MB in 3.01 seconds = 12.62 MB/sec Timing buffered disk reads: 40 MB in 3.14 seconds = 12.76 MB/sec
Cause: You're likely using a Revision 0xC1 of the chipset. kernel.org kernel doesn't have special handling for this chipset and reverts to MWDMA2.
Resolution: Patch. Patched kernel should report as
scsi0 : pata_ali scsi1 : pata_ali ata1: PATA max UDMA/33 cmd 0x1f0 ctl 0x3f6 bmdma 0xffa0 irq 14 ata2: PATA max UDMA/33 cmd 0x170 ctl 0x376 bmdma 0xffa8 irq 15 ata1.00: ATA-6: ST340810A, 3.39, max UDMA/100 ata1.00: configured for UDMA/33hdparm -t performance on AMD K6-2 450MHz:
Timing buffered disk reads: 48 MB in 3.07 seconds = 15.63 MB/sec Timing buffered disk reads: 48 MB in 3.09 seconds = 15.55 MB/sec Timing buffered disk reads: 48 MB in 3.08 seconds = 15.57 MB/sec
Symptom: Using kernel-2.6.32-754.2.1.el6.emu686.v37.i586.
During make check
of glibc build,
kernel error occurs and locks up:
Aug 12 19:07:41 capricorn kernel: BUG: soft lockup - CPU#1 stuck for 63s! [ld-linux.so.2:30710] Aug 12 19:07:41 capricorn kernel: Modules linked in: ext3 jbd usb_storage ... Aug 12 19:07:41 capricorn kernel: Modules linked in: ext3 jbd usb_storage ... Aug 12 19:07:41 capricorn kernel: Aug 12 19:07:41 capricorn kernel: Pid: 30710, comm: ld-linux.so.2 Tainted: G W -- ------------ 2.6.32-754.2.1.el6.emu686.v37.i586 #1 FUJITSU FMVC10C131/FM111AA Aug 12 19:07:41 capricorn kernel: EIP: 0060:[<c0404316>] EFLAGS: 00000202 CPU: 1 Aug 12 19:07:41 capricorn kernel: EIP is at do_coprocessor_error+0x16/0x40 Aug 12 19:07:41 capricorn kernel: EAX: ee15fde8 EBX: ee15fde8 ECX: 000000e0 EDX: 00000000 Aug 12 19:07:41 capricorn kernel: ESI: 00000000 EDI: c0404300 EBP: 00000000 ESP: ee15fddc Aug 12 19:07:41 capricorn kernel: DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 Aug 12 19:07:41 capricorn kernel: Process ld-linux.so.2 (pid: 30710, ti=ee15e000 task=f438b550 task.ti=ee15e000) Aug 12 19:07:41 capricorn kernel: Stack: Aug 12 19:07:41 capricorn kernel: f438b550 00000000 c086f37d f438b550 00000032 f523e4c0 00000000 f438b550 Aug 12 19:07:41 capricorn kernel: <0> 00000000 00000282 f702007b ffff007b c08600d8 000000e0 ffffffff c040cc51 Aug 12 19:07:41 capricorn kernel: <0> 00000060 00010202 f438b550 00000014 c046196f ee15fe30 ee15fe30 00000005 Aug 12 19:07:41 capricorn kernel: Call Trace: Aug 12 19:07:41 capricorn kernel: [<c086f37d>] ? error_code+0x12d/0x140 Aug 12 19:07:41 capricorn kernel: [<c08600d8>] ? eager_fpu_init+0x2c/0xab Aug 12 19:07:41 capricorn kernel: [<c040cc51>] ? exit_thread+0x71/0xa0 Aug 12 19:07:41 capricorn kernel: [<c046196f>] ? do_exit+0x15f/0x740 Aug 12 19:07:41 capricorn kernel: [<c0461f8c>] ? do_group_exit+0x3c/0xa0 Aug 12 19:07:41 capricorn kernel: [<c047489e>] ? get_signal_to_deliver+0x1ce/0x470 Aug 12 19:07:41 capricorn kernel: [<c0472c59>] ? __send_signal+0x199/0x300 Aug 12 19:07:41 capricorn kernel: [<c04028b3>] ? do_signal+0x93/0xb40 Aug 12 19:07:41 capricorn kernel: [<c0472df6>] ? send_signal+0x36/0x70 Aug 12 19:07:41 capricorn kernel: [<c05c4e9a>] ? current_has_perm+0x3a/0x40 Aug 12 19:07:41 capricorn kernel: [<c05c4ec0>] ? selinux_task_setrlimit+0x0/0x30 Aug 12 19:07:41 capricorn kernel: [<c05bd952>] ? security_task_setrlimit+0x12/0x20 Aug 12 19:07:41 capricorn kernel: [<c0477d62>] ? setrlimit+0xb2/0x150 Aug 12 19:07:41 capricorn kernel: [<c0404300>] ? do_coprocessor_error+0x0/0x40 Aug 12 19:07:41 capricorn kernel: [<c04033d7>] ? do_notify_resume+0x77/0xa0 Aug 12 19:07:41 capricorn kernel: [<c086d598>] ? work_notifysig+0x13/0x1b Aug 12 19:07:41 capricorn kernel: Code: 00 00 00 8b 1c 24 83 c4 08 e9 77 fe ff ff 8d b4 26 00 00 00 00 83 ec 08 89 1c 24 89 c3 89 74 24 04 89 d6 f6 40 39 02 74 06 fb 90 <8d> 74 26 00 c6 05 00 f0 bb c0 01 89 f2 89 d8 8b 74 24 04 b9 10
Workaround:
Use eagerfpu=off
kernel option.
Symptom: Booting kernel-2.6.32-754.3.5.el6.emu686.v40 on Cyrix MII. During early boot, the message pauses at
... Checking if this processor honours the WP bit even in supervisor mode...Ok. Hierarchical RCU implementation. NR_IRQS:2304 nr_irqs:256 Console: colour VGA+ 80x25 console [ttyS0] enabled Fast TSC calibration using PITfollowed by kernel BUGs:
BUG: unable to handle kernel paging request at dfff0000 IP: [<c086f56a>] restore_all_kernel+0x2f/0x55 *pde = 00082067 *pte = 00000000 Oops: 0002 [#1] SMP last sysfs file: Modules linked in: Pid: 0, comm: swapper Not tainted 2.6.32-754.3.5.el6.emu686.v40.i586 #1 System Manufacturer System Name/ALADDIN5 EIP: 0060:[<c086f56a>] EFLAGS: 00010093 CPU: 0 EIP is at restore_all_kernel+0x2f/0x55 EAX: 00000000 EBX: c1d9c7c8 ECX: e1417470 EDX: c0b72da0 ESI: df65ab90 EDI: dfff0000 EBP: c1406000 ESP: c1407358 DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 Process swapper (pid: 0, ti=c1406000 task=c0a7bc60 task.ti=c0a70000) Stack: 00000000 c0a89c94 00000000 00bb8000 00000000 001234de 00000246 0000007b <0> 00bb007b 000000d8 001200e0 ffffffcf c043a782 41400060 00000246 c040b6fe <0> c09c4bd4 00000000 00000000 00000000 5cb5cd76 00000203 f476fd74 00000003 Call Trace: [<c043a782>] ? native_restore_fl+0x2/0x10 [<c040b6fe>] ? native_calibrate_tsc+0x16e/0x6d0 [<c08600e0>] ? mmio_resource_enabled.clone.0+0x2f/0x39 [<c0af03f3>] ? tsc_init+0x6f/0x157 [<c086f0cd>] ? _spin_unlock_irqrestore+0xd/0x10 [<c0ae8ae9>] ? start_kernel+0x244/0x2e9 [<c0ae8753>] ? unknown_bootoption+0x0/0x120 <IRQ> ...
Cause: It seems that PARANOID_EXIT_TO_KERNEL_MODE assembly macro isn't working properly, which regenerates stack contents onto entry stack on system_call exit. It should do nothing on platforms without PTI (Page Table Isolation) capability, but it lacks the logic to skip processing.
Workaround: kernel-2.6.32-696.23.1.el6.emu686.v36 is the latest unpatched kernel to work on Cyrix.
Resolution: Patch. Already applied to kernel-2.6.32-754.3.5.el6.emu686.v40 . I wonder why plain Pentiums and AMD K6-2s were working without this patch.
Symptom:/
$ sudo more /sys/devices/system/cpu/vulnerabilities/* :::::::::::::: /sys/devices/system/cpu/vulnerabilities/meltdown :::::::::::::: Vulnerable :::::::::::::: /sys/devices/system/cpu/vulnerabilities/spec_store_bypass :::::::::::::: Vulnerable :::::::::::::: /sys/devices/system/cpu/vulnerabilities/spectre_v1 :::::::::::::: Mitigation: Load fences :::::::::::::: /sys/devices/system/cpu/vulnerabilities/spectre_v2 :::::::::::::: Mitigation: Full retpoline
Cause:
On non-pae i586 code, Page Table Isolation doesn't work,
which is needed for Meltdown mitigation.
You cannot enable it by make menuconfig
on x86_32
on RHEL kernel code.
RPM build uses nonstandard way to forcibly set the
.config
configuration on i686-PAE.
Discussion:
If you're CPU is i586 class, it isn't an issue since i586 CPUs doesn't do speculative execution.
If you're on i686 class CPUs, you are likely out of luck;
Symptom: Enabled the ibus input method by im-chooser
(System-Preferences-Input Method).
The Input method (ibus-daemon) does not start automatically on startx
.
It does starts by manually invoking im-chooser
or
imsettings-start
(System-Preferences-Startup Applications).
When rewriting the imsettings-start command line to
sh -c 'LANG=C imsettings-start --cond-start -n > /tmp/im.log 2>&1'the /tmp/im.log shows:
(process:1909): GLib-WARNING **: goption.c:2132: ignoring no-arg, optional-arg or filename flags (8) on option of type 0 (process:1909): GLib-WARNING **: goption.c:2132: ignoring no-arg, optional-arg or filename flags (8) on option of type 0 (process:1909): GLib-WARNING **: goption.c:2132: ignoring no-arg, optional-arg or filename flags (8) on option of type 0 (imsettings-start:1909): IMSettings-WARNING **: Failed to invoke a method `GetVersion' on com.redhat.imsettings: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken. Currently a different version of imsettings is running. Running "imsettings-reload -f" may help but it will restart the Input Method
Workaround: Manually invoke imsettings-start
from terminal.
Resolution: Use a modified DBus library with default timeout of 25 seconds made longer.