On 30/04/16 00:28, Michael Mol wrote:
On Friday, April 29, 2016 10:56:28 PM Hans wrote:
On 28/04/16 22:22, Hans wrote:
On 27/04/16 21:33, J. Roeleveld wrote:
On April 27, 2016 12:59:18 PM GMT+02:00, Hans <li...@c5ace.com> wrote:
Tried to upgrade the kernels of my desktop and notebook fron kernel
4.1.12 upgrade to 4.4.6. Both systems freeze during booting with 4.4.6.

No dmsg, No messages logs. Previous kernel upgrades always worked
smooth
as silk.

Using: OpenRC, eudev, Xfce,

Desktop configration:
Genkernel with /etc/genkernel.conf additional options:
MENUCONFIG="yes"
MAKEOPTS="-j5"
MDADM="yes"
MDADM_CONFIG="/etc/mdadm.conf"
DISKLABEL="yes"
KNAME="genkernel-G_ROOT"

Boot: Grub-static
grub.conf:
title PROXY-64 domdadm LABEL=G_ROOT Gentoo Linux 4.4.6-gentoo
root (hd0,0)
kernel /boot/kernel-genkernel-G_ROOT-x86_64-4.4.6-gentoo net.ifnames=0
root=/dev/ram0 domdadm real_root=LABEL=G_ROOT
initrd /boot/initramfs-genkernel-G_ROOT-x86_64-4.4.6-gentoo

No error reported in genkernel.log
------------------

Notebook configration:
Genkernel with /etc/genkernel.conf additional options:
MENUCONFIG="yes"
MAKEOPTS="-j5"
DISKLABEL="yes"
KNAME="genkernel-HP_ROOT"

Boot: Grub-static
grub.conf:
title PROXY-64 domdadm LABEL=HP_ROOT Gentoo Linux 4.4.6-gentoo
root (hd0,0)
kernel /boot/kernel-genkernel-HP_ROOT-x86_64-4.4.6-gentoo net.ifnames=0

root=/dev/ram0 real_root=LABEL=HP_ROOT
initrd /boot/initramfs-genkernel-HP_ROOT-x86_64-4.4.6-gentoo

No error reported in genkernel.log
-------------------

Why are you specifying root=/dev/ram0?

Modern kernels use initramfs and you normally specify the real root
device there.

"root=/dev/ram0" is a leftover from the original installation from a
long time ago. Removing it makes no difference.

Am at the moment making a new test installation in VirtualBox. So far
its working with kernel 4.4.6. If Xfce works tomorrow, it's either a
configuration or driver problem. I will then do a re-install of Gentoo
on my desktop and the notebook using a external drive.

Kernel 4.4.6 as a bug. x11-drivers/xf86-video-virtualbox does not compile.
Reason:
/usr/src/linux-4.4.6-gentoo/include/linux/string.h
'char *strreplace(char *s, char old, char new);' causes compile failure.
"new" is a C++ keyword.
Changing tp 'char *strreplace(char *s, char oldstr, char newstr);' fixes
the problem.

That's not a bug in the kernel per se, that's a bug in using that kernel
header (written in C) in a compiler expecting C++ code. Which would make it a
bug in xf86-video-virtualbox for not linking against a C-compiled object file.

Granted, it'd be a heck of a lot more convenient if the kernel header files
didn't use C++ keywords...but it *is* fundamentally a problem with compiling a
source file using the wrong language. Like trying to read something in
Portugese, except it was written in Spanish. It might work some of the time,
but it'll catch you out eventually.


The Virtualbox internal runtime compiler, assembler and gcc compiler to build executables such as app-emulation/virtualbox-guest-additions, etc. use some of the kernel sources and headers.

Kernel 4.1.12 string.h and earlier did not have this silly problem.



Reply via email to