-
-
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 thinstation/build/machine
containing files like module.list
or vbe_modes.list
.
The build.conf
file directive machine
complements module
, package
, pkg
, firmware
and param
directives. Example:
machine myPC
It’s supposed to satisfy kernel module, X.org driver and other hardware dependencies for a particular hardware platform in one go. You can have several machines defined in build.conf
to create a boot image that covers several hardware profiles.
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, 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.
You probably will want to edit build.conf
and remove package extensions
afterwards. Remember to omit --allmodules
on your next build.