There is one "best" setup for a given laptop model, which includes
- Extra packages from the repositories, including multiverse;
- Configuration files; and
- Non-free elements, especially Windows wireless drivers using ndiswrapper
We can use a package with package dependencies, containing the required conf files, using post-install scripts to install proprietary wireless drivers.
These packages can be created using a web form and a script, then added to a launchpad PPA.
Some of these packages would work for both i386 and AMD64, while some packages would require an architecture.
Configuring a laptop should then be as easy as installing the package. Long term, we can look at doing this automatically from the Ubiquity installer.
What packages might need to be added for laptops?
- custom kernels like in the linked Averatec example?
- 915resolution or other Xorg-related packages
- card reader drivers (using module-assistant?)
- modem drivers (again, using module-assistant?)
- irda-related stuff for remotes
What files typically get modified?
- hotkey configuration
- suspend/hibernate/other power management configuration
- keyboard layout
- touch pad? Is this completely covered by xorg.conf?
- card readers
- irda config
- other, special-function keys like multimedia or "E-mail"
What is the process for scripting Windows driver installation?
- Automatic download?
- What if the page has an EULA?
Mock-up of a webpage for user upload (after laptop has been configured) in order to create a package:
Common activities such as using ndiswrapper could be scripted with just entry for the Windows driver location, etc.
We can use the following pages as a starting point:
I guess that's pretty much the idea. I need feedback and criticism.