Slackware This Forum is for the discussion of Slackware Linux.
|
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
|
08-15-2014, 11:28 AM
|
#1
|
Member
Registered: Jan 2014
Posts: 186
Rep:
|
Slackware's 14.1 kernel config broken
Actually, it is not so much Slackware's .config being broken as it is the 3.10.17 kernel configuration commands being broken.
With a stock 14.1 generic kernel running, and config-generic-3.10.17.x64 as .config, calling 'make oldconfig' simply makes .config and .config.old a copy.
However, if you run 'make localyesconfig', (with the same setup) it displays the following new kernel configuration options:
Code:
User namespace (USER_NS) [N/y/?] (NEW)
Require conversions between uid/gids and their internal representation (UIDGID_STRICT_TYPE_CHECKS) [N/y/?] (NEW)
Semtech SX150x I2C GPIO expander (GPIO_SX150X) [N/y/?] (NEW)
BT8XX GPIO abuser (GPIO_BT8XX) [N/m/y/?] (NEW)
AMS AS3711 (MFD_AS3711) [N/y/?] (NEW)
Analog Devices ADP5520/01 MFD PMIC Core Support (PMIC_ADP5520) [N/y/?] (NEW)
AnalogicTech AAT2870 (MFD_AAT2870_CORE) [N/y/?] (NEW)
Dialog Semiconductor DA9030/DA9034 PMIC Support (PMIC_DA903X) [N/y/?] (NEW)
Dialog Semiconductor DA9052/53 PMIC variants with I2C (MFD_DA9052_I2C) [N/y/?] (NEW)
Dialog Semiconductor DA9055 PMIC Support (MFD_DA9055) [N/y/?] (NEW)
HTC I2C PLD chip support (HTC_I2CPLD) [N/y/?] (NEW)
Marvell 88PM800 (MFD_88PM800) [N/m/y/?] (NEW)
Marvell 88PM805 (MFD_88PM805) [N/m/y/?] (NEW)
Marvell 88PM8606/88PM8607 (MFD_88PM860X) [N/y/?] (NEW)
Maxim Semiconductor MAX77686 PMIC Support (MFD_MAX77686) [N/y/?] (NEW)
Maxim Semiconductor MAX77693 PMIC Support (MFD_MAX77693) [N/y/?] (NEW)
Maxim Semiconductor MAX8907 PMIC Support (MFD_MAX8907) [N/m/y/?] (NEW)
Maxim Semiconductor MAX8925 PMIC Support (MFD_MAX8925) [N/y/?] (NEW)
Maxim Semiconductor MAX8997/8966 PMIC Support (MFD_MAX8997) [N/y/?] (NEW)
Maxim Semiconductor MAX8998/National LP3974 PMIC Support (MFD_MAX8998) [N/y/?] (NEW)
Ricoh RC5T583 Power Management system device (MFD_RC5T583) [N/y/?] (NEW)
SAMSUNG Electronics PMIC Series Support (MFD_SEC_CORE) [N/y/?] (NEW)
SMSC ECE1099 series chips (MFD_SMSC) [N/y/?] (NEW)
STMicroelectronics STMPE (MFD_STMPE) [N/y/?] (NEW)
TI LP8788 Power Management Unit Driver (MFD_LP8788) [N/y/?] (NEW)
TI Palmas series chips (MFD_PALMAS) [N/y/?] (NEW)
TI TPS65090 Power Management chips (MFD_TPS65090) [N/y/?] (NEW)
TI TPS6586x Power Management chips (MFD_TPS6586X) [N/y/?] (NEW)
TI TPS65910 Power Management chip (MFD_TPS65910) [N/y/?] (NEW)
TI TPS65912 Power Management chip with I2C (MFD_TPS65912_I2C) [N/y/?] (NEW)
TI TPS80031/TPS80032 Power Management chips (MFD_TPS80031) [N/y/?] (NEW)
TI TWL4030/TWL5030/TWL6030/TPS659x0 Support (TWL4030_CORE) [N/y/?] (NEW)
TI TWL6040 audio codec (TWL6040_CORE) [N/y/?] (NEW)
Toshiba TC35892 and variants (MFD_TC3589X) [N/y/?] (NEW)
Wolfson Microelectronics WM8400 (MFD_WM8400) [N/y/?] (NEW)
Wolfson Microelectronics WM831x/2x PMICs with I2C (MFD_WM831X_I2C) [N/y/?] (NEW)
Wolfson Microelectronics WM8350 with I2C (MFD_WM8350_I2C) [N/y/?] (NEW)
Wolfson Microelectronics WM8994 (MFD_WM8994) [N/y/?] (NEW)
TI/National Semiconductor LP8720/LP8725 voltage regulators (REGULATOR_LP872X) [N/y/?] (NEW)
Battery level reporting for HID devices (HID_BATTERY_STRENGTH) [N/y/?] (NEW)
Use ext4 for ext2/ext3 file systems (EXT4_USE_FOR_EXT23) [Y/n/?] (NEW)
EVM support (EVM) [N/y/?] (NEW)
All of this new hardware support and new kernel functionality is missing from 14.1, I'm assuming because Pat ran oldconfig and it did not catch any of it.
make oldconfig uses:
/usr/src/linux-3.10.17/scripts/kconfig/conf.c
make localyesconfig uses:
/usr/src/linux-3.10.17/scripts/kconfig/streamline_config.pl
Looking at the latest kernel source, there has been significant work on linux/scripts/kconfig/* in the area of (NEW) configuration options detection.
I do not know if this problem has been fixed, or whether it is effecting the kernel used in 'current'.
I do not have time to pursue this further at the moment. I just wanted to make Pat, The Team, and fellow Slacker's aware of the issue.
Last edited by Xsane; 08-16-2014 at 10:27 AM.
Reason: Changed 'symbols' to 'configuration options' for Slugman.
|
|
|
08-15-2014, 11:56 AM
|
#2
|
Member
Registered: Jun 2010
Location: AZ
Distribution: Slackware
Posts: 106
Rep:
|
I thought the following was true ( as mentioned in this tutorial):
localmodconfig - Update current config disabling modules not loaded
localyesconfig - Update current config converting local mods to core
I am no kernel developer (although I am an aspiring one), however I was under the impression symbol detection was an arena mainly geared towards rootkit detection, and to help deter such exploits that modify the kernel symbol table.
Are you sure these new options aren't simply the modules required for your hardware, which have now been conveniently added to your config? Generic is a slimmed compared to huge. If you can look at the list and asert that yes, these are absolutely not in my system, then maybe I can see your case. You can verify this by simply running:
lspci -vvv
and inspecting the output (via pipe to less, grep, awk, spell of your choice).
Quote:
In order to replace kernel syscalls with their own code, LKM rootkits modify the table which holds the addresses of these syscalls, to point to the module's replacement function instead of the original kernel function. Now, whenever a kernel is compiled, a map of kernel symbols and their respective addresses in the kernel is generated. This map is called System.map (sometimes with the kernel version appended), and usually install in the same location as the kernel (e.g. /boot). Thus, a straightforward way to detect hijacked kernel syscalls is to compare this map against the actual addresses of all syscalls, which will show all syscalls whose address is different from the original address listed in the map.
|
- http://www.la-samhna.de/library/rootkits/detect.html
Last edited by slugman; 08-15-2014 at 12:01 PM.
|
|
|
08-15-2014, 02:11 PM
|
#3
|
LQ Addict
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,175
Rep:
|
What is broken? Should Slackware ship built-in drivers for every hardware on earth? To get that, just run "make allyesconfig"
But maybe I'm missing something?
|
|
|
08-16-2014, 10:39 AM
|
#4
|
Member
Registered: Jan 2014
Posts: 186
Original Poster
Rep:
|
Quote:
Originally Posted by slugman
I thought the following was true ( as mentioned in this tutorial):
localmodconfig - Update current config disabling modules not loaded
localyesconfig - Update current config converting local mods to core
|
That is true. I don't understand the relevance to this conversation.
Quote:
Originally Posted by slugman
I was under the impression symbol detection was an arena mainly geared towards rootkit detection ...
|
The word symbol has different meanings depending on context. You are confusing function symbols with configuration symbols. I suppose it may be more technically correct to call them make symbols, but the configuration tools simply call them symbols. I edited the first post, hopefully it will be less confusing now.
Quote:
Originally Posted by slugman
If you can look at the list and asert that yes, these are absolutely not in my system, then maybe I can see your case.
|
Did you look at the list? If you can find a commodity machine that uses all of those IC's I'll eat my hat. This is not relevant to the issue at any rate.
|
|
|
08-16-2014, 11:03 AM
|
#5
|
Member
Registered: Jan 2014
Posts: 186
Original Poster
Rep:
|
Quote:
Originally Posted by Didier Spaier
What is broken?
|
I thought that would be self-evident, but I was wrong.
So, when you fetch new kernel source code, as is implied, it will contain new stuff. Sometimes that new stuff includes new configuration options. When a builder runs a configuration tool it is supposed to show them these new options so they can make a decision about how to use them,. All of 3.10.17's configuration tools that use conf.c are not doing this. localyesconfig is a perl script and still works properly. I used its output merely as an example of what should be seen when oldconfig is executed.
Quote:
Originally Posted by Didier Spaier
Should Slackware ship built-in drivers for every hardware on earth?
|
The new drivers should at least be available as modules.
But other new functionality is also missing that someone may find useful and should at least show up in .conf, even if it is unset:
Code:
User namespace (USER_NS) [N/y/?] (NEW)
Require conversions between uid/gids and their internal representation (UIDGID_STRICT_TYPE_CHECKS) [N/y/?] (NEW)
Battery level reporting for HID devices (HID_BATTERY_STRENGTH) [N/y/?] (NEW)
Use ext4 for ext2/ext3 file systems (EXT4_USE_FOR_EXT23) [Y/n/?] (NEW)
EVM support (EVM) [N/y/?] (NEW)
Quote:
Originally Posted by Didier Spaier
To get that, just run "make allyesconfig"
|
Actually, that uses conf.c and will likely fail to include the new configurations as well.
|
|
|
08-16-2014, 11:49 AM
|
#6
|
LQ 5k Club
Registered: Oct 2003
Location: Melbourne
Distribution: Slackware64-15.0
Posts: 6,449
|
Comments:
1. The 3.10.17 kernel was shipped in Slackware 14.1 released 4 November 2013. This is done and dusted.
2. Many of the new kernel configurations in post #1 seem to require that CONFIG_I2C is set to yes rather than the Slackware default of module. These are kernel module programming issues.
3. In the case of HID_BATTERY_STRENGTH in post #5, a suitable kernel patch has only recently been proposed. http://www.spinics.net/lists/linux-input/msg31982.html
|
|
|
08-16-2014, 12:09 PM
|
#7
|
Member
Registered: Jun 2010
Location: AZ
Distribution: Slackware
Posts: 106
Rep:
|
Quote:
So, when you fetch new kernel source code, as is implied, it will contain new stuff. Sometimes that new stuff includes new configuration options. When a builder runs a configuration tool it is supposed to show them these new options so they can make a decision about how to use them,. All of 3.10.17's configuration tools that use conf.c are not doing this. localyesconfig is a perl script and still works properly. I used its output merely as an example of what should be seen when oldconfig is executed.
|
Ohh.. ok I get it now. Thank you for the clarification.
|
|
|
08-17-2014, 02:14 AM
|
#8
|
LQ Guru
Registered: Aug 2004
Location: Pisa, Italy
Distribution: Slackware
Posts: 7,271
|
Quote:
Originally Posted by Xsane
Code:
User namespace (USER_NS) [N/y/?] (NEW)
Require conversions between uid/gids and their internal representation (UIDGID_STRICT_TYPE_CHECKS) [N/y/?] (NEW)
|
IMHO, these two are better off on 3.10.17.
|
|
|
08-17-2014, 05:14 AM
|
#9
|
LQ Veteran
Registered: May 2008
Posts: 7,010
|
Well, from a quick test using make menuconfig against 3.10.53 sources(only ones I have to hand), it looks like you can't have USER_NS and CONFIG_XFS_FS at the same time. My guess would be that oldconfig is not showing the choice to enable USER_NS for the same reason (i.e. XFS is already enabled in the old config).
Whether this is a real incompatibility or an error in the config inter-dependencies I guess you'll have to take up with the kernel devs. It's way over my head.
P.S. though localyesconfig will present the USER_NS option, selecting it will result in a config file without XFS support, just as with menuconfig.
Last edited by GazL; 08-17-2014 at 05:22 AM.
|
|
|
08-17-2014, 05:31 AM
|
#10
|
Senior Member
Registered: Sep 2010
Location: Lawrence, New Zealand
Distribution: Slackware
Posts: 1,077
|
Just downloaded latest stable from kernel.org (3.16.1)
Untar'd the source to /usr/src
Copied currently existing .config to new sources
Did a 'make oldconfig'
Got the usual options to configure new features.
Is this different from what you are doing? Or am I misunderstanding the issue?
Last edited by notKlaatu; 08-17-2014 at 06:00 AM.
Reason: clearer about the steps i took
|
|
|
All times are GMT -5. The time now is 12:17 PM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|