Commit Graph

278 Commits

Author SHA1 Message Date
Pierre Schmitz
4ed9ec9182 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
c795707975 Enable network by default
* add the network daemon to rc.conf
* configure dhcpd to background immediatly so we don't timeout if network is not up yet

Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2012-08-01 20:16:44 -03:00
Pierre Schmitz
6491e409a9 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
d2394aa2b9 [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
e93e40d417 [configs/releng] Remove [core] ISO generation
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-07-31 19:52:09 -03:00
Gerardo Exequiel Pozzi
dd7d347d97 [configs/releng] Add intentional black line
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-07-25 15:57:51 -03:00
Pierre Schmitz
49b3f35823 [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
99810c2a2f [configs/releng] Add grub(2) to packages.*
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-07-19 14:47:05 -03:00
Gerardo Exequiel Pozzi
6af3585eb4 [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
bb84aa78ac 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
6327470e39 Do not maintain our own copy of /etc/issue and /etc/arch-release
Adding branding here is not worth the effort. We should keep the archiso environment as vanilla as possible.

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-07-16 23:00:17 -03:00
Thomas Bächler
2cb8fe511c Fix autologin
The old autologin method doesn't work anymore with recent login from util-linux.
Utilize agetty -a instead.

Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-07-16 22:59:45 -03:00
Pierre Schmitz
3aa07404ad Add arch-install-scripts
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-07-16 22:59:29 -03:00
Pierre Schmitz
6896538a41 Remove aif
Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-07-16 22:59:06 -03:00
Pierre Schmitz
d7e790df23 Initialize pacman keyring on bootup
This will allow users to install packages within the live environment.
We use the haveged daemon to increase entropy from CPU timings.

See http://www.issihosts.com/haveged/ for details.

Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-06-24 21:47:07 -03:00
Pierre Schmitz
dd368b5a81 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
344dd0064a 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
6c0770de06 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
e35e835e3c 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
604d910642 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
Pierre Schmitz
64b5e16928 Set UTC as default timezone
UTC is a more reasonable default than Canada/Pacific

Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-06-24 16:52:11 -03:00
Gerardo Exequiel Pozzi
425e1ea5ef [configs/releng] Add efibootmgr to installed packages on live-enviroment.
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-04-10 21:17:45 -03:00
Gerardo Exequiel Pozzi
6caa5bcb69 [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
ee336f7d21 [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
08ebe04b00 [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
b32303098f [configs/releng] Fix tabs in hosts
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-03-17 13:32:08 -03:00
Gerardo Exequiel Pozzi
e0a7a91874 [configs/releng] Remove local copy of resolv.conf
Nobody touches this file now (previously was mkarchroot)

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-03-17 13:30:15 -03:00
Gerardo Exequiel Pozzi
65e04d7553 [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
4d02fff37e [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
2931abd5b9 [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
3d05bef2b9 [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
1f66a737de [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
60aa7a1857 [configs/releng] Add /run/aif/ignore_block_devices
This is just a symlink to /run/archiso/used_block_devices

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-02-22 23:46:17 -03:00
Gerardo Exequiel Pozzi
f5cdc9cff5 [configs/releng] packages: btrfs-progs-unstable -> btrfs-progs
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-02-22 21:18:15 -03:00
Gerardo Exequiel Pozzi
dceb5a029f [archiso] Rename archiso_curl_url= to archiso_http_srv=
Also rename curlspace_size= to archiso_http_spc=

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-12-04 17:18:06 -03:00
Gerardo Exequiel Pozzi
9ca157c140 [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
Gerardo Exequiel Pozzi
10d42b18b8 [configs/releng] Add darkhttpd to packages.*
Simple way to enable self-PXE-server live-enviroment with HTTP.

dnsmasq --port=0 \
        --enable-tftp \
        --tftp-root=/run/archiso/bootmnt \
        --dhcp-range=192.168.0.2,192.168.0.254,86400 \
        --dhcp-boot=/arch/boot/syslinux/gpxelinux.0 \
        --dhcp-option-force=209,boot/syslinux/archiso.cfg \
        --dhcp-option-force=210,/arch/

darkhttpd /run/archiso/bootmnt

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-12-02 22:42:57 -03:00
Gerardo Exequiel Pozzi
87e84261c9 [configs/releng] Make syslinux.cfg (loadconfig) with relative paths.
We are only using these files only for SYSLINUX bootloader that supports
".." as directories.

ISOLINUX jumps to archiso.cfg via isolinux.cfg
PXELINUX goes directly to archiso.cfg via DHCP configuration.

Suggested by Thomas.

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-12-02 22:08:52 -03:00
Gerardo Exequiel Pozzi
d7966acd15 [configs/releng] Use whichsys.c32 to determine bootloader type
* In that way we can have two differents syslinux menus depending if booting from
PXE or from non-PXE.
Some file renames are made to keep things ordered:

archiso_pxe* all things related to PXELINUX
archiso_sys* all things related to SYSLINUX
*_inc.cfg only contains INCLUDE directive

* By default NBD PXE option is selected for booting on timeout.
* As (NDB/NFS/HTTP/FTP) server is used the same IP from pxeserver.

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-12-02 14:24:12 -03:00
Gerardo Exequiel Pozzi
7cb67d42fa [configs/*] syslinux: Use UI instead of DEFAULT for *menu.c32
* UI is more correct than DEFAULT for simple menu system.
* Remove TIMEOUT
* Remove PROMPT 0, this is the default value.

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-12-02 14:12:11 -03:00
Gerardo Exequiel Pozzi
7c83ce219a [configs/releng] Split syslinux cfgs in single arch, like in dual arch
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-12-02 00:44:02 -03:00
Thomas Bächler
d97553d8c6 actually copy the archiso_kms hook to workdir 2011-11-29 10:47:21 -03:00
Thomas Bächler
cd91ad28b0 Add common KMS modules to the releng initramfs image.
On machines with common graphics chipsets (radeon, intel, nvidia), enable
KMS early. Downloading images from a remote server can take time, better
view the status with a nice resolution.
2011-11-29 09:53:22 -03:00
Gerardo Exequiel Pozzi
0411fc90bb [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
76dea1654e [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
8eb4c624dc [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
1edaf15cef [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
40965461a4 [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
54d2e0336a [configs/releng] Remove inetutils from packages.*
Is in {base} since 1.8-4.

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-11-16 23:16:38 -03:00
Gerardo Exequiel Pozzi
469b5b2c58 [archiso] install hook cleanups
* Remove IDE stuff.
* Remove modules that can be added via relevant hooks.
* Replace sata with virtio in baseline profile.

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-11-05 21:03:35 -03:00