lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <201311031743.26688.andreas.thalhammer@linux.com>
Date:	Sun, 3 Nov 2013 17:43:26 +0100
From:	andreas.thalhammer@...ux.com
To:	Aldo Iljazi <mail@...o.io>
Cc:	linux-kernel@...r.kernel.org
Subject: Re: A Desktop Linux idea: modulized open hardware database for the linux kernel config

Your message from Sunday, 03rd November 2013:
>  andreas.thalhammer@...ux.com wrote:
> > Hello LKML!
> > 
> > I am a Linux Desktop user since around 2001. Doing the math, that’s more
> > than a decade!
> > 
> > Having watched http://www.youtube.com/watch?v=jjRAKuis7T8 (LinuxCon 2013,
> > Dirk Hohndel and Linus Torvalds on stage) I decided to share an idea I
> > had to make kernel building easier for computer end-users:
> > 
> > How aboud a free and open hardware database for configuring Linux?
> > 
> > My idea would make a very simple to get kernel configuration for a
> > modulized hardware and feature base. It should be some kind of open for
> > everybody database in which everyone may participate.
> > 
> > (This would off course only be of use for power users or developers.
> > Regular users will use stock kernels from their Linux distribution
> > anyway. BTW, I use Gentoo Linux.)
> > 
> > An example:
> > My computer is a PC. The motherboard is an MSI 890FXA-GD70, it has an AMD
> > Phenom II X6 1090T in the CPU slot. So this setup would be the basic
> > entry to look for, which will provide a kernel configurtion for this
> > specific hardware. For example, the module for the Fintek F71889ED Super
> > IO Sensor has to be selected (CONFIG_SENSORS_F71882FG) as well as
> > CONFIG_SENSORS_K10TEMP for the CPU.
> > 
> > I  know lm_sensors has a tools for that already: sensors-detect. But not
> > everything is covered there, is there?
> > 
> > Then I would also combine this config with a config module for my
> > graphics card. It is a Radeon HD 6770, so readonkms has to be selected
> > properly. Some kernel parameters may also be wise, such as
> > video=radeondrmfb, radeon.aspm=1 and radeon.dpm=1.
> > 
> > It should also be possible to combine this config with a config module
> > for my monitor. This will show that the resolution of this monitor is
> > 1680x1050. Unfortunately this resultution is not part of the VESA BIOS,
> > so the kernel command-line parameter video=radeondrmfb will be expanded
> > by 1680x1050-32@60.
> > 
> > Some basic profiles may define how the PC will be used: i.e. as a file
> > server, as a Desktop conputer or as a gaming computer. A "cutting edge
> > with all the new features" profile may select everything that is usable
> > for this computer.
> > 
> > Every ISA/EISA/VLB/PCI/AGP/PCIe expansion card can and will add some
> > config settings to the big kernel configuration. I.e. if you had a
> > DVB-TV card or whatever.
> > 
> > A basic "All USB-end-user-devices" config module for all possible USB
> > devices may select everything except those self-made stuff, like a
> > thermal probe. On the other hand, specific stuff should be allowed too.
> > I.e. the Digitus Cardreader All-in-one, USB 3.0 (DA-70330) – is a
> > specific reader module required (CONFIG_USB_STORAGE_*)?
> > 
> > In the end there would be a hardware database, maybe combined with a
> > wiki, that includes developer information like hardware addresses and
> > such as well as user reports and kernel configuration modules for that
> > hardware.
> > 
> > Jumping to a newer kernel will automatically set the new/changed
> > CONFIG_SOMETHING for the selected profile.
> > 
> > This would also be handy for Laptops and very narrow configured hardware
> > such as Apple computers (my Power Mac G4 for example).
> > 
> > A tool for this could go into the kernel sources. It would detect the
> > hardware present in the system using everything that is available (e.g.
> > lspci) and show a configuration menu (make config-alike) that will
> > enable the user to select or deselect specific hardware config modules
> > and profiles (i.e. "file server").
> > 
> > Compiling a new kernel will then not result in searching the whole kernel
> > config for new or changed options like it is now (just recently I had to
> > change video=radeonfb to video=radeonkmsfb in my GRUB config).
> > 
> > For kernel developers this could also be a very useful tool, because
> > users can point to the specific hardware that makes troubles on Linux.
> > And, like it is in a community, developers may be able to reach users
> > willing to participate in testing new patches for fixing these troubles…
> > 
> > This is just an idea. Now it’s out there – do with it whatever you like.
> > The idea is hereby released under the GPL-2 :-)
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-kernel"
> > in the body of a message to majordomo@...r.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > Please read the FAQ at  http://www.tux.org/lkml/
> 
> So, you are saying that this should be available for power users only,
> since it requires kernel compilation.
> 
> I have a few points to make.
> 
> 1. Wouldn't power users know how to configure the kernel anyway for
> their system?
> 
> 2. What about future hardware upgrades (on both a laptop and desktop
> machines).
> 
> 3. What's wrong with stock distribution kernels?
> 
> 4. Wouldn't this take a great amount of manpower for I guess minimum
> benefits?

@1: You’re propably right.
I’m just sometimes surprised how much manual work is required to update the 
kernel due to changed names.

It is also very hard to find a configuration for a new system from the start. 
Once you’ve got it running, it’s quite okay.

Such a database would make it easier for newbies or for users who are 
interested in compiling their own kernel, but were not sure which 
configuration to choose.

@2: Since it would be modulized, you’d simply add your new upgrade to your 
specific system config. Like I mentioned with the radeon card in my example. 
Or a new monitor.

@3: They are bloated because they need to run on every possible system. 
Sometimes some specific parts are missing, because it’s too specific (like 
support for experimental chipsets, or staging drivers).
Other than that: nothing’s wrong with distribution kernels.

@4: Yes, definitely. That’s why I think it would be best in a community based 
way. Like authors for Wikipedia – users would provide profiles that work for 
them. Discussions will make them come closer together and fix issues that 
others have.


Now, the kernel needs a basic configuration, like make x86_64_defconfig. Then 
you need to tell it which features you want. Then which drivers you need.

You can, off course, select all. But isn’t this a waste of time and resources?


But hey, it was just an idea. A stupid one maybe. So thanks for answering 
anyway.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ