[meta-intel] [Patch v2 00/11] machinesetuptool commits
nitin.a.kamble at intel.com
nitin.a.kamble at intel.com
Wed Oct 8 05:32:55 PDT 2014
From: Nitin A Kamble <nitin.a.kamble at intel.com>
As this is totally new feature I am including some explanation as a simple
design document for ease of understanding the implementation.
Machine Setup Tool
Q. Why is this feature implemented?
A. Many of the BSPs from meta-intel are very similar differing only in the
configuration of things such as serial port, X configuration, network,
audio, kernel parameters etc. Now with the common kernel it is possible
to support more platforms or boards with a single BSP. The only thing
missing was the text configuration customization for a particular hardware
platform. The machine setup tool fills this gap.
Q. What the machine setup tool can do?
A. It provides following capabilities:
* Provide previously defined machine configurations.
* Ability to select a target machine at runtime at the time of boot.
* Ability to reconfigure a previously configured machine for another supported platform.
* Ability to select a default machine when no user input is received at the boot time.
* These configurations can be specified for machines
* ALSA audio configuration file
* ALSA Mixer state file
* Network configuration file
* xorg configuration file
* Machine formfactor file
* Kernel boot parameters
* A list of blacklisted kernel modules
* A list of kernel modules to autoload
* Serial port configuration for syslinux boot loader
* Serial port configuration for grub boot loader
* Serial port configuration for setting up serial console
* Any scripts to run at setup time
* Any scripts to run on every boot
Q. What the machine setup tool can not do?
A. Anything, which can not be easily manipulated on the target image is
outside of the scope of the machine setup tool. So things like providing
a custom kernel, or providing any special binaries is outside the scope
of the machine setup tool.
Q. Is the machine setup tool arch specific?
A. Even though, the tool is mainly designed for the BSPs from the meta-intel
layer, there is no architecture specific logic in the tool. It can be
used on other architecture hardware similarly.
Q. What are the possible future extensions to the tool?
A. * The tool can be extended to detect the target hardware automatically.
* It can also be extended to support more machine configuration
customizations.
* It can be extended to take the target machine from the kernel boot parameter.
* It can be extended to handle different versions of configuration files, to
deal with differences in configurations in the future.
Q. What is the history of the machine setup tool?
A. The tool has taken few ideas from the zaurusd project. And to avoid any
legacy it has started the code from scratch.
Q. What kind of design decision are made while developing the tool?
A. The following points are considered in the design of the code.
* The processing logic and the configuration can be neatly separated in the
different Yocto Project layers. This way all the BSP specific
configuration can go in the individual BSP layers, and the common logic
can be placed in the common layer.
* If a target machine is not previously configured, then at the boot time
a list of supported machines is displayed along with a prompt for the
selection of target machine.
* A default target machine can be specified, which becomes the selected
machine when no user input is received at the boot time prompt. This
helps in situations where serial ports may not be accessible at the 1st
boot.
* To get the ability of reconfiguration of image, complete machine
configuration need to be specified for each supported machine It can not
rely on any kind of default configuration.
Q. What is missing in this pull request?
A. The documentation changes for README is missing at this point. These will
follow, once the structure and format of README for such kind of features is
finalized with the microcode commits.
Q. What kind of testing these commits has received?
A. These commits are tested on the individual BSPs mentioned in the commits.
The feature is working as expected on all the mentioned BSPs. It does not
lack any missing functionality for the meta-intel BSPs.
Changes from v1 pull request:
* Removed -noemgd suffixes from the machine names.
* Added ability to specify and use a default target machine on timeout on the user prompt.
* Complete validation of commits on read hardware.
* Some typo and code cleanup.
Thanks,
Nitin
The following changes since commit 8e5fe6c0f5cf710e1a46c5f203e52f069874768a:
meta-sugarbay: Add wifi machine feature to sugarbay.conf (2014-10-01 22:55:56 -0500)
are available in the git repository at:
git://git.yoctoproject.org/meta-intel-contrib nitin/machinesetuptool
http://git.yoctoproject.org/cgit.cgi/meta-intel-contrib/log/?h=nitin/machinesetuptool
Nitin A Kamble (11):
machinesetuptool: a new recipe for setup of a machine
machinesetuptool: add nuc machine config to the intel-corei7-64 BSP
machinesetuptool: add jasperforest machine config to the
intel-corei7-64 BSP
machinesetuptool: add sugarbay machine config to the intel-corei7-64
BSP
machinesetuptool: add emenlow machine config to the intel-core2-32 BSP
machinesetuptool: add crownbay machine config to the intel-core2-32
BSP
machinesetuptool: add fri2 machine config to the intel-core2-32 BSP
intel-corei7-64 BSP: Pull in the machinesetuptool packages
intel-core2-32 BSP: Pull in the machinesetuptool packages
intel-core2-32.conf: remove config handled by machine-setup-tool
intel-corei7-64.conf: remove config handled by machine-setup-tool
.../intel-core2-32/crownbay-alsa.conf | 1 +
.../intel-core2-32/crownbay-alsa.state | 684 +++++++++++++++++++++
.../intel-core2-32/crownbay-formfactor.machconfig | 3 +
.../intel-core2-32/crownbay-network.interfaces | 9 +
.../machinesetuptool/intel-core2-32/crownbay.vars | 14 +
.../intel-core2-32/emenlow-alsa.conf | 1 +
.../intel-core2-32/emenlow-alsa.state | 143 +++++
.../intel-core2-32/emenlow-formfactor.machconfig | 3 +
.../intel-core2-32/emenlow-network.interfaces | 9 +
.../intel-core2-32/emenlow-xorg.conf | 22 +
.../machinesetuptool/intel-core2-32/emenlow.vars | 14 +
.../machinesetuptool/intel-core2-32/fri2-alsa.conf | 1 +
.../intel-core2-32/fri2-alsa.state | 411 +++++++++++++
.../intel-core2-32/fri2-formfactor.machconfig | 3 +
.../intel-core2-32/fri2-network.interfaces | 9 +
.../machinesetuptool/intel-core2-32/fri2.vars | 17 +
.../intel-corei7-64/jasperforest-alsa.conf | 1 +
.../jasperforest-formfactor.machconfig | 3 +
.../jasperforest-network.interfaces | 9 +
.../intel-corei7-64/jasperforest.vars | 14 +
.../machinesetuptool/intel-corei7-64/nuc-alsa.conf | 24 +
.../intel-corei7-64/nuc-alsa.state | 309 ++++++++++
.../nuc-bootscript-hdmi_port_audio.sh | 19 +
.../intel-corei7-64/nuc-formfactor.machconfig | 3 +
.../intel-corei7-64/nuc-network.interfaces | 20 +
.../machinesetuptool/intel-corei7-64/nuc.vars | 14 +
.../intel-corei7-64/sugarbay-alsa.conf | 1 +
.../intel-corei7-64/sugarbay-alsa.state | 349 +++++++++++
.../intel-corei7-64/sugarbay-formfactor.machconfig | 3 +
.../intel-corei7-64/sugarbay-network.interfaces | 16 +
.../machinesetuptool/intel-corei7-64/sugarbay.vars | 14 +
.../machinesetuptool/machinesetuptool_git.bb | 48 ++
.../machinesetuptool/machinesetuptool_git.bbappend | 72 +++
conf/machine/intel-core2-32.conf | 5 +-
conf/machine/intel-corei7-64.conf | 5 +-
35 files changed, 2265 insertions(+), 8 deletions(-)
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool/intel-core2-32/crownbay-alsa.conf
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool/intel-core2-32/crownbay-alsa.state
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool/intel-core2-32/crownbay-formfactor.machconfig
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool/intel-core2-32/crownbay-network.interfaces
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool/intel-core2-32/crownbay.vars
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool/intel-core2-32/emenlow-alsa.conf
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool/intel-core2-32/emenlow-alsa.state
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool/intel-core2-32/emenlow-formfactor.machconfig
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool/intel-core2-32/emenlow-network.interfaces
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool/intel-core2-32/emenlow-xorg.conf
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool/intel-core2-32/emenlow.vars
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool/intel-core2-32/fri2-alsa.conf
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool/intel-core2-32/fri2-alsa.state
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool/intel-core2-32/fri2-formfactor.machconfig
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool/intel-core2-32/fri2-network.interfaces
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool/intel-core2-32/fri2.vars
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool/intel-corei7-64/jasperforest-alsa.conf
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool/intel-corei7-64/jasperforest-formfactor.machconfig
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool/intel-corei7-64/jasperforest-network.interfaces
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool/intel-corei7-64/jasperforest.vars
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool/intel-corei7-64/nuc-alsa.conf
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool/intel-corei7-64/nuc-alsa.state
create mode 100755 common/recipes-bsp/machinesetuptool/machinesetuptool/intel-corei7-64/nuc-bootscript-hdmi_port_audio.sh
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool/intel-corei7-64/nuc-formfactor.machconfig
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool/intel-corei7-64/nuc-network.interfaces
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool/intel-corei7-64/nuc.vars
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool/intel-corei7-64/sugarbay-alsa.conf
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool/intel-corei7-64/sugarbay-alsa.state
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool/intel-corei7-64/sugarbay-formfactor.machconfig
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool/intel-corei7-64/sugarbay-network.interfaces
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool/intel-corei7-64/sugarbay.vars
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool_git.bb
create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool_git.bbappend
--
1.8.1.4
More information about the meta-intel
mailing list