source: calamares/trunk/fuentes/src/modules/netinstall/ @ 7538

Last change on this file since 7538 was 7538, checked in by kbut, 17 months ago

sync with github

File size: 3.9 KB
1# Netinstall module
3The netinstall module allows distribution maintainers to ship minimal ISOs with only a basic set of preinstall packages.
4At installation time, the user is presented with the choice to install groups of packages from a predefined list.
6Calamares will then invoke the correct backend to install the packages.
8## Configuration of the packages
10Every distribution can choose which groups to display and which packages should be in the groups.
12The *netinstall.conf* file should have this format:
14    ----
15    groupsUrl: <URL to YAML file>
17The URL must point to a YAML file. Here is a short example of how the YAML file should look.
19      - name: "Group name"
20        description: "Description of the group"
21        packages:
22          - lsb-release
23          - avahi
24          - grub
25      - name: "Second group name"
26      ...
29The file is composed of a list of entry, each describing one group. The keys *name*, *description* and *packages* are required.
31More keys are supported:
33      - hidden: if true, do not show the group on the page. Defaults to false.
34      - selected: if true, display the group as selected. Defaults to false.
35      - critical: if true, make the installation process fail if installing
36        any of the packages in the group fails. Otherwise, just log a warning.
37        Defaults to false.
38      - subgroups: if present this follows the same structure as the top level
39        of the YAML file, allowing there to be sub-groups of packages to an
40        arbitary depth
41      - pre-install: an optional command to run within the new system before
42        the group's packages are installed. It will run before each package in
43        the group is installed.
44      - post-install: an optional command to run within the new system after
45        the group's packages are installed. It will run after each package in
46        the group is installed.
48If you set both *hidden* and *selected* for a group, you are basically creating a "default" group of packages
49which will always be installed in the user's system.
51## Configuration of the module
53Here is the set of instructions to have the module work in your Calamares. As of July 2016, this has been successfully
54tested using the live installation of Chakra Fermi.
56First, if the module is used, we need to require a working Internet connection, otherwise the module will be
57unable to fetch the package groups and to perform the installation. Requirements for the Calamares instance
58are configured in the **welcome.conf** file (configuration for the **welcome** module). Make sure *internet*
59is listed below *required*.
61In the *settings.conf* file, decide where the **netinstall** page should be displayed. I put it just after the
62**welcome** page, but any position between that and just before **partition** should make no difference.
64If not present, add the **packages** job in the **exec** list. This is the job that calls the package manager
65to install packages. Make sure it is configured to use the correct package manager for your distribution; this
66is configured in src/modules/packages/packages.conf.
68The **exec** list in *settings.conf* should contain the following items in
69order (it's ok for other jobs to be listed inbetween them, though):
71  - unpackfs
72  - networkcfg
73  - packages
75**unpackfs** creates the chroot where the installation is performed, and unpacks the root image with the filesystem
76structure; **networkcfg** set ups a working network in the chroot; and finally **packages** can install packages
77in the chroot.
79## Common issues
81If launching the package manager command returns you negative exit statuses and nothing is actually invoked, this
82is likely an error in the setup of the chroot; check that the parameter **rootMountPoint** is set to the correct
83value in the Calamares configuration.
85If the command is run, but exits with error, check that the network is working in the chroot. Make sure /etc/resolv.conf
86exists and that it's not empty.
Note: See TracBrowser for help on using the repository browser.