Commit Graph

471 Commits

Author SHA1 Message Date
Brian C. Lane
4ae5944567 Add live-iso output support to lorax-composer
This ended up requiring more intrusive changes, but it should be the
most complex of the output types. After moving the core of
livemedia-creator into a function I added more settings to compose_args,
and more defaults to start_build. It now pulls the release information
from /etc/os-release, and produces a bootable .iso
2018-06-11 16:54:58 -07:00
Brian C. Lane
67da4d6971 Add building an image, and the /compose route to start it
This adds the ability to build a tar output image. The /compose and
/compose/types API routes are now available.

To start a build POST a JSON body to /compose, like this:

{"recipe_name":"glusterfs", "compose_type":"tar", "branch":"master"}

This will return a unique build id:

{
  "build_id": "4d13abb6-aa4e-4c80-a671-0b867e6e77f6",
  "status": true
}

which will be used to keep track of the build status (routes for this
do not exist yet).
2018-06-11 16:54:58 -07:00
Brian C. Lane
99254492e3 Replace fedora-gnome-theme with gnome-themes-standard (#1537573)
gnome-themes-standard used to provide fedora-gnome-theme, but dropped it
in version 3.22.2-1

Resolves: rhbz#1537573
2018-01-23 08:34:27 -08:00
Samantha N. Bueno
730badfebc Keep hid-multitouch and i2c-hid modules. (rhbz#1526323)
Several laptops require these modules for the touchpad to work.

Resolves: rhbz#1526323
2018-01-11 08:55:17 -08:00
Brian C. Lane
2c5ba00dc0 Add grub2-tools to aarch64 (#1489707)
These can be useful during installation or rescue.

Resolves: rhbz#1489707
2017-12-05 08:33:22 -08:00
Brian C. Lane
9429d392d6 Restore all of the grub2-tools on x86_64 and i386 (#1489707)
These can be useful during installation or rescue.
(They are already present on ppc64)

Resolves: rhbz#1489707
2017-10-13 09:00:31 -07:00
Vendula Poncova
9c6575689a Add dependencies for SE/HMC (#1498834)
Resolves: rhbz#1498834
2017-10-09 08:52:44 -07:00
Brian C. Lane
7a0b4f2070 s390 doesn't need to graft product.img and updates.img into /images (#1478448)
The /images directory is already grafted into the iso, so it
doesn't need a specific line for the .img files.

Related: rhbz#1478448
2017-09-29 09:31:34 -07:00
Brian C. Lane
df35857c9b Remove -boot-info-table from s390 boot.iso creation (#1478448)
It corrupts the kernel+initrd and isn't needed when booting on s390.

Related: rhbz#1478448
2017-08-18 10:19:28 -07:00
Brian C. Lane
e5c6f9e8bc Add creation of a bootable s390 iso (#1478448)
Use mk-s390-cdboot to create a combined kernel+initrd and then build a
boot.iso using it.

Resolves: rhbz#1478448
2017-08-11 16:02:52 -07:00
Brian C. Lane
5238b9cd18 Fix systemctl command (#1478247)
When multiple units are passed to systemctl and one fails it doesn't
finish the others. Change the template command to call systemctl for
each unit individually.

This also removes the lvm2-activation-generator in runtime-cleanup.tmpl

Resolves: rhbz#1478247
2017-08-11 15:49:10 -07:00
Brian C. Lane
7aa71188b9 Include the dracut fips module in the initrd (#1341280)
This will allow anaconda to fetch kickstarts using https when installing
with fips=1

Leave vmlinuz and .vmlinuz.hmac in /boot

dracut-fips module needs the vmlinuz.hmac file in order to boot.

Resolves: rhbz#1341280
2017-08-11 15:22:50 -07:00
Brian C. Lane
1d2639cd92 Remove the iso-graft check from the aarch64.tmpl
RHEL7 doesn't support the workdir+/iso-graft feature.

Resolves: rhbz#1369014
2017-06-19 14:58:40 -07:00
Brian C. Lane
5970d38a1a Fix aarch64 efi.tmpl invocation for live images
We didn't add "efiarch32" on aarch64 because it made no sense, but we
need to because it's not an optional argument in the other template.
Just make it efiarch32=None.

Also fixes a typo in share/live/uefi.tmpl

Related: rhbz#1310775
2017-06-05 14:27:47 -07:00
Brian C. Lane
6d5dc9cfa3 Add support for aarch64 live images
This adds the aarch64 template, and the grub2-efi config file to the
live template directory.

Resolves: rhbz#1369014
(cherry picked from commit 89c7a93508b7328fc9c180164b23fae29bcd022b)
2017-05-22 10:14:34 -07:00
Brian C. Lane
c271124e84 lorax: Remove cairo-sphinx from the image
It doesn't run because we remove the libcairo-script* libraries, and
isn't needed by anything in the installation environment. Its presence
causes automated tests checking for missing libs to raise an error.

Resolves: rhbz#1355681
2017-04-11 13:55:53 -07:00
Peter Jones
460bcd8f68 Fix aarch64 efi.tmpl invocation
We didn't add "efiarch32" on aarch64 because it made no sense, but we
need to because it's not an optional argument in the other template.
Just make it efiarch32=None.

Related: rhbz#1310775

Signed-off-by: Peter Jones <pjones@redhat.com>
2017-04-07 17:31:18 -07:00
Jonathan Lebon
d7ae7a9e1f runtime-cleanup.tmpl: don't delete localedef
This is required in the future for anaconda to be able to inspect the
supported locales in Atomic Host installations.

Related: rhbz#1429576
2017-03-28 10:46:51 -07:00
Peter Jones
5d204bd21e Make 64-bit kernel on 32-bit firmware work for x86 efi machines
This enables Baytrail and similar atom CPUs that typically ship with a
32-bit firmware, but have a 64-bit capable CPU.

Resolves: rhbz#1310775

Signed-off-by: Peter Jones <pjones@redhat.com>
2017-03-21 16:54:07 -04:00
Robert Marshall
2ee0b0a2ae Keep fsfreeze in install environment (#1315468)
The latest POWER platform allows a host machine to configure guests
running in a different endian mode. Guests configured in this way may
have their bootloader configuration file corrupted after installation if
the file was not fully written to disk. The host machine would read the
journal and try to finish writing the file in the wrong endian mode.

Issuing an fsfreeze and unfreeze gives more assurance that the
configuration file is properly written before a reboot; this patch adds
fsfreeze to the installer runtime environment.

Related: rhbz#1315468
(cherry picked from commit 9543a46dac)
2017-03-02 14:49:01 -08:00
Radek Vykydal
975c46b35f Fix duplicate kernel messages in /tmp/syslog (#1382611)
Resolves: rhbz#1382611

The kernel messages will be read from journal so don't use additional imlkog
module to read them duplicitly.

Fixup of
commit b5d0b1fd79
2017-03-02 13:08:44 +01:00
Jiri Konecny
3fa988aa17 Add dependency for lvmdump -l command (#1255659)
This is required for pre installation log feature in Anaconda.

The libpcap library is dependency for nmap-ncat which is dependency for
lvmdump -l.

Related: rhbz#1255659
2017-02-22 10:06:43 -08:00
Colin Walters
766cad3ad3 templates: Enusre basic.target.wants dir exists for rngd
There's something racy here; in my Atomic Workstation CI/CD I'm seeing:

```
01:12:43   symlink /lib/systemd/system/rngd.service etc/systemd/system/basic.target.wants/rngd.service
01:12:43   FileNotFoundError: [Errno 2] No such file or directory: '/lib/systemd/system/rngd.service' -> '/var/tmp/lorax.7cgdtz1_/installtree/etc/systemd/system/basic.target.wants/rngd.service'
```

Rather than debug this right now, let's just make sure it exists,
like we do right above for `tmp.mount`.

(cherry picked from commit 4f1f118cee)
Signed-off-by: Brian C. Lane <bcl@redhat.com>

Resolves: rhbz#1377430
2017-02-17 13:57:32 -08:00
Radek Vykydal
05d271d0d9 Don't log dracut initrd regeneration messages into /tmp/syslog (#1369439)
Related: rhbz#1369439

Keep it same as in RHEL 7.2. They increase the size of the /tmp/syslog file
from ~280K to ~1M, and can be obtained from journal if needed.
2016-08-23 14:55:04 +02:00
Radek Vykydal
b5d0b1fd79 Use imjournal for rsyslogd instead of sharing /dev/log with journal (#1369439)
Resolves: rhbz#1369439

Rsyslogd used to read messages from /dev/log together with systemd-journald
which resulted in NetworkManager messages not being passed to syslog due to a
race condition during starting NetworkManager and rsyslogd service. So use
imjournal rsyslog plugin that picks messages from journald instead of using the
/dev/log socket. Same as regular RHEL 7 system.
2016-08-23 14:50:16 +02:00
Brian C. Lane
6268aaff6e livemedia-creator: Install genericdvd.prm (#1269213)
share/live/s390.tmpl needs to install the file.

Related: rhbz#1269213
2016-08-01 14:24:44 -07:00
Brian C. Lane
6a8663c270 Keep fb_sys_fops module needed for ast support (#1272658)
Ends up the drm_kms_helper module depends on fb_sys_fops so keep that as well.

Resolves: rhbz#1272658
2016-07-18 14:57:40 -07:00
David Shea
b7f74cdb01 Add back libraries needed by spice-vdagent
spice-vdagent, half of the thing that lets copy/paste work across a
spice connection, added sound support, I guess, so now we need
alsa-libs.

(cherry picked from commit 89441cd675)

Resolves: rhbz#1347737
2016-06-23 09:45:04 -04:00
Brian C. Lane
abfbd76af2 Keep all of the kernel drivers/target/ modules (#1348381)
The ib_srpt, and ib_isert modules depend on these.

Resolves: rhbz#1348381
(cherry picked from commit 8bf144843a)
2016-06-22 15:33:12 -07:00
Brian C. Lane
4bdfa33958 Keep the pci utilities for use in kickstarts (#1344926)
Resolves: rhbz#1344926
(cherry picked from commit 1a60afc4ff)
2016-06-21 16:25:58 -07:00
Brian C. Lane
73b368de28 Create an empty selinux config file (#1332147)
In order for selinux to properly label the system it needs to see that
the config file exists.

Also remove the old code trying to copy in a selinux config file, it
never worked -- the removepkg would remove it.

(cherry picked from commit d6584e1d77)

Resolves: rhbz#1332147
2016-05-03 10:57:10 -07:00
Brian C. Lane
e2285683c4 Use eurlatgr as the console font (#1265354)
Resolves: rhbz#1265354
2016-04-19 16:52:07 -07:00
Brian C. Lane
51eac47775 Remove Metacity override and theme (#1324890)
This will now be handled by Anaconda because it is also needed on the
installed system for Initial Setup.

Resolves: rhbz#1324890
2016-04-13 13:38:36 -07:00
Brian C. Lane
391f1a7b57 Copying same file shouldn't crash (#1269213)
When using the template install command copying the same file to itself
shouldn't crash. Just log the error and continue.

Also copy the s390 configuration files for use with livemedia-creator

Resolves: rhbz#1269213
(cherry picked from commit 701ab02619)
2016-04-06 17:02:41 -07:00
Colin Walters
cc374548e8 templates: Reinstate gpgme-pthread.so for ostree (#1311793)
See https://github.com/GNOME/ostree/pull/190

Without this the installer ISO generation fails.

Resolves: rhbz#1311793
(cherry picked from commit 6fcdac5c88)
2016-02-25 09:37:41 -08:00
Brian C. Lane
fec7b8d7b8 Add rng-tools and start rngd.service by default (#1258516)
This will help improve the entropy situation with non-x86 hardware. rngd
will add entropy from hardware rng sources.

Resolves: rhbz#1258516
(cherry picked from commit 690feba381)
2016-02-25 09:09:13 -08:00
Brian C. Lane
0252c5a7f1 Include grub2-efi-modules on the boot.iso (#1277227)
Some users need to be able to run grub2-install from %pre

Resolves: rhbz#1277227
2016-02-24 07:48:06 -08:00
Brian C. Lane
a17cecdee2 Keep modules needed for ast video driver support (#1272658)
The ast module depends on:
drm,drm_kms_helper,ttm,syscopyarea,i2c-core,sysfillrect,sysimgblt,i2c-algo-bit

This retains the syscopyarea, sysfillrect, and sysimgblt modules.

Resolves: rhbz#1272658
2016-02-24 07:45:45 -08:00
Radek Vykydal
420d006ab6 configure NetworkManager to loglevel=DEBUG (#1274647)
Resolves: rhbz#1274647
2016-02-19 16:47:39 -08:00
Brian C. Lane
cc715caaf9 paste is needed by os-prober (#1275105)
Resolves: rhbz#1275105
(cherry picked from commit 4312ddf1a6)
2016-02-19 16:31:06 -08:00
Brian C. Lane
b8bcb063cc Keep libthread so that gdb will work correctly (#1269055)
Resolves: rhbz#1269055
(cherry picked from commit 0b8b74edda)
2016-02-19 16:14:48 -08:00
Dan Horák
7949b7dc52 Add product.img support for s390 templates (#1272359)
(cherry picked from commit a2c2a4be28)

Resolves: rhbz#1272359
2016-02-19 13:53:18 -08:00
Brian C. Lane
94d4bc7c4a Fix metacity theme path (#1231856)
${configdir} already includes the /common/ path component.

Related: rhbz#1231856
2015-08-31 10:42:17 -07:00
David Shea
41715eb194 Run spice-vdagentd without systemd-logind integration
The system-wide spice guest agent, spice-vdagentd, normally uses
systemd-logind to determine which of the per-session spice-vdagent
instances it should be communicating with. On the non-live media, the X
session isn't registered with systemd-logind, so instead start
spice-vdagentd with -X to disable the systemd-logind integration and
serve instead to a single spice-vdagent.

(cherry picked from commit 96ecdd4e6e)

Related: rhbz#1169991
2015-08-28 09:46:18 -04:00
David Shea
d93ace517e Replace the metacity theme file.
This replaces the Adwaita metacity-theme-2.xml file with a version that
sets has_title=False and removes the title borders for maximized
windows. This allows anaconda to run as a maximized window instead of a
fullscreen window while still running without a titlebar.

Related: rhbz#1231856
2015-08-26 14:53:47 -04:00
Radek Vykydal
c124d8277d Add lldptool (#1085325)
Related: rhbz#1085325
2015-08-11 13:40:58 +02:00
Jiri Konecny
b2f6a9f129 Fix chronyd not working in the installation (#1085013)
Service chronyd not working on rhel7 now because it's missing command
flock.

Related: rhbz#1085013
2015-08-05 15:35:27 +02:00
Brian C. Lane
b51ff60875 Keep hyperv_fb driver in the image (#834791)
Hyper-V needs this.

Resolves: rhbz#834791
2015-06-29 11:01:45 -07:00
Radek Vykydal
96371548d3 network: turn slaves autoconnection on
So we can activate master connection instead of searching for and activating
slave connections.

Makes turning bond/team device on in network spoke work.

Resolves: rhbz#1172751

It also causes a device configured in dracut to be properly reactivated as a slave
if it is configured so by kickstart.

Resolves: rhbz#1134090
2015-06-26 15:00:27 +02:00
Colin Walters
50f9f48cc1 Add ability for external templates to graft content into boot.iso (#1202278)
I originally added --add-template to support doing something similar
to pungi, which injects content into the system to be used by default.
However, this causes the content to be part of the squashfs, which
means PXE installations have to download significantly more data that
they may not need (if they actually want to pull the tree data from
the network, which is not an unusual case).

What I actually need is to be able to modify *both* the runtime image
and the arch-specific content.  For the runtime, I need to change
/usr/share/anaconda/interactive-defaults.ks to point to the new
content.  (Although, potentially we could patch Anaconda itself to
auto-detect an ostree repository configured in disk image, similar to
what it does for yum repositories)

For the arch-specfic image, I want to drop my content into the ISO
root.

So this patch adds --add-arch-template and --add-arch-template-var
in order to do the latter, while preserving the --add-template
to affect the runtime image.

Further, the templates will automatically graft in a directory named
"iso-graft/" from the working directory (if it exists).

(I suggest that external templates create a subdirectory named
 "content" to avoid clashes with any future lorax work)

Thus, this will be used by the Atomic Host lorax templates to inject
content/repo, but could be used by e.g. pungi to add content/rpms as
well.

I tried to avoid code deduplication by creating a new template for the
product.img bits and this, but that broke because the parent boot.iso
code needs access to the `${imggraft}` variable.  I think a real fix
here would involve turning the product.img, content/, *and* boot.iso
into a new template.

Resolves: rhbz#1202278
2015-06-25 09:18:25 +02:00