From 5a71a2ddaff35921f80c923ee1724adf2abb581a Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 7 Oct 2013 13:54:25 +0100 Subject: [PATCH] builder: Add Ubuntu 10.04LTS, 12.04LTS and 13.10 templates. --- builder/website/index | 48 ++++ builder/website/index.asc | 74 +++++- builder/website/ubuntu-10.04.preseed | 376 +++++++++++++++++++++++++++ builder/website/ubuntu-10.04.sh | 85 ++++++ builder/website/ubuntu-10.04.xz.sig | 17 ++ builder/website/ubuntu-12.04.preseed | 376 +++++++++++++++++++++++++++ builder/website/ubuntu-12.04.sh | 85 ++++++ builder/website/ubuntu-12.04.xz.sig | 17 ++ builder/website/ubuntu-13.10.preseed | 376 +++++++++++++++++++++++++++ builder/website/ubuntu-13.10.sh | 85 ++++++ builder/website/ubuntu-13.10.xz.sig | 17 ++ 11 files changed, 1543 insertions(+), 13 deletions(-) create mode 100644 builder/website/ubuntu-10.04.preseed create mode 100755 builder/website/ubuntu-10.04.sh create mode 100644 builder/website/ubuntu-10.04.xz.sig create mode 100644 builder/website/ubuntu-12.04.preseed create mode 100755 builder/website/ubuntu-12.04.sh create mode 100644 builder/website/ubuntu-12.04.xz.sig create mode 100644 builder/website/ubuntu-13.10.preseed create mode 100755 builder/website/ubuntu-13.10.sh create mode 100644 builder/website/ubuntu-13.10.xz.sig diff --git a/builder/website/index b/builder/website/index index 5b6dba928..6dd398187 100644 --- a/builder/website/index +++ b/builder/website/index @@ -48,3 +48,51 @@ notes=This Fedora image contains only unmodified @Core group packages. Fedora and the Infinity design logo are trademarks of Red Hat, Inc. Source and further information is available from http://fedoraproject.org/ + +[ubuntu-10.04] +name=Ubuntu 10.04 (Lucid) +osinfo=ubuntulucid +file=ubuntu-10.04.xz +sig=ubuntu-10.04.xz.sig +format=raw +size=4294967296 +compressed_size=149728112 +expand=/dev/sda1 +notes=This is a minimal Ubuntu 10.04 (Lucid) install. + Only the openssh-server package is selected in tasksel. + The preseed and virt-install scripts that produced this image + can be found in the libguestfs git tree: + libguestfs.git/builder/website/ubuntu-10.04.preseed + libguestfs.git/builder/website/ubuntu-10.04.sh + +[ubuntu-12.04] +name=Ubuntu 12.04 (Precise) +osinfo=ubuntuprecise +file=ubuntu-12.04.xz +sig=ubuntu-12.04.xz.sig +format=raw +size=4294967296 +compressed_size=168593316 +expand=/dev/sda1 +notes=This is a minimal Ubuntu 12.04 (Precise) install. + Only the openssh-server package is selected in tasksel. + The preseed and virt-install scripts that produced this image + can be found in the libguestfs git tree: + libguestfs.git/builder/website/ubuntu-12.04.preseed + libguestfs.git/builder/website/ubuntu-12.04.sh + +[ubuntu-13.10] +name=Ubuntu 13.10 (Saucy) +osinfo=ubuntusaucy +file=ubuntu-13.10.xz +sig=ubuntu-13.10.xz.sig +format=raw +size=4294967296 +compressed_size=196481392 +expand=/dev/sda1 +notes=This is a minimal Ubuntu 13.10 (Saucy) install. + Only the openssh-server package is selected in tasksel. + The preseed and virt-install scripts that produced this image + can be found in the libguestfs git tree: + libguestfs.git/builder/website/ubuntu-13.10.preseed + libguestfs.git/builder/website/ubuntu-13.10.sh diff --git a/builder/website/index.asc b/builder/website/index.asc index ce36d26a3..1c34e4196 100644 --- a/builder/website/index.asc +++ b/builder/website/index.asc @@ -51,20 +51,68 @@ notes=This Fedora image contains only unmodified @Core group packages. Fedora and the Infinity design logo are trademarks of Red Hat, Inc. Source and further information is available from http://fedoraproject.org/ + +[ubuntu-10.04] +name=Ubuntu 10.04 (Lucid) +osinfo=ubuntulucid +file=ubuntu-10.04.xz +sig=ubuntu-10.04.xz.sig +format=raw +size=4294967296 +compressed_size=149728112 +expand=/dev/sda1 +notes=This is a minimal Ubuntu 10.04 (Lucid) install. + Only the openssh-server package is selected in tasksel. + The preseed and virt-install scripts that produced this image + can be found in the libguestfs git tree: + libguestfs.git/builder/website/ubuntu-10.04.preseed + libguestfs.git/builder/website/ubuntu-10.04.sh + +[ubuntu-12.04] +name=Ubuntu 12.04 (Precise) +osinfo=ubuntuprecise +file=ubuntu-12.04.xz +sig=ubuntu-12.04.xz.sig +format=raw +size=4294967296 +compressed_size=168593316 +expand=/dev/sda1 +notes=This is a minimal Ubuntu 12.04 (Precise) install. + Only the openssh-server package is selected in tasksel. + The preseed and virt-install scripts that produced this image + can be found in the libguestfs git tree: + libguestfs.git/builder/website/ubuntu-12.04.preseed + libguestfs.git/builder/website/ubuntu-12.04.sh + +[ubuntu-13.10] +name=Ubuntu 13.10 (Saucy) +osinfo=ubuntusaucy +file=ubuntu-13.10.xz +sig=ubuntu-13.10.xz.sig +format=raw +size=4294967296 +compressed_size=196481392 +expand=/dev/sda1 +notes=This is a minimal Ubuntu 13.10 (Saucy) install. + Only the openssh-server package is selected in tasksel. + The preseed and virt-install scripts that produced this image + can be found in the libguestfs git tree: + libguestfs.git/builder/website/ubuntu-13.10.preseed + libguestfs.git/builder/website/ubuntu-13.10.sh -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.14 (GNU/Linux) -iQIcBAEBAgAGBQJSTbVcAAoJEJFzj3Pht2igKF0QAJ+kmEsSrwT1vSUY4tJXb5lH -5bf9VzboNzf5iO6DfwPIm/t2CwDfETmToV16AxqoA1A3gH5WF5NjlenYoink9jc3 -4LV8AM7qBx8w8urgTiO43Uv1wqNxrQGtFWxs+Vl7BX95+sJrdHYasnerZ8yBAvB4 -iXX/G+/bsojUM2KpKU2RmIwAaKQzuNQo2xECG0kY60AOsU+6ghZdF6J6TyqwNeoO -2mcdQCoyUK7SPYbtop/pJo+u+w+KNeAcs9TK1e3H61LNCDtqB1l5MJ9mizAOD7SU -e/G0ghVmqh8ogKfkgJbYpA54qYKqq/TghJlUAl7H/r1nK5J3teyQ0zqBKtNTh1Le -9YKUNkcf8IyFuNEQTrXAwxFpSwU/lyYufw81c8MoQAkhydAH1vFpvIDYabyHv733 -k4RAJX6tD1AxXivLoQDjWzCqDagVLESxRPg7fKcWOzCXxHdpZ3oj6b5WDxYzSrJO -KlgdYhUn/6zoscFZzwO5cnCyuq6Dk9Jl3R10xlgdKq1fse6/kOLzfq9oNQl5h8CQ -KfWzsxacmdpibWxU6IodI2/jliSeRKE2o3nMSZc6kwLJVynGIhuJroJoilHjcCAp -LKxtJPb1OCZbHWJ66tSFxYNZ8tyJR3CX7VViwTOhiZwT5oUnmM4JwASMfYSope/x -26emF9OQi/H5YvahkCvp -=8k3j +iQIcBAEBAgAGBQJSUsk/AAoJEJFzj3Pht2igby4QAIjaKTOVFGXqvAR0cfRkpzvu +iDjihslp+GDlqZGbGhsVBRgCgqYnY1yZBOujvF+I5bvyPvFCh/Nojb7yqtGD7QR2 +aZ0v9p7ACxv0ZH++hw2nLKJEX6QuUcely6ndgHgJxJfyNOQ+HuiCKZLLD3wT2hiq +MfswSHCXFgNKDWAVE8hVXD7OyZe/NZhlxl5x3cAqLdppK6yOqvVIdNQbPXJlIz1p +JC2VRt5ieERh1Z8YeMr6OpfUJmq5sChrSuFqhAhGxsTAhQjGetZiTX3jgbRw/EXA +a8GQKeobQ86R9ZaTpAFIdtJTPa7a16kUjdGTWHeeSSDDtCBXkmTPkW8Ka5VOuEf6 +0glndzfA2eCV9JONiPWCZBiRaUMKBqJWr4f0Prar00QsV2jcqsrojobJmsyjrXcF +ourkobGufXG3ezxWx++r89HMCRJPwGNBm0Lh8wMwnzHBCY0zZq69LyOeTqBvM0D5 +fifOlarQgj7WwyVGbHBZ4p1vpKwIehO7F28bg/yCwuhhGI27Q7Nmpj56l8azilq/ +swiMGfv5vtleSXyxaetUoQllv3/MDFQZG2+F/+SUJXnKd/lzVezYWfviEdzm1tHK +adU+sDKejwltA6P4xm2PJ8YWsy953JF5eSAC/kiH0FOYFcQb8wEmZEJLUgL+I358 +gotrEDcAfW/294hXZz9d +=dUoR -----END PGP SIGNATURE----- diff --git a/builder/website/ubuntu-10.04.preseed b/builder/website/ubuntu-10.04.preseed new file mode 100644 index 000000000..236e17497 --- /dev/null +++ b/builder/website/ubuntu-10.04.preseed @@ -0,0 +1,376 @@ +#### Contents of the preconfiguration file (for &releasename;) +### Localization +# Locale sets language and country. +d-i debian-installer/locale string en_US + +# Keyboard selection. +# Disable automatic (interactive) keymap detection. +d-i console-setup/ask_detect boolean false +#d-i console-setup/modelcode string pc105 +d-i console-setup/layoutcode string us +# To select a variant of the selected layout (if you leave this out, the +# basic form of the layout will be used): +#d-i console-setup/variantcode string dvorak + +### Network configuration +# netcfg will choose an interface that has link if possible. This makes it +# skip displaying a list if there is more than one interface. +d-i netcfg/choose_interface select auto + +# To pick a particular interface instead: +#d-i netcfg/choose_interface select eth1 + +# If you have a slow dhcp server and the installer times out waiting for +# it, this might be useful. +#d-i netcfg/dhcp_timeout string 60 + +# If you prefer to configure the network manually, uncomment this line and +# the static network configuration below. +#d-i netcfg/disable_dhcp boolean true + +# If you want the preconfiguration file to work on systems both with and +# without a dhcp server, uncomment these lines and the static network +# configuration below. +#d-i netcfg/dhcp_failed note +#d-i netcfg/dhcp_options select Configure network manually + +# Static network configuration. +#d-i netcfg/get_nameservers string 192.168.1.1 +#d-i netcfg/get_ipaddress string 192.168.1.42 +#d-i netcfg/get_netmask string 255.255.255.0 +#d-i netcfg/get_gateway string 192.168.1.1 +#d-i netcfg/confirm_static boolean true + +# Any hostname and domain names assigned from dhcp take precedence over +# values set here. However, setting the values still prevents the questions +# from being shown, even if values come from dhcp. +d-i netcfg/get_hostname string unassigned-hostname +d-i netcfg/get_domain string unassigned-domain + +# Disable that annoying WEP key dialog. +d-i netcfg/wireless_wep string +# The wacky dhcp hostname that some ISPs use as a password of sorts. +#d-i netcfg/dhcp_hostname string radish + +# If non-free firmware is needed for the network or other hardware, you can +# configure the installer to always try to load it, without prompting. Or +# change to false to disable asking. +#d-i hw-detect/load_firmware boolean true + +### Mirror settings +# If you select ftp, the mirror/country string does not need to be set. +#d-i mirror/protocol string ftp +#d-i mirror/country string manual +#d-i mirror/http/hostname string http.us.debian.org +#d-i mirror/http/directory string /ubuntu +#d-i mirror/http/proxy string + +# Alternatively: by default, the installer uses CC.archive.ubuntu.com where +# CC is the ISO-3166-2 code for the selected country. You can preseed this +# so that it does so without asking. +d-i mirror/http/mirror select uk.archive.ubuntu.com + +# Suite to install. +#d-i mirror/suite string &releasename; +# Suite to use for loading installer components (optional). +#d-i mirror/udeb/suite string &releasename; +# Components to use for loading installer components (optional). +#d-i mirror/udeb/components multiselect main, restricted + +### Clock and time zone setup +# Controls whether or not the hardware clock is set to UTC. +d-i clock-setup/utc boolean true + +# You may set this to any valid setting for $TZ; see the contents of +# /usr/share/zoneinfo/ for valid values. +d-i time/zone string US/Eastern + +# Controls whether to use NTP to set the clock during the install +d-i clock-setup/ntp boolean true +# NTP server to use. The default is almost always fine here. +#d-i clock-setup/ntp-server string ntp.example.com + +### Partitioning +# If the system has free space you can choose to only partition that space. +# Alternatives: custom, some_device, some_device_crypto, some_device_lvm. +#d-i partman-auto/init_automatically_partition select biggest_free + +# Alternatively, you can specify a disk to partition. The device name must +# be given in traditional non-devfs format. +# Note: A disk must be specified, unless the system has only one disk. +# For example, to use the first SCSI/SATA hard disk: +#d-i partman-auto/disk string /dev/sda +# In addition, you'll need to specify the method to use. +# The presently available methods are: "regular", "lvm" and "crypto" +d-i partman-auto/method string regular + +# If one of the disks that are going to be automatically partitioned +# contains an old LVM configuration, the user will normally receive a +# warning. This can be preseeded away... +d-i partman-lvm/device_remove_lvm boolean true +# The same applies to pre-existing software RAID array: +d-i partman-md/device_remove_md boolean true +# And the same goes for the confirmation to write the lvm partitions. +d-i partman-lvm/confirm boolean true + +# For LVM partitioning, you can select how much of the volume group to use +# for logical volumes. +#d-i partman-auto-lvm/guided_size string max +#d-i partman-auto-lvm/guided_size string 10GB +#d-i partman-auto-lvm/guided_size string 50% + +# You can choose one of the three predefined partitioning recipes: +# - atomic: all files in one partition +# - home: separate /home partition +# - multi: separate /home, /usr, /var, and /tmp partitions +d-i partman-auto/choose_recipe select atomic + +# Or provide a recipe of your own... +# The recipe format is documented in the file devel/partman-auto-recipe.txt. +# If you have a way to get a recipe file into the d-i environment, you can +# just point at it. +#d-i partman-auto/expert_recipe_file string /hd-media/recipe + +# If not, you can put an entire recipe into the preconfiguration file in one +# (logical) line. This example creates a small /boot partition, suitable +# swap, and uses the rest of the space for the root partition: +#d-i partman-auto/expert_recipe string \ +# boot-root :: \ +# 40 50 100 ext3 \ +# $primary{ } $bootable{ } \ +# method{ format } format{ } \ +# use_filesystem{ } filesystem{ ext3 } \ +# mountpoint{ /boot } \ +# . \ +# 500 10000 1000000000 ext3 \ +# method{ format } format{ } \ +# use_filesystem{ } filesystem{ ext3 } \ +# mountpoint{ / } \ +# . \ +# 64 512 300% linux-swap \ +# method{ swap } format{ } \ +# . + +# If you just want to change the default filesystem from ext3 to something +# else, you can do that without providing a full recipe. +#d-i partman/default_filesystem string ext4 + +# This makes partman automatically partition without confirmation, provided +# that you told it what to do using one of the methods above. +d-i partman/confirm_write_new_label boolean true +d-i partman/choose_partition select finish +d-i partman/confirm boolean true +d-i partman/confirm_nooverwrite boolean true + +### Controlling how partitions are mounted +# The default is to mount by UUID, but you can also choose "traditional" to +# use traditional device names, or "label" to try filesystem labels before +# falling back to UUIDs. +#d-i partman/mount_style select uuid + +### Base system installation +# The kernel image (meta) package to be installed; "none" can be used if no +# kernel is to be installed. +#d-i base-installer/kernel/image string linux-generic + +### Account setup +# Skip creation of a root account (normal user account will be able to +# use sudo). The default is false; preseed this to true if you want to set +# a root password. +#d-i passwd/root-login boolean false +# Alternatively, to skip creation of a normal user account. +d-i passwd/make-user boolean false + +# Root password, either in clear text +d-i passwd/root-password password builder +d-i passwd/root-password-again password builder +# or encrypted using an MD5 hash. +#d-i passwd/root-password-crypted password [MD5 hash] + +# To create a normal user account. +#d-i passwd/user-fullname string Ubuntu User +#d-i passwd/username string ubuntu +# Normal user's password, either in clear text +#d-i passwd/user-password password insecure +#d-i passwd/user-password-again password insecure +# or encrypted using an MD5 hash. +#d-i passwd/user-password-crypted password [MD5 hash] +# Create the first user with the specified UID instead of the default. +#d-i passwd/user-uid string 1010 +# The installer will warn about weak passwords. If you are sure you know +# what you're doing and want to override it, uncomment this. +#d-i user-setup/allow-password-weak boolean true + +# The user account will be added to some standard initial groups. To +# override that, use this. +#d-i passwd/user-default-groups string audio cdrom video + +# Set to true if you want to encrypt the first user's home directory. +d-i user-setup/encrypt-home boolean false + +### Apt setup +# You can choose to install restricted and universe software, or to install +# software from the backports repository. +#d-i apt-setup/restricted boolean true +#d-i apt-setup/universe boolean true +#d-i apt-setup/backports boolean true +# Uncomment this if you don't want to use a network mirror. +#d-i apt-setup/use_mirror boolean false +# Select which update services to use; define the mirrors to be used. +# Values shown below are the normal defaults. +#d-i apt-setup/services-select multiselect security +#d-i apt-setup/security_host string security.ubuntu.com +#d-i apt-setup/security_path string /ubuntu + +# Additional repositories, local[0-9] available +#d-i apt-setup/local0/repository string \ +# http://local.server/ubuntu &releasename; main +#d-i apt-setup/local0/comment string local server +# Enable deb-src lines +#d-i apt-setup/local0/source boolean true +# URL to the public key of the local repository; you must provide a key or +# apt will complain about the unauthenticated repository and so the +# sources.list line will be left commented out +#d-i apt-setup/local0/key string http://local.server/key + +# By default the installer requires that repositories be authenticated +# using a known gpg key. This setting can be used to disable that +# authentication. Warning: Insecure, not recommended. +#d-i debian-installer/allow_unauthenticated string true + +### Package selection +#tasksel tasksel/first multiselect ubuntu-desktop +#tasksel tasksel/first multiselect lamp-server, print-server +#tasksel tasksel/first multiselect kubuntu-desktop +tasksel tasksel/first multiselect openssh-server + +# Individual additional packages to install +#d-i pkgsel/include string openssh-server build-essential +# Whether to upgrade packages after debootstrap. +# Allowed values: none, safe-upgrade, full-upgrade +#d-i pkgsel/upgrade select none + +# Language pack selection +#d-i pkgsel/language-packs multiselect de, en, zh + +# Policy for applying updates. May be "none" (no automatic updates), +# "unattended-upgrades" (install security updates automatically), or +# "landscape" (manage system with Landscape). +#d-i pkgsel/update-policy select none + +# Some versions of the installer can report back on what software you have +# installed, and what software you use. The default is not to report back, +# but sending reports helps the project determine what software is most +# popular and include it on CDs. +#popularity-contest popularity-contest/participate boolean false + +# By default, the system's locate database will be updated after the +# installer has finished installing most packages. This may take a while, so +# if you don't want it, you can set this to "false" to turn it off. +#d-i pkgsel/updatedb boolean true + +### Boot loader installation +# Grub is the default boot loader (for x86). If you want lilo installed +# instead, uncomment this: +#d-i grub-installer/skip boolean true +# To also skip installing lilo, and install no bootloader, uncomment this +# too: +#d-i lilo-installer/skip boolean true + +# This is fairly safe to set, it makes grub install automatically to the MBR +# if no other operating system is detected on the machine. +d-i grub-installer/only_debian boolean true + +# This one makes grub-installer install to the MBR if it also finds some other +# OS, which is less safe as it might not be able to boot that other OS. +d-i grub-installer/with_other_os boolean true + +# Alternatively, if you want to install to a location other than the mbr, +# uncomment and edit these lines: +#d-i grub-installer/only_debian boolean false +#d-i grub-installer/with_other_os boolean false +#d-i grub-installer/bootdev string (hd0,0) +# To install grub to multiple disks: +#d-i grub-installer/bootdev string (hd0,0) (hd1,0) (hd2,0) + +# Optional password for grub, either in clear text +#d-i grub-installer/password password r00tme +#d-i grub-installer/password-again password r00tme +# or encrypted using an MD5 hash, see grub-md5-crypt(8). +#d-i grub-installer/password-crypted password [MD5 hash] + +### Finishing up the installation +# During installations from serial console, the regular virtual consoles +# (VT1-VT6) are normally disabled in /etc/inittab. Uncomment the next +# line to prevent this. +#d-i finish-install/keep-consoles boolean true + +# Avoid that last message about the install being complete. +d-i finish-install/reboot_in_progress note + +# This will prevent the installer from ejecting the CD during the reboot, +# which is useful in some situations. +#d-i cdrom-detect/eject boolean false + +# This is how to make the installer shutdown when finished, but not +# reboot into the installed system. +#d-i debian-installer/exit/halt boolean true +# This will power off the machine instead of just halting it. +#d-i debian-installer/exit/poweroff boolean true + +### X configuration +# X can detect the right driver for some cards, but if you're preseeding, +# you override whatever it chooses. Still, vesa will work most places. +#xserver-xorg xserver-xorg/config/device/driver select vesa + +# A caveat with mouse autodetection is that if it fails, X will retry it +# over and over. So if it's preseeded to be done, there is a possibility of +# an infinite loop if the mouse is not autodetected. +#xserver-xorg xserver-xorg/autodetect_mouse boolean true + +# Monitor autodetection is recommended. +xserver-xorg xserver-xorg/autodetect_monitor boolean true +# Uncomment if you have an LCD display. +#xserver-xorg xserver-xorg/config/monitor/lcd boolean true +# X has three configuration paths for the monitor. Here's how to preseed +# the "medium" path, which is always available. The "simple" path may not +# be available, and the "advanced" path asks too many questions. +xserver-xorg xserver-xorg/config/monitor/selection-method \ + select medium +xserver-xorg xserver-xorg/config/monitor/mode-list \ + select 1024x768 @ 60 Hz + +### Preseeding other packages +# Depending on what software you choose to install, or if things go wrong +# during the installation process, it's possible that other questions may +# be asked. You can preseed those too, of course. To get a list of every +# possible question that could be asked during an install, do an +# installation, and then run these commands: +# debconf-get-selections --installer > file +# debconf-get-selections >> file + + +#### Advanced options +### Running custom commands during the installation +# d-i preseeding is inherently not secure. Nothing in the installer checks +# for attempts at buffer overflows or other exploits of the values of a +# preconfiguration file like this one. Only use preconfiguration files from +# trusted locations! To drive that home, and because it's generally useful, +# here's a way to run any shell command you'd like inside the installer, +# automatically. + +# This first command is run as early as possible, just after +# preseeding is read. +#d-i preseed/early_command string anna-install some-udeb + +# This command is run immediately before the partitioner starts. It may be +# useful to apply dynamic partitioner preseeding that depends on the state +# of the disks (which may not be visible when preseed/early_command runs). +#d-i partman/early_command string debconf-set partman-auto/disk "$(list-devices disk | head -n1)" + +# This command is run just before the install finishes, but when there is +# still a usable /target directory. You can chroot to /target and use it +# directly, or use the apt-install and in-target commands to easily install +# packages and run commands in the target system. +#d-i preseed/late_command string apt-install zsh; in-target chsh -s /bin/zsh + diff --git a/builder/website/ubuntu-10.04.sh b/builder/website/ubuntu-10.04.sh new file mode 100755 index 000000000..943a96a5e --- /dev/null +++ b/builder/website/ubuntu-10.04.sh @@ -0,0 +1,85 @@ +#!/bin/bash - +# libguestfs +# Copyright (C) 2013 Red Hat Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +# The basic plan comes from: +# http://honk.sigxcpu.org/con/Preseeding_Debian_virtual_machines_with_virt_install.html +# https://wiki.debian.org/DebianInstaller/Preseed +# https://help.ubuntu.com/10.04/installation-guide/i386/preseed-using.html + +set -e +set -x + +# Some configuration. +#export http_proxy=http://squid.corp.redhat.com:3128 +#export https_proxy=$http_proxy +#export ftp_proxy=$http_proxy +location=http://archive.ubuntu.net/ubuntu/dists/lucid/main/installer-amd64 + +# Currently you have to run this script as root. +if [ `id -u` -ne 0 ]; then + echo "You have to run this script as root." + exit 1 +fi + +# Make sure it's being run from the correct directory. +if [ ! -f ubuntu-10.04.preseed ]; then + echo "You are running this script from the wrong directory." + exit 1 +fi + +pwd=`pwd` + +# Note that the injected file must be called "/preseed.cfg" in order +# for d-i to pick it up. +sed -e "s,@CACHE@,$http_proxy,g" < ubuntu-10.04.preseed > preseed.cfg + +name=tmplucid + +virsh undefine $name ||: +rm -f ubuntu-10.04 ubuntu-10.04.old + +virt-install \ + --name $name \ + --ram=1024 \ + --os-type=linux --os-variant=ubuntulucid \ + --initrd-inject=$pwd/preseed.cfg \ + --extra-args="auto console=tty0 console=ttyS0,115200" \ + --disk=$pwd/ubuntu-10.04,size=4 \ + --location=$location \ + --nographics \ + --noreboot +# The virt-install command should exit after complete installation. +# Remove the guest, we don't want it to be defined in libvirt. +virsh undefine $name + +rm preseed.cfg + +# Sysprep (removes logfiles and so on). +virt-sysprep -a ubuntu-10.04 + +# Sparsify. +mv ubuntu-10.04 ubuntu-10.04.old +virt-sparsify ubuntu-10.04.old ubuntu-10.04 +rm ubuntu-10.04.old + +# Compress. +rm -f ubuntu-10.04.xz +xz --best --block-size=16777216 ubuntu-10.04 + +# Result: +ls -lh ubuntu-10.04.xz diff --git a/builder/website/ubuntu-10.04.xz.sig b/builder/website/ubuntu-10.04.xz.sig new file mode 100644 index 000000000..a74ab0753 --- /dev/null +++ b/builder/website/ubuntu-10.04.xz.sig @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.14 (GNU/Linux) + +iQIcBAABAgAGBQJSUslLAAoJEJFzj3Pht2igo7MQAJoaHvLfYFBsgx242/U3sY3e +V8WNF77t9NDoTkIS5q/XK9c6w/JeNDsq8SdiLP6+LaFNbFh9O+mo4bhu3Vme3Op8 +/ubZ9s1RrysG+dSdUsqEIipUEiII0Xr/ZTONzJpLA5p9k2zDMoJLVgCmywlgnNQp +wdthLDmvQuZQl7YZLbV8TeMjkNm0vOcEZXv+eeOb2guYMZKnfYo6NFBivlCiZxL2 +tjZZkCVy/tGRTVrsi8YUumY0TJ4jhZn4Rkzu/KtvbUkfG+jQPoesTCHk3u0tBF5m +h+vrGbj7xf0OHvHtjQhAghlaLMEs1M8QDNV17g+zleu3hVw/WkcgClKa+g4AVbb0 +rGlDT3570viQ+Y8fj0upBUQypIwzPMZP88XVKiGCpl6xLinTZBha1SPoTK75Wxue +3Mu2IKqBUi/Y5zMTcPD6EHvssK/pDu7XMtebGzI2AEVTdvTrNyw73d4GkaLtM+eR +AyZt7RxrsRF89EQfBN6adH2WMztNPQvghrk0KphG91E3Dxo4+tp40QWXKKSwHs7S +DnSFVQTrmKI9CxWueUp8b2Lkjlo+tgmolFXrK7HwNHziymdcZtPx+yuSSR5Wa9/5 +H3JP133/RWCgJ1MfiIcdVV1yUpP87ApXQo0X/ibU8jXMqIpy+20b6J9dOim+ggjd +Gf/ClDA++NoU5qDijjvR +=iWQP +-----END PGP SIGNATURE----- diff --git a/builder/website/ubuntu-12.04.preseed b/builder/website/ubuntu-12.04.preseed new file mode 100644 index 000000000..236e17497 --- /dev/null +++ b/builder/website/ubuntu-12.04.preseed @@ -0,0 +1,376 @@ +#### Contents of the preconfiguration file (for &releasename;) +### Localization +# Locale sets language and country. +d-i debian-installer/locale string en_US + +# Keyboard selection. +# Disable automatic (interactive) keymap detection. +d-i console-setup/ask_detect boolean false +#d-i console-setup/modelcode string pc105 +d-i console-setup/layoutcode string us +# To select a variant of the selected layout (if you leave this out, the +# basic form of the layout will be used): +#d-i console-setup/variantcode string dvorak + +### Network configuration +# netcfg will choose an interface that has link if possible. This makes it +# skip displaying a list if there is more than one interface. +d-i netcfg/choose_interface select auto + +# To pick a particular interface instead: +#d-i netcfg/choose_interface select eth1 + +# If you have a slow dhcp server and the installer times out waiting for +# it, this might be useful. +#d-i netcfg/dhcp_timeout string 60 + +# If you prefer to configure the network manually, uncomment this line and +# the static network configuration below. +#d-i netcfg/disable_dhcp boolean true + +# If you want the preconfiguration file to work on systems both with and +# without a dhcp server, uncomment these lines and the static network +# configuration below. +#d-i netcfg/dhcp_failed note +#d-i netcfg/dhcp_options select Configure network manually + +# Static network configuration. +#d-i netcfg/get_nameservers string 192.168.1.1 +#d-i netcfg/get_ipaddress string 192.168.1.42 +#d-i netcfg/get_netmask string 255.255.255.0 +#d-i netcfg/get_gateway string 192.168.1.1 +#d-i netcfg/confirm_static boolean true + +# Any hostname and domain names assigned from dhcp take precedence over +# values set here. However, setting the values still prevents the questions +# from being shown, even if values come from dhcp. +d-i netcfg/get_hostname string unassigned-hostname +d-i netcfg/get_domain string unassigned-domain + +# Disable that annoying WEP key dialog. +d-i netcfg/wireless_wep string +# The wacky dhcp hostname that some ISPs use as a password of sorts. +#d-i netcfg/dhcp_hostname string radish + +# If non-free firmware is needed for the network or other hardware, you can +# configure the installer to always try to load it, without prompting. Or +# change to false to disable asking. +#d-i hw-detect/load_firmware boolean true + +### Mirror settings +# If you select ftp, the mirror/country string does not need to be set. +#d-i mirror/protocol string ftp +#d-i mirror/country string manual +#d-i mirror/http/hostname string http.us.debian.org +#d-i mirror/http/directory string /ubuntu +#d-i mirror/http/proxy string + +# Alternatively: by default, the installer uses CC.archive.ubuntu.com where +# CC is the ISO-3166-2 code for the selected country. You can preseed this +# so that it does so without asking. +d-i mirror/http/mirror select uk.archive.ubuntu.com + +# Suite to install. +#d-i mirror/suite string &releasename; +# Suite to use for loading installer components (optional). +#d-i mirror/udeb/suite string &releasename; +# Components to use for loading installer components (optional). +#d-i mirror/udeb/components multiselect main, restricted + +### Clock and time zone setup +# Controls whether or not the hardware clock is set to UTC. +d-i clock-setup/utc boolean true + +# You may set this to any valid setting for $TZ; see the contents of +# /usr/share/zoneinfo/ for valid values. +d-i time/zone string US/Eastern + +# Controls whether to use NTP to set the clock during the install +d-i clock-setup/ntp boolean true +# NTP server to use. The default is almost always fine here. +#d-i clock-setup/ntp-server string ntp.example.com + +### Partitioning +# If the system has free space you can choose to only partition that space. +# Alternatives: custom, some_device, some_device_crypto, some_device_lvm. +#d-i partman-auto/init_automatically_partition select biggest_free + +# Alternatively, you can specify a disk to partition. The device name must +# be given in traditional non-devfs format. +# Note: A disk must be specified, unless the system has only one disk. +# For example, to use the first SCSI/SATA hard disk: +#d-i partman-auto/disk string /dev/sda +# In addition, you'll need to specify the method to use. +# The presently available methods are: "regular", "lvm" and "crypto" +d-i partman-auto/method string regular + +# If one of the disks that are going to be automatically partitioned +# contains an old LVM configuration, the user will normally receive a +# warning. This can be preseeded away... +d-i partman-lvm/device_remove_lvm boolean true +# The same applies to pre-existing software RAID array: +d-i partman-md/device_remove_md boolean true +# And the same goes for the confirmation to write the lvm partitions. +d-i partman-lvm/confirm boolean true + +# For LVM partitioning, you can select how much of the volume group to use +# for logical volumes. +#d-i partman-auto-lvm/guided_size string max +#d-i partman-auto-lvm/guided_size string 10GB +#d-i partman-auto-lvm/guided_size string 50% + +# You can choose one of the three predefined partitioning recipes: +# - atomic: all files in one partition +# - home: separate /home partition +# - multi: separate /home, /usr, /var, and /tmp partitions +d-i partman-auto/choose_recipe select atomic + +# Or provide a recipe of your own... +# The recipe format is documented in the file devel/partman-auto-recipe.txt. +# If you have a way to get a recipe file into the d-i environment, you can +# just point at it. +#d-i partman-auto/expert_recipe_file string /hd-media/recipe + +# If not, you can put an entire recipe into the preconfiguration file in one +# (logical) line. This example creates a small /boot partition, suitable +# swap, and uses the rest of the space for the root partition: +#d-i partman-auto/expert_recipe string \ +# boot-root :: \ +# 40 50 100 ext3 \ +# $primary{ } $bootable{ } \ +# method{ format } format{ } \ +# use_filesystem{ } filesystem{ ext3 } \ +# mountpoint{ /boot } \ +# . \ +# 500 10000 1000000000 ext3 \ +# method{ format } format{ } \ +# use_filesystem{ } filesystem{ ext3 } \ +# mountpoint{ / } \ +# . \ +# 64 512 300% linux-swap \ +# method{ swap } format{ } \ +# . + +# If you just want to change the default filesystem from ext3 to something +# else, you can do that without providing a full recipe. +#d-i partman/default_filesystem string ext4 + +# This makes partman automatically partition without confirmation, provided +# that you told it what to do using one of the methods above. +d-i partman/confirm_write_new_label boolean true +d-i partman/choose_partition select finish +d-i partman/confirm boolean true +d-i partman/confirm_nooverwrite boolean true + +### Controlling how partitions are mounted +# The default is to mount by UUID, but you can also choose "traditional" to +# use traditional device names, or "label" to try filesystem labels before +# falling back to UUIDs. +#d-i partman/mount_style select uuid + +### Base system installation +# The kernel image (meta) package to be installed; "none" can be used if no +# kernel is to be installed. +#d-i base-installer/kernel/image string linux-generic + +### Account setup +# Skip creation of a root account (normal user account will be able to +# use sudo). The default is false; preseed this to true if you want to set +# a root password. +#d-i passwd/root-login boolean false +# Alternatively, to skip creation of a normal user account. +d-i passwd/make-user boolean false + +# Root password, either in clear text +d-i passwd/root-password password builder +d-i passwd/root-password-again password builder +# or encrypted using an MD5 hash. +#d-i passwd/root-password-crypted password [MD5 hash] + +# To create a normal user account. +#d-i passwd/user-fullname string Ubuntu User +#d-i passwd/username string ubuntu +# Normal user's password, either in clear text +#d-i passwd/user-password password insecure +#d-i passwd/user-password-again password insecure +# or encrypted using an MD5 hash. +#d-i passwd/user-password-crypted password [MD5 hash] +# Create the first user with the specified UID instead of the default. +#d-i passwd/user-uid string 1010 +# The installer will warn about weak passwords. If you are sure you know +# what you're doing and want to override it, uncomment this. +#d-i user-setup/allow-password-weak boolean true + +# The user account will be added to some standard initial groups. To +# override that, use this. +#d-i passwd/user-default-groups string audio cdrom video + +# Set to true if you want to encrypt the first user's home directory. +d-i user-setup/encrypt-home boolean false + +### Apt setup +# You can choose to install restricted and universe software, or to install +# software from the backports repository. +#d-i apt-setup/restricted boolean true +#d-i apt-setup/universe boolean true +#d-i apt-setup/backports boolean true +# Uncomment this if you don't want to use a network mirror. +#d-i apt-setup/use_mirror boolean false +# Select which update services to use; define the mirrors to be used. +# Values shown below are the normal defaults. +#d-i apt-setup/services-select multiselect security +#d-i apt-setup/security_host string security.ubuntu.com +#d-i apt-setup/security_path string /ubuntu + +# Additional repositories, local[0-9] available +#d-i apt-setup/local0/repository string \ +# http://local.server/ubuntu &releasename; main +#d-i apt-setup/local0/comment string local server +# Enable deb-src lines +#d-i apt-setup/local0/source boolean true +# URL to the public key of the local repository; you must provide a key or +# apt will complain about the unauthenticated repository and so the +# sources.list line will be left commented out +#d-i apt-setup/local0/key string http://local.server/key + +# By default the installer requires that repositories be authenticated +# using a known gpg key. This setting can be used to disable that +# authentication. Warning: Insecure, not recommended. +#d-i debian-installer/allow_unauthenticated string true + +### Package selection +#tasksel tasksel/first multiselect ubuntu-desktop +#tasksel tasksel/first multiselect lamp-server, print-server +#tasksel tasksel/first multiselect kubuntu-desktop +tasksel tasksel/first multiselect openssh-server + +# Individual additional packages to install +#d-i pkgsel/include string openssh-server build-essential +# Whether to upgrade packages after debootstrap. +# Allowed values: none, safe-upgrade, full-upgrade +#d-i pkgsel/upgrade select none + +# Language pack selection +#d-i pkgsel/language-packs multiselect de, en, zh + +# Policy for applying updates. May be "none" (no automatic updates), +# "unattended-upgrades" (install security updates automatically), or +# "landscape" (manage system with Landscape). +#d-i pkgsel/update-policy select none + +# Some versions of the installer can report back on what software you have +# installed, and what software you use. The default is not to report back, +# but sending reports helps the project determine what software is most +# popular and include it on CDs. +#popularity-contest popularity-contest/participate boolean false + +# By default, the system's locate database will be updated after the +# installer has finished installing most packages. This may take a while, so +# if you don't want it, you can set this to "false" to turn it off. +#d-i pkgsel/updatedb boolean true + +### Boot loader installation +# Grub is the default boot loader (for x86). If you want lilo installed +# instead, uncomment this: +#d-i grub-installer/skip boolean true +# To also skip installing lilo, and install no bootloader, uncomment this +# too: +#d-i lilo-installer/skip boolean true + +# This is fairly safe to set, it makes grub install automatically to the MBR +# if no other operating system is detected on the machine. +d-i grub-installer/only_debian boolean true + +# This one makes grub-installer install to the MBR if it also finds some other +# OS, which is less safe as it might not be able to boot that other OS. +d-i grub-installer/with_other_os boolean true + +# Alternatively, if you want to install to a location other than the mbr, +# uncomment and edit these lines: +#d-i grub-installer/only_debian boolean false +#d-i grub-installer/with_other_os boolean false +#d-i grub-installer/bootdev string (hd0,0) +# To install grub to multiple disks: +#d-i grub-installer/bootdev string (hd0,0) (hd1,0) (hd2,0) + +# Optional password for grub, either in clear text +#d-i grub-installer/password password r00tme +#d-i grub-installer/password-again password r00tme +# or encrypted using an MD5 hash, see grub-md5-crypt(8). +#d-i grub-installer/password-crypted password [MD5 hash] + +### Finishing up the installation +# During installations from serial console, the regular virtual consoles +# (VT1-VT6) are normally disabled in /etc/inittab. Uncomment the next +# line to prevent this. +#d-i finish-install/keep-consoles boolean true + +# Avoid that last message about the install being complete. +d-i finish-install/reboot_in_progress note + +# This will prevent the installer from ejecting the CD during the reboot, +# which is useful in some situations. +#d-i cdrom-detect/eject boolean false + +# This is how to make the installer shutdown when finished, but not +# reboot into the installed system. +#d-i debian-installer/exit/halt boolean true +# This will power off the machine instead of just halting it. +#d-i debian-installer/exit/poweroff boolean true + +### X configuration +# X can detect the right driver for some cards, but if you're preseeding, +# you override whatever it chooses. Still, vesa will work most places. +#xserver-xorg xserver-xorg/config/device/driver select vesa + +# A caveat with mouse autodetection is that if it fails, X will retry it +# over and over. So if it's preseeded to be done, there is a possibility of +# an infinite loop if the mouse is not autodetected. +#xserver-xorg xserver-xorg/autodetect_mouse boolean true + +# Monitor autodetection is recommended. +xserver-xorg xserver-xorg/autodetect_monitor boolean true +# Uncomment if you have an LCD display. +#xserver-xorg xserver-xorg/config/monitor/lcd boolean true +# X has three configuration paths for the monitor. Here's how to preseed +# the "medium" path, which is always available. The "simple" path may not +# be available, and the "advanced" path asks too many questions. +xserver-xorg xserver-xorg/config/monitor/selection-method \ + select medium +xserver-xorg xserver-xorg/config/monitor/mode-list \ + select 1024x768 @ 60 Hz + +### Preseeding other packages +# Depending on what software you choose to install, or if things go wrong +# during the installation process, it's possible that other questions may +# be asked. You can preseed those too, of course. To get a list of every +# possible question that could be asked during an install, do an +# installation, and then run these commands: +# debconf-get-selections --installer > file +# debconf-get-selections >> file + + +#### Advanced options +### Running custom commands during the installation +# d-i preseeding is inherently not secure. Nothing in the installer checks +# for attempts at buffer overflows or other exploits of the values of a +# preconfiguration file like this one. Only use preconfiguration files from +# trusted locations! To drive that home, and because it's generally useful, +# here's a way to run any shell command you'd like inside the installer, +# automatically. + +# This first command is run as early as possible, just after +# preseeding is read. +#d-i preseed/early_command string anna-install some-udeb + +# This command is run immediately before the partitioner starts. It may be +# useful to apply dynamic partitioner preseeding that depends on the state +# of the disks (which may not be visible when preseed/early_command runs). +#d-i partman/early_command string debconf-set partman-auto/disk "$(list-devices disk | head -n1)" + +# This command is run just before the install finishes, but when there is +# still a usable /target directory. You can chroot to /target and use it +# directly, or use the apt-install and in-target commands to easily install +# packages and run commands in the target system. +#d-i preseed/late_command string apt-install zsh; in-target chsh -s /bin/zsh + diff --git a/builder/website/ubuntu-12.04.sh b/builder/website/ubuntu-12.04.sh new file mode 100755 index 000000000..6134b1d7d --- /dev/null +++ b/builder/website/ubuntu-12.04.sh @@ -0,0 +1,85 @@ +#!/bin/bash - +# libguestfs +# Copyright (C) 2013 Red Hat Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +# The basic plan comes from: +# http://honk.sigxcpu.org/con/Preseeding_Debian_virtual_machines_with_virt_install.html +# https://wiki.debian.org/DebianInstaller/Preseed +# https://help.ubuntu.com/10.04/installation-guide/i386/preseed-using.html + +set -e +set -x + +# Some configuration. +#export http_proxy=http://squid.corp.redhat.com:3128 +#export https_proxy=$http_proxy +#export ftp_proxy=$http_proxy +location=http://archive.ubuntu.net/ubuntu/dists/precise/main/installer-amd64 + +# Currently you have to run this script as root. +if [ `id -u` -ne 0 ]; then + echo "You have to run this script as root." + exit 1 +fi + +# Make sure it's being run from the correct directory. +if [ ! -f ubuntu-12.04.preseed ]; then + echo "You are running this script from the wrong directory." + exit 1 +fi + +pwd=`pwd` + +# Note that the injected file must be called "/preseed.cfg" in order +# for d-i to pick it up. +sed -e "s,@CACHE@,$http_proxy,g" < ubuntu-12.04.preseed > preseed.cfg + +name=tmpprecise + +virsh undefine $name ||: +rm -f ubuntu-12.04 ubuntu-12.04.old + +virt-install \ + --name $name \ + --ram=1024 \ + --os-type=linux --os-variant=ubuntuprecise \ + --initrd-inject=$pwd/preseed.cfg \ + --extra-args="auto console=tty0 console=ttyS0,115200" \ + --disk=$pwd/ubuntu-12.04,size=4 \ + --location=$location \ + --nographics \ + --noreboot +# The virt-install command should exit after complete installation. +# Remove the guest, we don't want it to be defined in libvirt. +virsh undefine $name + +rm preseed.cfg + +# Sysprep (removes logfiles and so on). +virt-sysprep -a ubuntu-12.04 + +# Sparsify. +mv ubuntu-12.04 ubuntu-12.04.old +virt-sparsify ubuntu-12.04.old ubuntu-12.04 +rm ubuntu-12.04.old + +# Compress. +rm -f ubuntu-12.04.xz +xz --best --block-size=16777216 ubuntu-12.04 + +# Result: +ls -lh ubuntu-12.04.xz diff --git a/builder/website/ubuntu-12.04.xz.sig b/builder/website/ubuntu-12.04.xz.sig new file mode 100644 index 000000000..b48041884 --- /dev/null +++ b/builder/website/ubuntu-12.04.xz.sig @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.14 (GNU/Linux) + +iQIcBAABAgAGBQJSUslUAAoJEJFzj3Pht2igf2wP/iRAY6RO6R3kavBolQufnJ5I +Zx1jy1wL7JkTuUeNi2q69iv/JNvf+1bU6egSGcKV1uGUoJMa7mUMe3vF+WlW/XvM +/RpU2sWnOnoe8JrWpaV+PFHV4oQNqR4Xu/wiq+fqsrC3AFkGz9O3ht+7X9pWO5V2 +6XUfAeYNnl/r9ISYFATxn5mysvRtlO7pTra9UhBeLUMEShU0Se2pcppAmqOWhCKv +GYmB8kW28ioOilmcoBJO4Q9MwXYHTP5ZpR1hV6HXG+dv6VkC8WVG5OQIxp6pCqnh +jN0tVc8ahdTX9eE6stzXmfrJzlKnbVnBcmFBTpFoFj5Vdwir2oXrzVMpZqF+V6R9 +DmCSFWo7wtv2qjU+Zajk9Jht8NDf3il8Oz3ROSH8dbHz2AkE8nLh0FXQo3Hbj3gB +iYZNqWz1TCh1j9R9/JMhz+C55nSQO6GM2kc4JUo3B6BZVbhoRVV7w5zv56xCneg1 +cZm8tU1xydIiBePn71o/mmKhxUdq6gCrmGw6Cx55pRegkydoYXDXr8Xjt+dqw9En +EM2fEvpMzsJZ5uyA2e1GsDaf/+8HuZ0PXYGgBqrC7zOOZv4S13dLDtB6cs2K9vI2 +6FjtyBdDscxuFGla9yA8aD8yx2rZ41VWIReaM+RIlbS5hElxiK6YUbLQmnI6DZex +Z1yGEDgOGRa52YrCEsgP +=UfhD +-----END PGP SIGNATURE----- diff --git a/builder/website/ubuntu-13.10.preseed b/builder/website/ubuntu-13.10.preseed new file mode 100644 index 000000000..236e17497 --- /dev/null +++ b/builder/website/ubuntu-13.10.preseed @@ -0,0 +1,376 @@ +#### Contents of the preconfiguration file (for &releasename;) +### Localization +# Locale sets language and country. +d-i debian-installer/locale string en_US + +# Keyboard selection. +# Disable automatic (interactive) keymap detection. +d-i console-setup/ask_detect boolean false +#d-i console-setup/modelcode string pc105 +d-i console-setup/layoutcode string us +# To select a variant of the selected layout (if you leave this out, the +# basic form of the layout will be used): +#d-i console-setup/variantcode string dvorak + +### Network configuration +# netcfg will choose an interface that has link if possible. This makes it +# skip displaying a list if there is more than one interface. +d-i netcfg/choose_interface select auto + +# To pick a particular interface instead: +#d-i netcfg/choose_interface select eth1 + +# If you have a slow dhcp server and the installer times out waiting for +# it, this might be useful. +#d-i netcfg/dhcp_timeout string 60 + +# If you prefer to configure the network manually, uncomment this line and +# the static network configuration below. +#d-i netcfg/disable_dhcp boolean true + +# If you want the preconfiguration file to work on systems both with and +# without a dhcp server, uncomment these lines and the static network +# configuration below. +#d-i netcfg/dhcp_failed note +#d-i netcfg/dhcp_options select Configure network manually + +# Static network configuration. +#d-i netcfg/get_nameservers string 192.168.1.1 +#d-i netcfg/get_ipaddress string 192.168.1.42 +#d-i netcfg/get_netmask string 255.255.255.0 +#d-i netcfg/get_gateway string 192.168.1.1 +#d-i netcfg/confirm_static boolean true + +# Any hostname and domain names assigned from dhcp take precedence over +# values set here. However, setting the values still prevents the questions +# from being shown, even if values come from dhcp. +d-i netcfg/get_hostname string unassigned-hostname +d-i netcfg/get_domain string unassigned-domain + +# Disable that annoying WEP key dialog. +d-i netcfg/wireless_wep string +# The wacky dhcp hostname that some ISPs use as a password of sorts. +#d-i netcfg/dhcp_hostname string radish + +# If non-free firmware is needed for the network or other hardware, you can +# configure the installer to always try to load it, without prompting. Or +# change to false to disable asking. +#d-i hw-detect/load_firmware boolean true + +### Mirror settings +# If you select ftp, the mirror/country string does not need to be set. +#d-i mirror/protocol string ftp +#d-i mirror/country string manual +#d-i mirror/http/hostname string http.us.debian.org +#d-i mirror/http/directory string /ubuntu +#d-i mirror/http/proxy string + +# Alternatively: by default, the installer uses CC.archive.ubuntu.com where +# CC is the ISO-3166-2 code for the selected country. You can preseed this +# so that it does so without asking. +d-i mirror/http/mirror select uk.archive.ubuntu.com + +# Suite to install. +#d-i mirror/suite string &releasename; +# Suite to use for loading installer components (optional). +#d-i mirror/udeb/suite string &releasename; +# Components to use for loading installer components (optional). +#d-i mirror/udeb/components multiselect main, restricted + +### Clock and time zone setup +# Controls whether or not the hardware clock is set to UTC. +d-i clock-setup/utc boolean true + +# You may set this to any valid setting for $TZ; see the contents of +# /usr/share/zoneinfo/ for valid values. +d-i time/zone string US/Eastern + +# Controls whether to use NTP to set the clock during the install +d-i clock-setup/ntp boolean true +# NTP server to use. The default is almost always fine here. +#d-i clock-setup/ntp-server string ntp.example.com + +### Partitioning +# If the system has free space you can choose to only partition that space. +# Alternatives: custom, some_device, some_device_crypto, some_device_lvm. +#d-i partman-auto/init_automatically_partition select biggest_free + +# Alternatively, you can specify a disk to partition. The device name must +# be given in traditional non-devfs format. +# Note: A disk must be specified, unless the system has only one disk. +# For example, to use the first SCSI/SATA hard disk: +#d-i partman-auto/disk string /dev/sda +# In addition, you'll need to specify the method to use. +# The presently available methods are: "regular", "lvm" and "crypto" +d-i partman-auto/method string regular + +# If one of the disks that are going to be automatically partitioned +# contains an old LVM configuration, the user will normally receive a +# warning. This can be preseeded away... +d-i partman-lvm/device_remove_lvm boolean true +# The same applies to pre-existing software RAID array: +d-i partman-md/device_remove_md boolean true +# And the same goes for the confirmation to write the lvm partitions. +d-i partman-lvm/confirm boolean true + +# For LVM partitioning, you can select how much of the volume group to use +# for logical volumes. +#d-i partman-auto-lvm/guided_size string max +#d-i partman-auto-lvm/guided_size string 10GB +#d-i partman-auto-lvm/guided_size string 50% + +# You can choose one of the three predefined partitioning recipes: +# - atomic: all files in one partition +# - home: separate /home partition +# - multi: separate /home, /usr, /var, and /tmp partitions +d-i partman-auto/choose_recipe select atomic + +# Or provide a recipe of your own... +# The recipe format is documented in the file devel/partman-auto-recipe.txt. +# If you have a way to get a recipe file into the d-i environment, you can +# just point at it. +#d-i partman-auto/expert_recipe_file string /hd-media/recipe + +# If not, you can put an entire recipe into the preconfiguration file in one +# (logical) line. This example creates a small /boot partition, suitable +# swap, and uses the rest of the space for the root partition: +#d-i partman-auto/expert_recipe string \ +# boot-root :: \ +# 40 50 100 ext3 \ +# $primary{ } $bootable{ } \ +# method{ format } format{ } \ +# use_filesystem{ } filesystem{ ext3 } \ +# mountpoint{ /boot } \ +# . \ +# 500 10000 1000000000 ext3 \ +# method{ format } format{ } \ +# use_filesystem{ } filesystem{ ext3 } \ +# mountpoint{ / } \ +# . \ +# 64 512 300% linux-swap \ +# method{ swap } format{ } \ +# . + +# If you just want to change the default filesystem from ext3 to something +# else, you can do that without providing a full recipe. +#d-i partman/default_filesystem string ext4 + +# This makes partman automatically partition without confirmation, provided +# that you told it what to do using one of the methods above. +d-i partman/confirm_write_new_label boolean true +d-i partman/choose_partition select finish +d-i partman/confirm boolean true +d-i partman/confirm_nooverwrite boolean true + +### Controlling how partitions are mounted +# The default is to mount by UUID, but you can also choose "traditional" to +# use traditional device names, or "label" to try filesystem labels before +# falling back to UUIDs. +#d-i partman/mount_style select uuid + +### Base system installation +# The kernel image (meta) package to be installed; "none" can be used if no +# kernel is to be installed. +#d-i base-installer/kernel/image string linux-generic + +### Account setup +# Skip creation of a root account (normal user account will be able to +# use sudo). The default is false; preseed this to true if you want to set +# a root password. +#d-i passwd/root-login boolean false +# Alternatively, to skip creation of a normal user account. +d-i passwd/make-user boolean false + +# Root password, either in clear text +d-i passwd/root-password password builder +d-i passwd/root-password-again password builder +# or encrypted using an MD5 hash. +#d-i passwd/root-password-crypted password [MD5 hash] + +# To create a normal user account. +#d-i passwd/user-fullname string Ubuntu User +#d-i passwd/username string ubuntu +# Normal user's password, either in clear text +#d-i passwd/user-password password insecure +#d-i passwd/user-password-again password insecure +# or encrypted using an MD5 hash. +#d-i passwd/user-password-crypted password [MD5 hash] +# Create the first user with the specified UID instead of the default. +#d-i passwd/user-uid string 1010 +# The installer will warn about weak passwords. If you are sure you know +# what you're doing and want to override it, uncomment this. +#d-i user-setup/allow-password-weak boolean true + +# The user account will be added to some standard initial groups. To +# override that, use this. +#d-i passwd/user-default-groups string audio cdrom video + +# Set to true if you want to encrypt the first user's home directory. +d-i user-setup/encrypt-home boolean false + +### Apt setup +# You can choose to install restricted and universe software, or to install +# software from the backports repository. +#d-i apt-setup/restricted boolean true +#d-i apt-setup/universe boolean true +#d-i apt-setup/backports boolean true +# Uncomment this if you don't want to use a network mirror. +#d-i apt-setup/use_mirror boolean false +# Select which update services to use; define the mirrors to be used. +# Values shown below are the normal defaults. +#d-i apt-setup/services-select multiselect security +#d-i apt-setup/security_host string security.ubuntu.com +#d-i apt-setup/security_path string /ubuntu + +# Additional repositories, local[0-9] available +#d-i apt-setup/local0/repository string \ +# http://local.server/ubuntu &releasename; main +#d-i apt-setup/local0/comment string local server +# Enable deb-src lines +#d-i apt-setup/local0/source boolean true +# URL to the public key of the local repository; you must provide a key or +# apt will complain about the unauthenticated repository and so the +# sources.list line will be left commented out +#d-i apt-setup/local0/key string http://local.server/key + +# By default the installer requires that repositories be authenticated +# using a known gpg key. This setting can be used to disable that +# authentication. Warning: Insecure, not recommended. +#d-i debian-installer/allow_unauthenticated string true + +### Package selection +#tasksel tasksel/first multiselect ubuntu-desktop +#tasksel tasksel/first multiselect lamp-server, print-server +#tasksel tasksel/first multiselect kubuntu-desktop +tasksel tasksel/first multiselect openssh-server + +# Individual additional packages to install +#d-i pkgsel/include string openssh-server build-essential +# Whether to upgrade packages after debootstrap. +# Allowed values: none, safe-upgrade, full-upgrade +#d-i pkgsel/upgrade select none + +# Language pack selection +#d-i pkgsel/language-packs multiselect de, en, zh + +# Policy for applying updates. May be "none" (no automatic updates), +# "unattended-upgrades" (install security updates automatically), or +# "landscape" (manage system with Landscape). +#d-i pkgsel/update-policy select none + +# Some versions of the installer can report back on what software you have +# installed, and what software you use. The default is not to report back, +# but sending reports helps the project determine what software is most +# popular and include it on CDs. +#popularity-contest popularity-contest/participate boolean false + +# By default, the system's locate database will be updated after the +# installer has finished installing most packages. This may take a while, so +# if you don't want it, you can set this to "false" to turn it off. +#d-i pkgsel/updatedb boolean true + +### Boot loader installation +# Grub is the default boot loader (for x86). If you want lilo installed +# instead, uncomment this: +#d-i grub-installer/skip boolean true +# To also skip installing lilo, and install no bootloader, uncomment this +# too: +#d-i lilo-installer/skip boolean true + +# This is fairly safe to set, it makes grub install automatically to the MBR +# if no other operating system is detected on the machine. +d-i grub-installer/only_debian boolean true + +# This one makes grub-installer install to the MBR if it also finds some other +# OS, which is less safe as it might not be able to boot that other OS. +d-i grub-installer/with_other_os boolean true + +# Alternatively, if you want to install to a location other than the mbr, +# uncomment and edit these lines: +#d-i grub-installer/only_debian boolean false +#d-i grub-installer/with_other_os boolean false +#d-i grub-installer/bootdev string (hd0,0) +# To install grub to multiple disks: +#d-i grub-installer/bootdev string (hd0,0) (hd1,0) (hd2,0) + +# Optional password for grub, either in clear text +#d-i grub-installer/password password r00tme +#d-i grub-installer/password-again password r00tme +# or encrypted using an MD5 hash, see grub-md5-crypt(8). +#d-i grub-installer/password-crypted password [MD5 hash] + +### Finishing up the installation +# During installations from serial console, the regular virtual consoles +# (VT1-VT6) are normally disabled in /etc/inittab. Uncomment the next +# line to prevent this. +#d-i finish-install/keep-consoles boolean true + +# Avoid that last message about the install being complete. +d-i finish-install/reboot_in_progress note + +# This will prevent the installer from ejecting the CD during the reboot, +# which is useful in some situations. +#d-i cdrom-detect/eject boolean false + +# This is how to make the installer shutdown when finished, but not +# reboot into the installed system. +#d-i debian-installer/exit/halt boolean true +# This will power off the machine instead of just halting it. +#d-i debian-installer/exit/poweroff boolean true + +### X configuration +# X can detect the right driver for some cards, but if you're preseeding, +# you override whatever it chooses. Still, vesa will work most places. +#xserver-xorg xserver-xorg/config/device/driver select vesa + +# A caveat with mouse autodetection is that if it fails, X will retry it +# over and over. So if it's preseeded to be done, there is a possibility of +# an infinite loop if the mouse is not autodetected. +#xserver-xorg xserver-xorg/autodetect_mouse boolean true + +# Monitor autodetection is recommended. +xserver-xorg xserver-xorg/autodetect_monitor boolean true +# Uncomment if you have an LCD display. +#xserver-xorg xserver-xorg/config/monitor/lcd boolean true +# X has three configuration paths for the monitor. Here's how to preseed +# the "medium" path, which is always available. The "simple" path may not +# be available, and the "advanced" path asks too many questions. +xserver-xorg xserver-xorg/config/monitor/selection-method \ + select medium +xserver-xorg xserver-xorg/config/monitor/mode-list \ + select 1024x768 @ 60 Hz + +### Preseeding other packages +# Depending on what software you choose to install, or if things go wrong +# during the installation process, it's possible that other questions may +# be asked. You can preseed those too, of course. To get a list of every +# possible question that could be asked during an install, do an +# installation, and then run these commands: +# debconf-get-selections --installer > file +# debconf-get-selections >> file + + +#### Advanced options +### Running custom commands during the installation +# d-i preseeding is inherently not secure. Nothing in the installer checks +# for attempts at buffer overflows or other exploits of the values of a +# preconfiguration file like this one. Only use preconfiguration files from +# trusted locations! To drive that home, and because it's generally useful, +# here's a way to run any shell command you'd like inside the installer, +# automatically. + +# This first command is run as early as possible, just after +# preseeding is read. +#d-i preseed/early_command string anna-install some-udeb + +# This command is run immediately before the partitioner starts. It may be +# useful to apply dynamic partitioner preseeding that depends on the state +# of the disks (which may not be visible when preseed/early_command runs). +#d-i partman/early_command string debconf-set partman-auto/disk "$(list-devices disk | head -n1)" + +# This command is run just before the install finishes, but when there is +# still a usable /target directory. You can chroot to /target and use it +# directly, or use the apt-install and in-target commands to easily install +# packages and run commands in the target system. +#d-i preseed/late_command string apt-install zsh; in-target chsh -s /bin/zsh + diff --git a/builder/website/ubuntu-13.10.sh b/builder/website/ubuntu-13.10.sh new file mode 100755 index 000000000..7373176e6 --- /dev/null +++ b/builder/website/ubuntu-13.10.sh @@ -0,0 +1,85 @@ +#!/bin/bash - +# libguestfs +# Copyright (C) 2013 Red Hat Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +# The basic plan comes from: +# http://honk.sigxcpu.org/con/Preseeding_Debian_virtual_machines_with_virt_install.html +# https://wiki.debian.org/DebianInstaller/Preseed +# https://help.ubuntu.com/10.04/installation-guide/i386/preseed-using.html + +set -e +set -x + +# Some configuration. +#export http_proxy=http://squid.corp.redhat.com:3128 +#export https_proxy=$http_proxy +#export ftp_proxy=$http_proxy +location=http://archive.ubuntu.net/ubuntu/dists/saucy/main/installer-amd64 + +# Currently you have to run this script as root. +if [ `id -u` -ne 0 ]; then + echo "You have to run this script as root." + exit 1 +fi + +# Make sure it's being run from the correct directory. +if [ ! -f ubuntu-13.10.preseed ]; then + echo "You are running this script from the wrong directory." + exit 1 +fi + +pwd=`pwd` + +# Note that the injected file must be called "/preseed.cfg" in order +# for d-i to pick it up. +sed -e "s,@CACHE@,$http_proxy,g" < ubuntu-13.10.preseed > preseed.cfg + +name=tmpsaucy + +virsh undefine $name ||: +rm -f ubuntu-13.10 ubuntu-13.10.old + +virt-install \ + --name $name \ + --ram=1024 \ + --os-type=linux --os-variant=ubuntusaucy \ + --initrd-inject=$pwd/preseed.cfg \ + --extra-args="auto console=tty0 console=ttyS0,115200" \ + --disk=$pwd/ubuntu-13.10,size=4 \ + --location=$location \ + --nographics \ + --noreboot +# The virt-install command should exit after complete installation. +# Remove the guest, we don't want it to be defined in libvirt. +virsh undefine $name + +rm preseed.cfg + +# Sysprep (removes logfiles and so on). +virt-sysprep -a ubuntu-13.10 + +# Sparsify. +mv ubuntu-13.10 ubuntu-13.10.old +virt-sparsify ubuntu-13.10.old ubuntu-13.10 +rm ubuntu-13.10.old + +# Compress. +rm -f ubuntu-13.10.xz +xz --best --block-size=16777216 ubuntu-13.10 + +# Result: +ls -lh ubuntu-13.10.xz diff --git a/builder/website/ubuntu-13.10.xz.sig b/builder/website/ubuntu-13.10.xz.sig new file mode 100644 index 000000000..f8a2cdf46 --- /dev/null +++ b/builder/website/ubuntu-13.10.xz.sig @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.14 (GNU/Linux) + +iQIcBAABAgAGBQJSUslaAAoJEJFzj3Pht2ig/VcQAIwP3uzFYusmDRLTJsgb8x+6 +Pb4QrtR3jltu6MmXtJAdMhvSwReETCy+h18amKtPQObRrrMB0lq+NGXtaWIkmY+j +BhMJpsmjqOot1pvBp1ag9Q/Jsq2oh4vZw+2YTPlZ9E6orJPXm1AvN366zHgrf4jt +8747ASmzFRbExoQmwIBOYPe5Mo/jMmzk5et87r8Hlcs0g41OADMVP5JAs+T17CbI +e+EM64BhHGMjaxe7NsnGhyb2+VwakJxUSCMYJ2WblLirKaXwIU9nNZgi/iIpk4/D +ntZSnHvp/3tyPmcK8pWZar46xLM1J5TJ18Ko1O9I9mGYMPyvbSgw7WviRKhMMzcr +U8Y5fnb4zZ6ciGH8jC6VhalWW46ArMpHUuadLEzTK2ofMeyKVa6zw6YB4rTHhAd9 +HXm2rlsBK3m4uSuhnS775N2SRMFwsfhZFLS9qTy2BdK1Yh20kQJ4Yop5WviEUjgz +UNICOs0FUmOa6DRJFibMp7duqjlyE2DVtZxWOMIqjgN4TmxgLZ7L7lNXxF0ZGx6v +laRfsHj/IC/nuysptZf1knrT7NEKJrvebI/nGSP96RqCX/Mv9t0Rtj7rki9fwL0H +EofsCl4BS1L5Owm8/iM5cH+Pv/2TuN4Wg78E1Z4uDli9jYpH/QZatoKanFj5QjNc +VqofvPjofGRrQDHk+7Hv +=SauI +-----END PGP SIGNATURE-----