-
-
Notifications
You must be signed in to change notification settings - Fork 188
Machine profiles
Running Linux 3.x and X.org 7.x in 64 MB diskless is not trivial. Thinstation is a minimalist Linux distribution, so it takes more interaction from you than a typical fat “include-everything-and-the-kitchen-sink” type of distribution (like e.g. RedHat). In order to keep the boot image small, you have to define which hardware will be supported by it. Thinstation uses so called machine profiles to represent hardware configurations. There are a couple of predefined machine profiles, but you probably have to create your own.
Technically spoken, a machine profile is a subdirectory of build/machine
containing the files module.list
, firmware.list
, vbe_modes.list
or package.list
.
The build.conf
file directive machine
complements firmware
, module
, package
and param
directives. Example:
machine myPC
It’s supposed to satisfy firmware, kernel module and X.org driver dependencies for a particular hardware platform in one go. You can have several machines defined in build.conf
to create a boot image that runs on several types of hardware.
Short summary: Create a “fat” boot image, boot it and note which kernel modules were loaded.
- Uncomment or add
package extensions
inbuild.conf
, as well as any potential X.org targets (package xorg7-*
) that may be used by a platform. - Build using the command
./build --allmodules
. This generates a rather big image with everything driverwise. - Boot the client with this image and run
/bin/hwlister.sh
. This will generate one, two or three files:-
module.list
(always), -
vbe_modes.list
(probably) and -
firmware.list
(maybe).
-
- If you are running a TFTP server with writable root, they’ll automatically get uploaded. Otherwise they’ll be in
/
on the Thinstation client and you’ll have to transfer them manually by a USB stick or network. - On your build computer, go to the
thinstation/build/machine
directory, create a new subdirectory (e.g.myPC
) and put the above files there. - If you want to include a certain X.org driver in your machine profile, you have to create a
package.list
file containing the appropriatepackage
line.
You probably will want to edit build.conf
and remove package extensions
afterwards. Remember to omit --allmodules
on your next build.