summaryrefslogtreecommitdiff
path: root/archiso/hooks
AgeCommit message (Collapse)Author
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>
2010-10-17Do not unset archisobasedir when it's setThomas Bächler
This was wrong and can never have worked. Fix it.
2010-10-12[archiso] Update nbd hook to match newer nbd operation mode.Gerardo Exequiel Pozzi
Newer nbd-server uses config file instead of parameters via cmd line (deprecated). Also does not use a fixed port (oldstyle). Sample nbd-server.conf that works with this change: -- CUT HERE -- [generic] [archiso] readonly = true exportname = /tmp/archlinux.iso -- CUT HERE -- Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-07-13[archiso_pxe_nbd] Remove unneeded umount commandsGerardo Exequiel Pozzi
This step is now done at archiso hook (commit 1fc3a61b75) Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-07-09Call launch_interactive_shell in more cases of error.Gerardo Exequiel Pozzi
A shell prompt is at least better than a kernel panic :) Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-07-09Rename directories and parameteres to be more descriptiveGerardo Exequiel Pozzi
* squashfs images that will be part of read-only branchs for union mount in / are mounted on /ro_branch/{image_name} instead of /tmpfs/mnt/{image_name} (and avoid empty dirs on live env under /mnt) * tmpfs that will be part of read-write branch for union mount in / is mounted on /rw_branch instead of /tmpfs * tmpfs that is for store *.sqfs images when copytoram=y, is mounted on /copytoram instead of /tmpfs.sqfs * tmpfs_size= parameter renamed to rw_branch_size= * tmpfs_sqfs_size= parameter renamed to copytoram_size= Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-07-09First mount ${archisodevice} before other mountsGerardo Exequiel Pozzi
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-07-08archiso hook: umount /bootmnt if copytoram=yGerardo Exequiel Pozzi
More generic way than current method, and fix if logic (inverted). Takes the same actions independent of medium (disk/cdrom). Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-07-05Mount tmpfs filesystems with mode=0755Gerardo Exequiel Pozzi
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-06-04Add optional command line parameter: archisobasedirThomas Bächler
When remastering the image onto a USB volume, you might want to reuse an existing partition without filling the root with lots of archiso files. The archisobasedir parameter allows to specify a new root directory, isomounts and all images will be searched in this directory.
2010-03-21[archiso] Add support to setups with more than one network card.Gerardo Exequiel Pozzi
Otherwise archiso_pxe_nbd hook can configure the incorrect network card, because ipconfig will configure all interfaces available. Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-03-18[archiso] Use a mount handler in archiso_pxe_nbd hookGerardo Exequiel Pozzi
* Register a mount_hook if booted via PXE. This allows to do all needed steps before and after calling archiso_mount_handler. * umount and disconnect network device if copytoram=y Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-03-18[archiso] Rename nbd hook to archiso_nbdGerardo Exequiel Pozzi
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-03-17[archiso] Add nbd hook, to make posible boot archiso from PXE via a NBD.Gerardo Exequiel Pozzi
nbd (network block device utilities) package is required. This package is in AUR at this moment: http://aur.archlinux.org/packages.php?ID=9691 Also mkinitcpio-nfs-utils is required for ipconfig. Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-03-16Remove archiso_early hook, use /dev/disk/by-label/${archisolabel} instead.Gerardo Exequiel Pozzi
Takes the advantage of already symlinks created on /dev/disk/by-label/ by 60-persistent-storage.rules add by udev hook. Tested on: * Real machine as CD-ROM and USB key drive. * KVM as CD-ROM and DISK (for both modes, in combination with IDE and SCSI) * VirtualBox as IDE CD-ROM. IMPORTANT note: Since isohybrid is a hack, if more partitions are added to USB key drive, filesystem on these partitions MUST have LABEL, otherwise USB key will fail to boot. Anyway there is an option archisodevice=, to force and specific device where live-media reside. (Maybe isohybrid will change the hack method used in a future) More info at: http://mailman.archlinux.org/pipermail/arch-releng/2010-March/000890.html http://mailman.archlinux.org/pipermail/arch-releng/2010-March/000913.html Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-03-15Fixed msg about copying images to RAMGerardo Exequiel Pozzi
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-03-06Add -p to blkid in hooks, to bypass the cache like in udev rules.Gerardo Exequiel Pozzi
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-03-01Split aufs mount command from _mnt_squashfs()Gerardo Exequiel Pozzi
New function _mnt_aufs(). Don't display incorrect message (Adding new aufs...) when no aufs branch is mounted, because mount type is bind. Also, makes the code more clean :) Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-03-01Welcome back copytoram= optionGerardo Exequiel Pozzi
Fixes FS#17182: copytoram=y does not work with aufs The solution is simple, just use a directory outside aufs tree. * If copytoram=y, then another tmpfs is mounted but on /tmpfs.sqfs * Add a new option: tmpfs_sqfs_size= (default to 75%) * Lock cdrom drive is not locked if copytoram=y Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-02-18Rename archiso-early hook to archiso_earlyGerardo Exequiel Pozzi
To make compatible with disablehooks= param. Since "hook_archiso-early" is not a valid variable name. Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-02-17Removed a non-working option: copytoramGerardo Exequiel Pozzi
Keep the code clean. For more reference see FS#17182 to view what is the issue Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-02-17Fix coding style in archiso hookGerardo Exequiel Pozzi
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-02-17Pass $newroot as part of the $mountpoint avoiding a global variableGerardo Exequiel Pozzi
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-02-17Take advantage of module autoloading when mounting images as loopGerardo Exequiel Pozzi
* Make first /dev/loop0 device at archiso install hook. * Remove unneeded losetup, all is done directly via mount. * Images are now mounted on /tmpfs/mnt/image-name instead of /tmpfs/mnt/loopN, removing unneeded counter. * Add some variables to make code more readable. Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-02-17Drop to recovery shell when mounting main media filesystem fails.Gerardo Exequiel Pozzi
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-02-16Implement mount hook function in archiso hook.Gerardo Exequiel Pozzi
Next version of mkinitcpio > 0.6.2 implements mount hook functionality. So can avoid skipping normal flow of main init script, and removing common end code with it. Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-02-06Remove special handling for vfat, all done via blkidGerardo Exequiel Pozzi
* Add archisodevide= boot option (suggested by brain0) (if declared use it, if not use /dev/archiso created via udev rule) * Removed redundant modprobe commands, (modules are loaded automatically on mount -t) * Other minor changes Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-02-06Update archiso hooks to work with next mkinitcpio 0.6Gerardo Exequiel Pozzi
Some basic changes to make archiso hooks work with the next mkinitcpio 0.6 Tested under KVM, a ""2010.02"" and works fine with it. NOTE: current mkinitcpio-0.5.99.2-2 does not include "losetup", maybe will be included in next version, see #[1]. For now must be added manually. Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2009-12-01Add an error message when mounting aufs fails, then exit 1Gerardo Exequiel Pozzi
Closes FS#13381. Waiting 30 seconds for device /dev/archiso ... SUCCESS: Mounted archiso volume successfully. squashfs: version 4.0 (2009/01/31) Phillip Lougher aufs 2-standalone.tree-20090907 :: Mounting root (aufs) filesystem aufs au_xino_do_write:371:mount[407]: I/O Error, write failed (4294967268) aufs au_xino_set:1115:mount[407]: I/O Error, failed creating xino(-5). mount: Invalid argument ERROR: while mounting root (aufs) filesystem. Kernel panic - not syncing: Attempted to kill init! Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>