Tested only under QEMU using OVMF SecureBoot enabled firmware plus lockdown-ms.
Both loader.efi (gummiboot) and vmlinuz.efi should be hashed before boot in secure mode.
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
The new mirror= option takes a mirror URL and creates a new mirrorlist.
When setting mirror=auto, the mirror is taken from archiso_http_srv in
order to keep using the mirror selected in the netboot menu.
* Remove the unattended-keyring-init patch as this was applied by upstream with pacamn 4.1
* Update our pacman.conf following the new upstream default
Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
* This scripts, now runs only in x86_64.
* build.sh does not require arguments to run (no more build, clean, purge).
* /usr/share split is not done anymore: there are some differences between two arches. (ISO size +60MiB)
* /usr/lib/modules split is not done anymore: this was never enabled officially in aitab.
Tested and works fine. Maybe some small cosmetic changes needed.
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
Simplify code path.
Previously in "dual" mode is executed when arch=i686, i686 was used as primary source.
This does not change current behaviour of building "dual" on x86_64.
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
Using a separate shell script to customize live-enviroment,
makes much more readable code.
Move all thing except:
* Need network access (name resolving).
* Need access to some file outside chroot.
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
Leave the work to the [nss-myhostname] package that is now in {base}
and is configured by default in [filesystem] (/etc/nsswitch.conf).
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
* 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>
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>
* 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>
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>
* 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>
* 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>
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>
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>
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>
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>
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>
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>
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>
* 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>
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>
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>
* 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>
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>
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>
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>
* 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>
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>
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>
* 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>
* 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>