Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 296971 - /dev/cpu/* is missing with linux-2.6.30.10
Summary: /dev/cpu/* is missing with linux-2.6.30.10
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-12-15 01:04 UTC by Martin Mokrejš
Modified: 2010-02-22 18:17 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Mokrejš 2009-12-15 01:04:31 UTC
I am trying to install Gentoo with 2.6.30.10 kernel on Acer laptop TravelMate 291LCi and one of the many issues is that the microcode_ctl complains about missing /dev/cpu/microcode. I tried the microcode drivers included both statically  in the kernel and also as a module. The module loads itself fine but microcode_ctl complains about the missing file.

But not only the file is missing but the whole /dev/cpu/. :( I do have CONFIG_SYSFS=y in my .config. What misc/pseudo filesystem does the driver require? Although it appears to me like a kernel dependency config bug I think the .ebuild could check and warn user as well.
Comment 1 SpanKY gentoo-dev 2009-12-19 12:49:37 UTC
missing device nodes are not a userspace problem
Comment 2 Martin Mokrejš 2009-12-19 20:45:03 UTC
I did my homework and these two are necessary. Actually, under "make menuconfig" I disabled just one entry but it looks it resulted in two items removed. So, test for both and if one is missing, issue a warning.


--- .config     2009-12-19 21:20:47.000000000 +0100
+++ .config-microcode-ok        2009-12-19 21:19:51.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux kernel version: 2.6.32
-# Sat Dec 19 21:20:47 2009
+# Fri Dec 18 22:40:27 2009
 #
 # CONFIG_64BIT is not set
 CONFIG_X86_32=y
@@ -646,6 +646,7 @@
 # Generic Driver Options
 #
 CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+# CONFIG_DEVTMPFS is not set
 CONFIG_STANDALONE=y
 # CONFIG_PREVENT_FIRMWARE_BUILD is not set
 CONFIG_FW_LOADER=y
@@ -2153,7 +2154,8 @@
 CONFIG_PROC_SYSCTL=y
 CONFIG_PROC_PAGE_MONITOR=y
 CONFIG_SYSFS=y
-# CONFIG_TMPFS is not set
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
 # CONFIG_HUGETLBFS is not set
 # CONFIG_HUGETLB_PAGE is not set
 CONFIG_CONFIGFS_FS=y


Notably, this kind of check will turn to be redundant as processing of /etc/fstab fails due to the same underlying problem as well:
shm                     /dev/shm        tmpfs           nodev,nosuid,noexec     0 0

I believe some /etc/init.d/ script mounting the filesystems should issue a warning, maybe beep and delay. What is ectully failing in that script is a mount command, and and prints the ordinary message that one should try to specify the filesystem and maybe run dmesg(1) and read the trailing lines for a hint.
The system is usable in console mode until /etc/init./xdm starts --after that there is no keyboard&mouse working due to dbus+hal having no control over the devices. So, no ctrl+alt+backspace, no SysRq+b. ;-) Luckily network and sshd work.

The most important check for TMPFS should go into baselayout I think, optionally place the check into the microcode_ctl script and conveniently prevent xdm from starting up as more people use dbus+hal+evdev and will loose local console functionality.
Comment 3 Jeroen Roovers (RETIRED) gentoo-dev 2010-02-22 18:17:43 UTC
Now go to File Systems and select support for the filesystems you use. Don't compile them as modules, otherwise your Gentoo system will not be able to mount your partitions. Also select Virtual memory and /proc file system.
-----
   Code Listing 3.3: Selecting necessary file systems
    File systems --->
      Pseudo Filesystems --->
        [*] /proc file system support
        [*] Virtual memory file system support (former shm fs)

[...][1]

That's CONFIG_TMPFS right there.

[1] http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=1&chap=7