Commit Graph

553 Commits

Author SHA1 Message Date
Gerardo Exequiel Pozzi
c82d309eb8 [archiso] README: add rsync as dep
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-04-14 23:40: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
f12097b2c4 [archiso] mkarchiso: add new pkglist command.
This command makes a list of installed packages on root-image,
on <ISO>/$archisobasedir/pkglist.$arch.txt with the format
<repo>/<package>-<version>

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-04-09 17:41:12 -03:00
Gerardo Exequiel Pozzi
fbb6272b86 [archiso] adjust archiso hook for udev>=181-9
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-04-05 20:05:21 -03:00
Gerardo Exequiel Pozzi
9069e2c103 [archiso] mkarchiso: optionally add EFI "El Torito" boot support.
If EFI/archiso/efiboot.img exists then an alternative "El Torito"
boot image is added to the ISO image compatible for EFI.
This image is a FAT filesystem, that is interpreted by EFI as ESP
(EFI System Partition).

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-04-01 12:04:00 -03:00
Gerardo Exequiel Pozzi
67096caef2 [archiso] Re-order and use long xorrisofs options.
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-04-01 11:06:29 -03:00
Gerardo Exequiel Pozzi
eed6c84e40 [archiso] Set a safe locale to C
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-03-17 13:47:09 -03:00
Gerardo Exequiel Pozzi
911888b150 [archiso] Improve help message of mkarchiso
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-03-17 13:39:40 -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
8f21e9611e [archiso] Update README
Make build steps much more simply (remove chroot build is not really needed now).

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-03-16 02:16:04 -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
ab5d67fe43 [archiso] archiso_shutdown: Avoid mtab warning (not found)
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-03-15 23:43:58 -03:00
Gerardo Exequiel Pozzi
6f9c629393 [archiso] Copy "mount" in archiso_shutdown
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-03-15 23:25:20 -03:00
Gerardo Exequiel Pozzi
25c535fa17 [archiso] README update
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-03-12 11:35:57 -03:00
Gerardo Exequiel Pozzi
630f5f9f6a [archiso] README update
Use new -d option in mkarchroot (mount /dev as devtmpfs), then avoid
mknod for loop dev. (Needs devtools >= 20120305)

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-03-05 19:18:29 -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
4f79083856 [archiso] Remove uneeded /run/archiso/img_dev_loop
Superseded by /run/archiso/used_block_devices

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-02-23 00:50:35 -03:00
Gerardo Exequiel Pozzi
354a202bcc [archiso] Update archiso_shutdown hook
* Add libraries from /usr/lib and /sbin/losetup.
* Use used_block_devices to detach loop devices.

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-02-23 00:01:17 -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
5123b25aa1 [archiso] Add /run/archiso/used_block_devices
This list includes block devices of:
* Boot medium [archisodevice] (only if no copytoram= is used)
* Loop medium [img_dev] (only if no copytoram= is used)
* COW space [cowdevice] (only if cowdevice= is used (no tmpfs is used))
* Loop devices used for SquashFS images.
* Loop devices used for device-mapper devices (two per each dm-device, one RO{*.fs} and one RW{*.cow})

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-02-22 23:46:14 -03:00
Gerardo Exequiel Pozzi
f0b4c35337 [archiso] Use losetup/mount instead of mount directly *.sfs
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-02-22 21:18:15 -03:00
Gerardo Exequiel Pozzi
e6c885d29f [archiso] Setup ro loop devs as read-only
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-02-22 21:18:15 -03:00
Gerardo Exequiel Pozzi
9703564262 [archiso] Use _mnt_dev() for SquashFS and dm-mapper
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-02-22 21:18:15 -03:00
Gerardo Exequiel Pozzi
bc4731a0d3 [archiso] Remove uneeded ;
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-02-22 21:18:15 -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
27940c420f [archiso] Misc style cleanups
* Add #!/bin/bash to install hooks and fixed vimlines.
* Removed empty variables.
* Reorder variables, adjust brace/parens in functions.
* Removed things implemented in base hook (/tmp, /etc/fstab).

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-02-22 21:18:07 -03:00
Gerardo Exequiel Pozzi
c593c2bd24 [archiso] Avoid full path in add_binary
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-02-03 10:58:01 -03:00
Gerardo Exequiel Pozzi
0720ac9bd4 [archiso] Refactor: Use losetup from util-linux
New losetup from util-linux 2.21 uses new /dev/loop-control from Linux 3.1.

Needs mkinitcpio-0.8.2+ (provides modules.devname, or workaround with earlymodules=loop)

Get advantages from it! Removing custom shell code.

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-01-11 04:44:41 -03:00
Gerardo Exequiel Pozzi
36f327c6d4 [archiso] simplify _mnt_fs() and _mnt_sfs()
mount is now from util-linux (like in e135003c13)

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-01-05 17:58:12 -03:00
Gerardo Exequiel Pozzi
2b211a9017 [archiso] Make fstab from initramfs
This is needed for initscripts 2012.01, at least the entry for /.
Otherwise / is remounted ro, but not remounted rw later.

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-01-05 17:58:12 -03:00
jamesm-sitegen
197cf4327a [archiso] README: Fixed a tiny issue
We are not inside the chroots until we are chrooted ;-)

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-01-05 17:58:12 -03:00
Gerardo Exequiel Pozzi
882d9fa5ec [archiso] update testiso
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-12-16 16:27:17 -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
92dbba6c11 [archiso] Cleanup: pxe_curl: Remove download-iso-loopback support.
This was the first implementation that downloads the complete ISO,
but now we have the posibility of download only needed *.sfs files.

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-12-03 17:45:45 -03:00
Gerardo Exequiel Pozzi
305bca4692 [archiso] Cleanup: Remove *.fs support.
This was useful to me during development of dm-snapshot support
to create very quickly isos without wating for SquashFS compression.

Is time to remove this, I think the is no practical usage,
and make the code a bit more simple.

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-12-03 11:22:03 -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
3df0be6a22 [archiso] Do not use PXE NBD as default.
* Now we have more than one PXE boot methods.
* archiso_ndb_srv= accepts special ${pxeserver} parameter like in others PXE hooks.
* This allows to setup network from initramfs without forcing using a special PXE hook.
* Update README

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-12-02 14:12:16 -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