Commit Graph

59 Commits

Author SHA1 Message Date
Gerardo Exequiel Pozzi
9b06f53976 [configs/releng] make packages.both for common packages for each x86_64
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-10-13 14:40:40 -03:00
Pierre Schmitz
5da302251a Add the arch user to some useful groups
Only use groups that wont allow damaging the host system by accident.

Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2012-10-06 07:20:59 +02:00
Pierre Schmitz
2ab707fac7 Only enable the needed services
* pacman-init already pulls in services it depends on
* the multi-user.target is the default
* do not rename the getty service so tools like systemd-delta still work

Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2012-10-06 00:27:18 +02:00
Pierre Schmitz
47bb720d8a Run dhcpcd on all devices
As we did with initscripts, run dhcpcd on all devices and not just eth0.

Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2012-10-05 11:32:28 +02:00
Pierre Schmitz
b64c94f3a4 Disable ntpd service by default
A live system should never alter the host system in any way. This includes setting the bios clock.

E.g. if the user runs his system in local time we would do the wrong thing here.

Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2012-10-05 06:55:36 +02:00
Gerardo Exequiel Pozzi
5d7c6fa707 [configs/releng] Install systemd as default (with sysvcompat)
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-10-03 10:52:13 -03:00
Gerardo Exequiel Pozzi
d798183071 [configs/releng] Enable systemd services
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-10-03 10:52:13 -03:00
Gerardo Exequiel Pozzi
0aabc4f83b [configs/releng] Add autologin.service
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-10-03 10:52:13 -03:00
Gerardo Exequiel Pozzi
b99454115b [configs/releng] Increase efiboot.img size
* Increase size to a safe 31M, (currently we have 400K free since latest changes)
* Also set a filesystem label, can be useful for future usage...

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-09-26 21:25:39 -03:00
Gerardo Exequiel Pozzi
e85c22570b [configs/releng] split make_boot_efi() -> make_efi() / make_efiboot()
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-09-26 12:24:41 -03:00
Keshav P R
f7a138b05b [configs/releng] Use gummiboot-efi instead of UEFI Shell for booting
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-09-26 12:24:41 -03:00
Keshav P R
dc83e0d845 Copy UEFI Shell to (ISO)/EFI/boot/bootx64.efi for setting up UEFI bootable USB and add refind-efi-x86_64 to ISO 2012-09-12 13:09:37 -03:00
Gerardo Exequiel Pozzi
f8df2fbd1b [archiso] Always copytoram for NBD
Avoid issues on shutdown (and during normal usage if network settings changed)

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-08-25 15:14:51 -03:00
Pierre Schmitz
8d4c653647 Use zsh as default interactive shell
This installs zsh and sets it as default for root and the arch user.
grml-zsh-config is installed as a userfriendly default configuration.

Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2012-08-01 20:16:45 -03:00
Pierre Schmitz
17af8d94f1 Adjust rc.conf for recent initscripts changes
* We use a rc.conf file loser to the upstream default.
* Use the recommend config files to setup hostname, locale, timezone and console

EDIT (Gerardo): Add empty FONT= and use ln -f for localtime

Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-08-01 20:16:14 -03:00
Gerardo Exequiel Pozzi
618ea97456 [configs/releng] Copy default config files from /etc/skel to /root
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-07-31 19:52:09 -03:00
Gerardo Exequiel Pozzi
18344824e2 [configs/releng] Remove [core] ISO generation
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-07-31 19:52:09 -03:00
Pierre Schmitz
db7df83061 [configs/releng] Add installation guide
Download and add the current installation guide as plain text.

Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-07-25 15:22:29 -03:00
Gerardo Exequiel Pozzi
493918396f [configs/releng] Add version of pacman-key that allows unattended keyring initialization
This was made originally using directly pacman-key file,
convert it in a patch form, to be more easy to track it.

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-07-18 16:55:51 -03:00
Thomas Bächler
9e230e5e42 Adjust for /lib/modules -> /usr/lib/modules move
Although everything should be fine now (due to the /lib -> /usr/lib symlink),
adjust everything to the proper path.

Edited (Gerardo): Also rename function name and image name to be consisten.

Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-07-16 23:08:35 -03:00
Pierre Schmitz
6e7de25719 Use the host's package cache
Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-06-24 16:57:20 -03:00
Pierre Schmitz
b9b8488be1 Use a default pacman.conf to build releng images
This ensures we do not pick up any testing or third party repos from the host.

Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-06-24 16:57:08 -03:00
Pierre Schmitz
05fdaffef4 Fix creation of [core] repository
* Download and add package signatures to the repository database
* Support any number of configured package caches

Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-06-24 16:56:41 -03:00
Pierre Schmitz
2601bec970 Use pci.ids from the root image instead of downloading it every time
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-06-24 16:53:49 -03:00
Pierre Schmitz
eebdb08fcd Use mirror_status to rank mirrors
Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-06-24 16:53:26 -03:00
Gerardo Exequiel Pozzi
11b323aa4b [configs/releng] Add UEFI boot support via Linux >= 3.3 EFI boot stub on x86_64
Makes an efiboot.img (FAT16) for "El Torito" (additional).
Under an EFI-system, implies that this .ISO works only if is used
as "CD-ROM/DVD-ROM" not in ISO-HYBRID-MBR mode.
If you want, an EFI-ready USB-key, just unpack this "<ISO>/EFI/efiboot.img" (FAT16) to
"<USB-key-FAT-formatted>/EFI" then copy "<ISO>/arch" and setup the filesystem label.

An aditional EFI shell is provided with an startup script for automatic booting
until EFI_STUB supports "linux.conf" to pass boot parms to kernel.
Anyway I think that is a good idea to keep this shell, so can customize boot parms,
or for doing other tasks on systems without an EFI-shell.

RFCv1: Initial efiboot.img build with vmlinuz.efi (Linux with EFI_STUB enabled)
       and archiso.img (initramfs).
RFCv2: Use an startup.nsh with EFI-Shell 2.0 (generated from build.sh) for automatic boot.
RFCv3: Use and older EFI-Shell 1.0 instead of 2.0, since not all UEFI-systems
       are compatible with 2.3+ specs.
RFCv4: The script "startup.nsh" improved by Keshav P R, using a for-loop
       (see notes below from original commit), now that has more than 1-line,
       I moved it to an independent file and is parsed by build.sh.

----
About startup.nsh:
Author: Keshav P R <the.ridikulus.rat@gmail.com>
Date:   Thu Apr 5 10:33:20 2012 +0530
    [configs/releng] Search in all existing UEFI FS mountpoints for archiso efistub kernel file

    There is no guarantee that the efistub kernel will always be in fs0:
    (similar to the case inside linux OS where the sda, sdb confusion exists,
    hence the need for UUIDs), especially when USB (instead os CD/ISO) is
    used for booting.

    Hence loop through all possible fs mountpoints (in UEFI) in startup.nsh
    and try to launch the first mountpoint that contains the archiso files.

    Cd's into the fs%m:\EFI\archiso directory also may remove future issues
    with efistub's linux.conf where the efistub might have problems
    identifying the directory from which the kernel was launched.

    Also add an helpful echo message showing the user the UEFI PATH to the
    archiso kernel file being launched by startup.nsh .

    Hopefully this should work in both CD and USB. Tested in Tianocore
    UDK/EDK2 DuetPkg X64 UEFI 2.3.1 firmware with EdkShellBinPkg's Shell.
----

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-04-10 21:01:12 -03:00
Gerardo Exequiel Pozzi
2b3f77c5c8 [configs/releng] Remove pkglist.repo-core.* from non core-dual images.
They are present by mistake.

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-04-10 20:58:49 -03:00
Gerardo Exequiel Pozzi
eea589ad2a [configs/releng] Generate list of packages.
* For installed packages on live-enviroment use mkarchiso pkglist command.
* For packages in [core] repo in core.iso, make a list of them during repo generation.
  It uses the same format like done by pkglist command: <repo>/<package>-<version>
  (anyway repo is always core in this case).

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-04-09 23:37:27 -03:00
Gerardo Exequiel Pozzi
68c35768a4 [configs/releng] Use installed locale.gen instead of local copy.
Now we can do this, since nobody touches this file before this step.
(previously by mkarchroot)

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-03-17 13:27:37 -03:00
Gerardo Exequiel Pozzi
ece58f2b69 [configs/releng] Add new build mode: all
This mode allow to build all 6 ISOs in just one step if build type is <all>.
So "build.sh build all all" -> (single-i686, single-x86_64, dual) X (netinstall, core).

Note that the <purge> command is executed between each build step to save space,
so do not use this mode if you want to keep all temporal files in work_dir.

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-03-17 12:43:47 -03:00
Gerardo Exequiel Pozzi
11a41f0cea [configs/releng] Use private pacman.db on make_core_repo
This allow to execute build.sh in 32-bit-compat without using a chroot
and doing tricks.

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-03-16 02:16:04 -03:00
Gerardo Exequiel Pozzi
4238c06654 [archiso] Implement own chroot functions in mkarchiso
* Remove devtools dependency.
* Better control over what files are touched inside chroot (root-image).
  Now: NONE :)
* Two new commands:
  + init: To install {base} group and other needed packages (syslinux for now)
  + run: If we want to run some command inside chroot
         (mkinitcpio, locale-gen, useradd, etc etc...)
* Renamed command: "created" to "install", says much better what does.

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-03-16 02:15:59 -03:00
Gerardo Exequiel Pozzi
bd69ce650f [archiso] /lib/initcpio -> /usr/lib/initcpio
Needs mkinitpcio >= 0.8.4

Next changes will be for mdadm and mkinitcpio-nfs-utils:
* /lib/initcpio/udev/11-dm-initramfs.rules
* /lib/initcpio/ipconfig , /lib/initcpio/nfsmount

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-03-04 21:04:37 -03:00
Gerardo Exequiel Pozzi
8b4c7014f8 [archiso] archiso_pxe_curl rename to archiso_pxe_http
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-12-03 18:08:57 -03:00
Thomas Bächler
593f47480a actually copy the archiso_kms hook to workdir 2011-11-29 10:47:21 -03:00
Gerardo Exequiel Pozzi
b24b03baca [configs/releng] Make all syslinux bootloaders works with the sames configs.
* In that way, we have unified directory scheme among {pxe,sys,ext,iso}linux,
  sharing the same directory structure and config files.
* Also enable IPAPPEND (will show a warning message about unknown directive in non-pxelinux before menu)

NEW:
* Rename syslinux*.cfg -> archiso*.cfg
* Now syslinux.cfg is only a "loadconfig" trick like we are doing for isolinux
* All paths are now relative to %INSTALL_DIR% ($archisobasedir) (Default: /arch/)

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-11-28 12:28:03 -03:00
Gerardo Exequiel Pozzi
59088a92bb [archiso] Add PXE NFS support
It add support for using *.sfs images via NFS.

It must be located after archiso_pxe_nbd in mkinitcpio.conf, in that way
NBD is the default.

New boot parameters:

    archiso_nfs_srv=IP:/path
         Set the NFS IP and path. Accepts ${pxeserver} as IP.

    archiso_nfs_opt= Sets NFS mount opts (comma separated)
                    Defaults to:
                      port            = as given by server portmap daemon
                      rsize           = 1024
                      wsize           = 1024
                      timeo           = 7
                      retrans         = 3
                      acregmin        = 3
                      acregmax        = 60
                      acdirmin        = 30
                      acdirmax        = 60
                      flags           = hard, nointr, noposix, cto, ac

:: Running Hook [archiso_pxe_common]
IP-Config: eth0 hardware address 52:54:00:12:34:57 mtu 1500
IP-Config: eth0 guessed broadcast address 192.168.0.255
IP-Config: eth0 guessed nameserver address 192.168.0.218
IP-Config: eth0 complete (from 192.168.0.218):
 address: 192.168.0.90     broadcast: 192.168.0.255    netmask: 255.255.255.0
 gateway: 192.168.0.218    dns0     : 192.168.0.218    dns1   : 0.0.0.0
 rootserver: 192.168.0.218 rootpath:
 filename  :
:: Running Hook [archiso_pxe_nbd]
:: Running Hook [archiso_pxe_curl]
:: Running Hook [archiso_pxe_nfs]
:: Mounting '192.168.0.77:/mnt/iso'

...
192.168.0.77:/mnt/iso/ on /run/archiso/bootmnt type nfs (rw,relatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,nolock,proto=tcp,port=65535,timeo=7,retrans=3,sec=sys,local_lock=all,addr=192.168.0.77)
...

My /etc/exports
/mnt/iso 192.168.0.90(ro,no_subtree_check,no_root_squash)
2011-11-28 12:28:03 -03:00
Gerardo Exequiel Pozzi
9e3be7d07b [archiso] Add archiso_pxe_curl hook
Its add support for downloading the ISO image via HTTP/FTP with curl or download *.sfs files.
The files are downloaded on /run/archiso/curlspace (tmpfs) and setup a loop dev from it
(like in archiso_loop_mnt) in the ISO case, or just do a bind mount to
/run/archiso/bootmnt in the other case.

This hook must be located after archiso_pxe_nbd in mkinitcpio.conf, in that way
NBD is the default.

New bootparm:
* archiso_curl_url=(first form)
    archiso_curl_url=http://192.168.0.7/archlinux/iso/archlinux.iso (absolute form)
        Use an absolute URL. Fetch the entire ISO
    archiso_curl_url=ftp://${pxeserver}/archlinux/iso/archlinux.iso (relative form)
        Use the as IP the same server where PXE reside.  Fetch the entire ISO

* archiso_curl_url=(second form)
    archiso_curl_url=http://192.168.0.7/archlinux/iso/unpacked (absolute form)
        Use an absolute URL. Where unpacked (an example name) is a directory where
        ${archisobasedir} ("arch" by default) is located with all *.sfs.
        This fetch only needed files.
    archiso_curl_url=ftp://${pxeserver}/archlinux/iso/unpacked (relative form)
        Use the as IP the same server where PXE reside. Where unpacked (an example name)
        is a directory where ${archisobasedir} ("arch" by default)
        is located with all *.sfs. This fetch only needed files.

* curlspace_size= Set a size for a tmpfs filesystem where files are downloaded.

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-11-28 12:28:03 -03:00
Gerardo Exequiel Pozzi
b21a5003e2 [archiso] Split archiso_pxe_nbd in two hooks.
One hook only setup the network device (archiso_pxe_common) the other
setup the NBD client (archiso_pxe_nbd).

New bootparam:
    archiso_pxe_srv=IP
        Allow to set an IP different from the PXE server.

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-11-28 12:28:03 -03:00
Gerardo Exequiel Pozzi
149848e671 [configs/*] chroot to root-image for initramfs build
Avoid issues with -b BASEDIR (*).
We became independent of the mkinitcpio version of the build environment.

(*) For example of a recent issue:
http://mailman.archlinux.org/pipermail/arch-projects/2011-November/002202.html
http://mailman.archlinux.org/pipermail/arch-projects/2011-November/002205.html

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-11-28 10:35:05 -03:00
Gerardo Exequiel Pozzi
a53cb1442d [archiso] Add archiso_shutdown hook.
STATUS: Working (std boot, loop_mnt, pxe) with copytoram=[y|n].

NEEDS: initscript > 2011.07.3, mkinitcpio > 0.7.2, mkinitcpio-busybox > 1.18.5-1

Purpose: we need this for propertly unmount $cow_device,
used for persistent dm-snapshot devices.

This hook is based on work from Tom Gundersen[#1],
but adapted for archiso things (specially the shutdown script)

[#1] http://mailman.archlinux.org/pipermail/arch-projects/2011-July/001549.html
[#2] http://projects.archlinux.org/initscripts.git/commit/?id=1fa7b4b453e96533ae1db3630031285e5fc302b3
[#3] http://mailman.archlinux.org/pipermail/arch-projects/2011-August/001749.html

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-10-23 21:24:18 -03:00
Gerardo Exequiel Pozzi
3ca566f0a6 [configs/releng] Disable pacman progress bar during core-repo download
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-10-22 00:53:54 -03:00
Gerardo Exequiel Pozzi
84ab8f1d07 [configs/releng] Replace wget with pacman for make_core_repo()
Fix: FS#18959 - download_repos.sh does not report tcp timeouts and such

* Always use pacman cache. Previously pacman cache was used if package
  already exists on it, now is also used to download pkg on it.
  Finally copy all packages from cache with cp and make core.db.
* Using pacman, we can sure that package integrity is right.
* Always get a [core] package, in case of [testing] enabled.
* Now works when mirror is: Server = file:// ;)

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-30 23:46:56 -03:00
Gerardo Exequiel Pozzi
ba3a83897f [archiso] Integrate omit_kill_nbd_client logic in hook.
This makes archiso_pxe_nbd functionallity full-independient from
archiso profiles (configs/*).

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-29 17:03:00 -03:00
Gerardo Exequiel Pozzi
58dcc54fb9 [archiso] Switch from cdrkit to libisoburn
* Preparing terrain for UEFI support.
* Also make isohybrid hack in one step.
* Removed UDF layer, since xorriso does not support it.
* Removed unsupported options by xorriso (-uid/-gid/-allow-limited-size)
* Removed option already default in xorriso (-input-charset utf-8)

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-29 01:47:57 -03:00
Gerardo Exequiel Pozzi
a1ce66ed67 [configs/releng] Support configurable build options via command line
usage ./build.sh [options] command <command options>

 General options:
    -N <iso_name>      Set an iso filename (prefix)
                        Default: archlinux
    -V <iso_version>   Set an iso version (in filename)
                        Default: 2011.08.18
    -L <iso_label>     Set an iso label (disk label)
                        Default: ARCH_201108
    -D <install_dir>   Set an install_dir (directory inside iso)
                        Default: arch
    -w <work_dir>      Set the working directory
                        Default: work
    -o <out_dir>       Set the output directory
                        Default: out
    -v                 Enable verbose output
    -h                 This help message

 Commands:
   build <mode> <type>
      Build selected .iso by <mode> and <type>
   purge <mode>
      Clean working directory except iso/ directory of build <mode>
   clean <mode>
      Clean working directory and .iso file in output directory of build <mode>

 Command options:
         <mode> Valid values 'single' or 'dual'
         <type> Valid values 'netinstall', 'core' or 'all'

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-29 01:45:49 -03:00
Gerardo Exequiel Pozzi
c3e2ace2a8 [archiso] Use -w <work_dir> instead of cmd <work>, add -o <out_dir>
Default (if not specified) -w work -o out.

-o <out_dir> is only used by 'iso' command.

Adjust build.sh of releng and baseline profile to reflect this change.

<project>
  - work <- $work_dir
  - out  <- $out_dir

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-29 01:45:49 -03:00
Gerardo Exequiel Pozzi
dbabf9eb7f [configs/*] Rename $name -> $iso_name, $version -> $iso_version
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-29 01:45:49 -03:00
Gerardo Exequiel Pozzi
f57e125cbf [configs/releng] Add missing -D param to checksum command
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-18 12:40:34 -03:00
Gerardo Exequiel Pozzi
e1ba41f9d6 [archiso] Add checksum= boot param
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-15 01:07:31 -03:00