summaryrefslogtreecommitdiff
path: root/archiso/hooks/archiso
AgeCommit message (Collapse)Author
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-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-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] 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-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-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] Create correctly loop devs if loop.max_part > 0Gerardo 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>
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-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-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-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>
2009-11-17Only lock the optical drive if mounted from thisGerardo Exequiel Pozzi
Check if FSTYPE is iso9660 or UDF, and only in this case look the optical drive. Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2009-11-17Rename ramdisk_size parameter to tmpfs_size to avoid conflictGerardo Exequiel Pozzi
Rename ramdisk_size parameter to tmpfs_size to avoid conflict with the kernel parameter that is for old ramdisk based blockdevs (/dev/ramN) and confusion to users. The kernel parameter ramdisk_size=N is in "N * k size", while tmpfs size=N is in "N * [ k | m | g ] byte size" or "in N% of RAM", like is used by default on archiso. This parameter is used only for tmpfs in size option. Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2009-10-26Support custom isomounts in archiso hook.Gerardo Exequiel Pozzi
Implement this feature request: FS#16835 - isomounts file whithin archiso hook is inflexible Add an optional "isomounts" kernel command line parameter. In this way, can have differents combinations of kernels/ramdisk/filesystems.sqfs on the same media. Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2009-08-25Added vfat support to mount /dev/archisoGerhard Brauer
fstype from klibc don't detect a vfat formatted blockdevice when try to mount /dev/archiso to /bootmnt. Some users don't use the recommened method with dd to bring the image to their USB stick. If they for ex. use Unetbootin to put the iso image on their (v)fat formatted stick they got lost with a kernel panic cause fstype won't detect vfat, so the mount and the later squashfs bindings traps. Signed-off-by: Gerhard Brauer <gerbra@archlinux.de>