summaryrefslogtreecommitdiffstats
path: root/examples/minimal/config
diff options
context:
space:
mode:
authorMartin Whitaker <mageia@martin-whitaker.me.uk>2018-03-11 11:17:40 +0000
committerMartin Whitaker <mageia@martin-whitaker.me.uk>2018-03-11 11:17:40 +0000
commit54851da77809298d94bdb6d75f27541c4bcabd77 (patch)
treef62d936b04e26eb4380df5f4a50b8f4019ab441a /examples/minimal/config
parent4756e520df9ba8137f25f4af79caedcb96a0fac9 (diff)
downloaddrakiso-54851da77809298d94bdb6d75f27541c4bcabd77.tar
drakiso-54851da77809298d94bdb6d75f27541c4bcabd77.tar.gz
drakiso-54851da77809298d94bdb6d75f27541c4bcabd77.tar.bz2
drakiso-54851da77809298d94bdb6d75f27541c4bcabd77.tar.xz
drakiso-54851da77809298d94bdb6d75f27541c4bcabd77.zip
Add minimal Live ISO example.
Diffstat (limited to 'examples/minimal/config')
-rw-r--r--examples/minimal/config/build.cfg190
-rw-r--r--examples/minimal/config/settings.cfg10
2 files changed, 200 insertions, 0 deletions
diff --git a/examples/minimal/config/build.cfg b/examples/minimal/config/build.cfg
new file mode 100644
index 0000000..e731f08
--- /dev/null
+++ b/examples/minimal/config/build.cfg
@@ -0,0 +1,190 @@
+#!/usr/bin/perl -cw
+
+my $distro = $build->{settings}{distro};
+my $version = $build->{settings}{version};
+my $product = $build->{settings}{product};
+my $desktop = $build->{settings}{desktop};
+my $arch = $build->{settings}{arch};
+my $default_user = $build->{settings}{default_user};
+
+my @user_config_dirs = ('/etc/skel', '/home/' . $default_user);
+
+sub build_label {
+ my ($build) = @_;
+
+ join('-', $distro, $version, $product, $desktop, $arch);
+}
+
+sub build_title {
+ my ($build) = @_;
+
+ join(' ', $distro, $version, $product, $desktop);
+}
+
+my $default_append = 'root=mgalive:LABEL=' . build_label($build) . ' noiswmd audit=0 rd.luks=0 rd.lvm=0 rd.md=0 rd.dm=0';
+
+my $_l = {
+ system => {
+ enabled_media => [
+ 'Core Release',
+# 'Core Updates',
+ 'Nonfree Release',
+# 'Nonfree Updates',
+ ],
+
+ rpmsrate_flags => [
+ 'LIVE',
+ (map { "CAT_$_" } (
+ # internet
+ qw(NETWORKING_FILE_TRANSFER NETWORKING_DNS),
+ # network
+ qw(NETWORKING_REMOTE_ACCESS NETWORKING_FILE),
+ # config
+ qw(CONFIG),
+ # console
+ qw(EDITORS TERMINALS TEXT_TOOLS SHELLS FILE_TOOLS),
+ # system
+ qw(SYSTEM MINIMAL_DOCS),
+ ))
+ ],
+ compssListLevel => 5,
+
+ include_packages => [
+ # Satisfy the basesystem bootloader requirement.
+ 'drakiso-null-bootloader',
+
+ # Some extra admin tools.
+ 'bind-utils', 'btrfs-progs', 'dmraid', 'hdparm', 'mdadm',
+
+ # Allow patching during customisation.
+ 'patch',
+ ],
+ exclude_packages => [
+ if_($arch eq 'i586',
+ # We want the desktop586 kernel for maximum hardware compatibility.
+ '/^kernel-desktop-/', '/^vboxadditions-kernel-.*-desktop-/',
+ ),
+
+ # No server kernels.
+ '/^kernel-server-/', '/^vboxadditions-kernel-.*-server-/',
+
+ # No proprietary drivers
+ 'dkms-broadcom-wl',
+ 'dkms-nvidia304', 'x11-driver-video-nvidia304',
+ 'dkms-nvidia340', 'x11-driver-video-nvidia340',
+ 'dkms-nvidia-current', 'x11-driver-video-nvidia-current',
+
+ # No bootloaders. The GRUB2 bootloaders are needed for install, so we add
+ # them to the local repo, which means they are automatically excluded.
+ 'grub', 'lilo',
+
+ # Needs X
+ 'apmd', 'draklive-install', 'drakx-finish-install', 'xterm',
+
+ # Not wanted
+ 'hunspell-dictionary',
+ ],
+ preferred_packages => [
+ ],
+ local_repo_packages => [
+ # core
+ 'broadcom-bcma-config',
+ 'broadcom-ssb-config',
+ ],
+
+ langs_always => [ 'en_US' ],
+
+ disable_services => [
+ # Uncommon hardware.
+ qw(bpalogin capi4linux cpqarrayd mdadm oki4daemon pcscd),
+ # Unneeded software.
+ qw(chronyd snmpd),
+ # Slows down basic usage and install, reenabled after install.
+ qw(crond msec),
+ ],
+ disable_timers => [
+ ],
+ files => [
+ # Clean configuration files.
+ [ 'files/empty.conf', '/etc/dracut.conf.d/51-mageia-resume.conf', { mode => 0644 } ],
+ [ 'files/empty.conf', '/etc/modprobe.conf', { mode => 0644 } ],
+
+ # Blacklist pata_acpi (mga#3395).
+ [ 'files/blacklist-ide.conf', '/etc/modprobe.d/blacklist-ide.conf', { mode => 0644 } ],
+
+ # Live media specific initrd.
+ [ 'files/dracut-live.conf', '/etc/dracut.conf.d/60-live.conf', { mode => 0644, no_install => 1 } ],
+
+ # Set language and keyboard
+ [ 'files/set-lang-kbd.service', '/etc/systemd/system/set-lang-kbd.service', { mode => 0644, no_install => 1 } ],
+ [ 'files/set-lang-kbd', '/sbin/set-lang-kbd', { mode => 0755, no_install => 1 } ],
+
+ # Disable suspend and hibernate in live mode.
+ [ 'files/50-disable-suspend.pkla', '/etc/polkit-1/localauthority/50-local.d/50-disable-suspend.pkla', { mode => 0644, no_install => 1 } ],
+
+ # Eject medium before live system halt/reboot.
+ [ 'files/halt-local.service', '/etc/systemd/system/halt-local.service', { mode => 0644, no_install => 1 } ],
+ [ 'files/halt.local', '/sbin/halt.local', { mode => 0755, no_install => 1 } ],
+ ],
+ remove_files => [
+ (map { "/etc/modprobe.preload.d/$_" } qw(cpufreq pcmcia rfswitch)),
+ "/etc/udev/rules.d/70-persistent-*.rules",
+ "/var/lib/dbus/machine-id",
+ "/etc/ssh/ssh_host_*",
+ ],
+ patches => [
+ ],
+ final_fixes => join(';',
+ # Enable the set-lang-kbd service.
+ "systemctl enable set-lang-kbd.service",
+
+ # Set the initial wireless regulatory domain to "world", enabling
+ # all possible wireless channels to be used.
+ "sed -i -r 's/CRDA_DOMAIN=.*/CRDA_DOMAIN=00/' /etc/sysconfig/network",
+ ),
+
+ vga_mode => 788,
+ },
+ loopbacks => {
+ exclude => {
+ type => 'squashfs',
+ files => [
+ { path => '/root/drakx' },
+ ],
+ },
+ },
+ regions => {
+ # the "all" region has a magical behavior and selects all langs
+ },
+ copy_from_repo => [
+ 'isolinux/memtest' => "boot/memtest",
+ ],
+ media => {
+ storage => 'iso',
+ label => build_label($build),
+ bootloader_title => build_title($build),
+ bootloader_theme => '/usr/share/drakiso-bootloader/maggy',
+ bootloader_font => '/usr/share/drakiso-bootloader/unicode.pf2',
+ bootloader_langs => '/usr/share/drakiso-bootloader/lang-names.txt',
+ bootloader_kbds => '/usr/share/drakiso-bootloader/kbd-names.txt',
+ bootloader_messages => '/usr/share/drakiso-bootloader/messages',
+ bootloader_default => 0,
+ bootloader_timeout => 10,
+ bootloader_entries => [
+ 'Boot Mageia Live' => { append => $default_append . ' xdriver=free' },
+ ' + use non-free video drivers (slower to boot)' => { append => $default_append . ' nokmsboot' },
+ 'Install Mageia Live' => { append => $default_append . ' xdriver=free install' },
+ ' + use non-free video drivers (slower to boot)' => { append => $default_append . ' nokmsboot install' },
+ 'Memory Test' => { command => 'linux16', image => '/boot/memtest', initrd => '' },
+ ],
+ mbr_boot_img => '/usr/share/drakiso-bootloader/images/boot_hybrid.img',
+ eltorito_img => '/usr/share/drakiso-bootloader/images/eltorito.img',
+ if_($arch eq 'i586',
+ boot_efi => '/usr/share/drakiso-bootloader/images/bootia32.efi'
+ ),
+ if_($arch eq 'x86_64',
+ boot_efi => '/usr/share/drakiso-bootloader/images/bootx64.efi'
+ ),
+ },
+ mount => MGA::DrakISO::Mounts::volatile_squash_union(),
+};
diff --git a/examples/minimal/config/settings.cfg b/examples/minimal/config/settings.cfg
new file mode 100644
index 0000000..a843ac7
--- /dev/null
+++ b/examples/minimal/config/settings.cfg
@@ -0,0 +1,10 @@
+vendor=Custom
+distro=Mageia
+product=Live
+desktop=Minimal
+version=6
+arch=x86_64
+region=all
+default_user=live
+repository=ftp://192.168.1.10/mageia/distrib/6
+workdir=/home/draklive/var-data