summaryrefslogtreecommitdiff
path: root/archiso
AgeCommit message (Collapse)Author
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-11-05[archiso] install hook cleanupsGerardo Exequiel Pozzi
* Remove IDE stuff. * Remove modules that can be added via relevant hooks. * Replace sata with virtio in baseline profile. 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-14[archiso] disable progress bar in mksquashfsGerardo Exequiel Pozzi
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-10-03[archiso] Create /etc/mtab as symlink.Gerardo Exequiel Pozzi
This is now supported since util-linux pkg enable it. Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-30[archiso] Cleanup archiso install hook.Gerardo Exequiel Pozzi
* These files was added during developement stage of dm-snapshot branch of archiso. Never was used, sinse archiso works directly with dmsetup and with device nodes in /dev/mapper/ * Added 11-dm-initramfs.rules to keep dm info about nodes persistent in udev db across initramfs/real-root. 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-29[archiso] Switch from cdrkit to libisoburnGerardo Exequiel Pozzi
* Preparing terrain for UEFI support. * Also make isohybrid hack in one step. * Removed UDF layer, since xorriso does not support it. * Removed unsupported options by xorriso (-uid/-gid/-allow-limited-size) * Removed option already default in xorriso (-input-charset utf-8) Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-29[archiso] Use -w <work_dir> instead of cmd <work>, add -o <out_dir>Gerardo Exequiel Pozzi
Default (if not specified) -w work -o out. -o <out_dir> is only used by 'iso' command. Adjust build.sh of releng and baseline profile to reflect this change. <project> - work <- $work_dir - out <- $out_dir 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-26[archiso] Avoid regenerate checksum -> .iso.Gerardo Exequiel Pozzi
Also put _is_directory_changed() inside 'if' avoiding premature execution if it returns non-zero. Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-24[archiso] Add missing 'rm' some files on uninstallGerardo Exequiel Pozzi
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-15[archiso] Makefile trivial fix (if configs/ already on DESTDIR)Gerardo Exequiel Pozzi
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] Update for mkinitcpio >= 0.7Gerardo Exequiel Pozzi
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-09[archiso] Update MakefileGerardo 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-07-09[archiso] Delete etc/mtab on _cleanup stepGerardo Exequiel Pozzi
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-07-09[archiso] Ensure that there is no .fs before create itGerardo Exequiel Pozzi
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-07-09[archiso] mark installed packages, after installing it, not beforeGerardo 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-04-11[archiso] Set default SquashFS compressor to XZGerardo Exequiel Pozzi
Also change all references from lzma to xz format. 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] Fix tabs/spaces in mkarchisoGerardo Exequiel Pozzi
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
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-07Unify scheme of sed replacements.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-12-07[archiso] Place *.sqfs images in /${install_dir}/${arch}/Gerardo Exequiel Pozzi
Unify with dir layout of -dual images. 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>