summaryrefslogtreecommitdiff
path: root/archiso/hooks
AgeCommit message (Collapse)Author
2012-04-19[archiso] Canonicalize path to dm-devices in used_block_devicesGerardo Exequiel Pozzi
All devices listed at used_block_devices, now are canonicalized. Fix FS#29538 Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-03-15[archiso] Copy "mount" in archiso_shutdownGerardo Exequiel Pozzi
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-02-23[archiso] Remove uneeded /run/archiso/img_dev_loopGerardo Exequiel Pozzi
Superseded by /run/archiso/used_block_devices Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-02-23[archiso] Update archiso_shutdown hookGerardo Exequiel Pozzi
* 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-22[archiso] Add /run/archiso/used_block_devicesGerardo Exequiel Pozzi
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[archiso] Use losetup/mount instead of mount directly *.sfsGerardo Exequiel Pozzi
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-02-22[archiso] Setup ro loop devs as read-onlyGerardo Exequiel Pozzi
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-02-22[archiso] Use _mnt_dev() for SquashFS and dm-mapperGerardo Exequiel Pozzi
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-02-22[archiso] Remove uneeded ;Gerardo Exequiel Pozzi
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-01-11[archiso] Refactor: Use losetup from util-linuxGerardo Exequiel Pozzi
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-05[archiso] simplify _mnt_fs() and _mnt_sfs()Gerardo Exequiel Pozzi
mount is now from util-linux (like in e135003c13aef15abc78562a3ab17fa41c0330cc) Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2012-01-05[archiso] Make fstab from initramfsGerardo Exequiel Pozzi
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>
2011-12-04[archiso] Rename archiso_curl_url= to archiso_http_srv=Gerardo Exequiel Pozzi
Also rename curlspace_size= to archiso_http_spc= Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-12-03[archiso] archiso_pxe_curl rename to archiso_pxe_httpGerardo Exequiel Pozzi
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-12-03[archiso] Cleanup: pxe_curl: Remove download-iso-loopback support.Gerardo Exequiel Pozzi
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[archiso] Cleanup: Remove *.fs support.Gerardo Exequiel Pozzi
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-02[archiso] Do not use PXE NBD as default.Gerardo Exequiel Pozzi
* 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-11-28[archiso] Add checksum support to pxe_curlGerardo Exequiel Pozzi
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-11-28[archiso] Checksum only aitab and *.sfs (per architecture)Gerardo Exequiel Pozzi
We are currently checksuming all files inside $archisobasedir (aitab, *sfs, kernel/initramfs and boot/syslinux related files) this is stored in one file only. Its works good for now, but I think we only need to checksum only aitab and *.sfs if they are needed. Currently if you boot a dual-iso in i686, also checksum is done for *.sfs of x86_64. Not a big issue, this just take a bit more time. The real issue is when booting via PXE with HTTP/FTP methods, since they download only aitab and needed *.sfs files, can not use directly the only one file where checksums are stored. This patch does: (1) Do not checksum syslinux related files, anyway you are already reach initramfs stage. (2) Do not checksum kernel/initramfs files, for the same as (1) (3) Two checksum.${arch}.md5 for each i686 and x86_64 for only aitab and *.sfs. Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-11-28[archiso] Add DNS resolver support to archiso_pxe_commonGerardo Exequiel Pozzi
[ramfs /]# cat /etc/resolv.conf nameserver 192.168.0.77 [ramfs /]# curl -O http://releng.archlinux.org/pxeboot/README % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 1129 100 1129 0 0 2191 0 --:--:-- --:--:-- --:--:-- 4589 [ramfs /]# Do not "add_binary /lib/libnss_dns.so.2", because will add libnss_dns-VERSION.so.2 as libnss_dns.so.2 Is not an issue will work (nobody links directly to VERSION), but is not nice. Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-11-28[archiso] Add PXE NFS supportGerardo Exequiel Pozzi
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[archiso] Add archiso_pxe_curl hookGerardo Exequiel Pozzi
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[archiso] Split archiso_pxe_nbd in two hooks.Gerardo Exequiel Pozzi
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[archiso] Check if /run/archiso/bootmnt is a mountpoint.Gerardo Exequiel Pozzi
In this way allow to mount /run/archiso/bootmnt from another hook, but still use the logic from the main mount_hook, skipping only this mount. Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-11-28[archiso] Only accepts aitab insideGerardo Exequiel Pozzi
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-11-28[archiso] Use different logic when archisodevice == cow_deviceGerardo Exequiel Pozzi
* Now bootmnt/img_dev is always a ro-mount, and cowspace is first ro-mount then rw-mount. * Fix a "hidden" bug: at the time of test [[ -ef ]], if devices nodes are not ready, such test will fail then archisodevice will mounted ro and when cow_device is mounted to be rw it fails. (I recently suffered this on a machine with slow USB) Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-11-28[archiso] simplify _mnt_dev() (mount is now from util-linux)Gerardo Exequiel Pozzi
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-11-16[archiso] Do not bind mount on /bootmntGerardo Exequiel Pozzi
Boot media is already available in /run/archiso/bootmnt if no copytoram is used. Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-11-16[hooks/archiso_pxe_nbd] Refactor, remove sed usage.Gerardo Exequiel Pozzi
* ipconfig cmd writes a file in /tmp that is ready for direct evaluation. We can use this instead of parsing the output, to do this some variable renames are needed. Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-11-15[hooks/archiso_pxe_nbd] Remove grep usageGerardo Exequiel Pozzi
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-10-23[archiso] Add archiso_shutdown hook.Gerardo Exequiel Pozzi
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[archiso] Add support for img_label= and allow img_dev same as cow_devGerardo Exequiel Pozzi
* Support img_label= * Allow use img_dev= as cow_device= * Use new function _mnt_dev() from archiso. * Check for error while setting loopback device. Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-10-23[archiso] Mount all fs on /run/archiso instead of /Gerardo Exequiel Pozzi
This allow to take control again of these mountpoints outside initramfs. (i.e: on deinitramfs stage at shutdown for unmount it) Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-10-23[archiso] Allow persistent cow dm-snapshots.Gerardo Exequiel Pozzi
Add some options to control where all COW files will be located. Until this moment all files are located in a tmpfs filesystem. Now is posible to set a device via a filesystem label or device node plus a directory, where all these files will be stored. All dm-snapshot devices will be persistent by default, but this can be changed if wanted. Take care, a filesystem that does not support sparse files maybe is not the best choice for COW files, because they are created with the same size (is apparent) like the read-only device (the image.fs inside .sfs). Of course sooner or later, depending on use, these files actually end up being as big as the read-only device. KNOW-ISSUE: On shutdown in step "Unmounting Filesystems" will [FAIL], all filesystem except $cow_device, will be unmounted/remounted-ro. For this reason this change needs an archiso_shutdown hook, thats unmount all block devices used by archiso. (Work in progress) Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-10-23[archiso] Add a new function _mnt_dev(), use it for mounting archisodevice.Gerardo Exequiel Pozzi
Separate this code from main mount hook, and make it more generic. _mnt_dev(device, mountpoint, flags) -> wait for device and mount, launch a shell if something goes wrong. Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-10-12[archiso] Unify ->Gerardo Exequiel Pozzi
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-29[archiso] Integrate omit_kill_nbd_client logic in hook.Gerardo Exequiel Pozzi
This makes archiso_pxe_nbd functionallity full-independient from archiso profiles (configs/*). Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-28[archiso] Change location of nbd_client.pidGerardo Exequiel Pozzi
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-26[archiso] Load module loop in run_hook()Gerardo Exequiel Pozzi
Otherwise archiso_loop_mnt will fail. Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-15[archiso] Add checksum= boot paramGerardo Exequiel Pozzi
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-09[archiso] Add dm_snap_prefix= boot param.Gerardo Exequiel Pozzi
Default value is "arch". This implies that all device mapper node for snapshot devices will be for example: arch_root-image. This helps AIF to hidden these devices from "Device Configuration". Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-07-09[archiso_pxe_nbd] Allow change NBD export name.Gerardo Exequiel Pozzi
Requested at FS#25051 Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-07-09[archiso] Create correctly loop devs if loop.max_part > 0Gerardo Exequiel Pozzi
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-07-09Avoid killing nbd-daemon on shutdownGerardo Exequiel Pozzi
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-06-18[archiso] Use dm-snapshot instead of aufs2 (A.K.A. "The Big Commit")Gerardo Exequiel Pozzi
* Use device mapper + snapshot module, instead union layer filesystem. * A block-level approach vs vfs-level. * No more unofficial (Linux) things. * More memory is needed. * Refactor mkarchiso. * Refactor hooks/archiso. * Fix install/archiso_pxe_nbd (due recent change in mkinitcpio-0.6.15 on checked_modules()/all_modules()) [Thanks Dave for the improved workaround] * New configs/releng to build official images. * Works with a Bash script instead of Makefile. (better control and easy to maintain) * Remove configs/syslinux-iso. * Remove archiso2dual script. Integrate functionality in configs/releng. * New configs/baseline to build the most basic live medium or use as template. * New README (draft). [Thanks Dieter for fixing english grammar] Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-05-07[archiso] Update fstab and "source dev" of aufs.Gerardo Exequiel Pozzi
* Change from none -> union (looks like util-linux is confused BUG?) Avoid the message: "umount aufs failed: not found" at shutdown. #1 mount -t tmpfs none /something #2 mount -t tmpfs xxxx /something The output of findmnt -rnu -o SOURCE will be blank in #1. * Change from aufs -> auto, make its more generic. * Update devpts and shm entries. Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-03-20Fix old port reference in NBD boot scriptSimo Leone
2010-12-08[archiso] Use poll_device() in _pxe_nbd and _loop_mnt hooks.Gerardo Exequiel Pozzi
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-12-07[archiso] Add support to mount iso in loopback mode.Gerardo Exequiel Pozzi
Add two parameters: img_dev=/dev/sdNM where /dev/sdNM is the device where .iso is located. img_loop=/path/to/arch.iso where /path/to/arch.iso is the full path of the .iso in the device img_dev. Original idea from Baurzhan Muftakhidinov. Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-11-30[archiso] Add -D <install_dir> option to mkarchisoGerardo Exequiel Pozzi
-D <install_dir> allow to select install directory on target media defaults to "arch". There is a new %INSTALL_DIR% macro for syslinux.cfg. This is how ISO will look now: /syslinux only syslinux related files (syslinux.cfg, *.c32, etc) /arch/ isomounts + *.sqfs images /arch/boot/ Linux + initramfs + Memtest86+ + other files for early boot stage Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>