* 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>
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>
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.htmlhttp://mailman.archlinux.org/pipermail/arch-releng/2010-March/000913.html
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
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>
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>
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>
* 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>
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>
Split from commit 00dda7d4 from Svenstaro repo: changed -offset for mkarchiso
from default 0 to 1 so that the other partition on the usb device can
still be edited after dd'ing to it
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
* 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>
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>
Also use ARCH_YYYYMM format instead of random chars, removing pwgen dep.
Closing FS#14919.
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
Only support syslinux now. Grub and other things can still
be managed manually by running mkisofs manually.
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
As in title, this patch cleans up opt flags that exist for no reason and
adds additional flags to modify the disk meta info which would otherwise
be hardcoded.
I wasn't quite sure about the user directory part but it doesn't seem
like a good idea to put that part into the script and therefore I
commented it out. It would probably interfere with rc.local scripts that
take care of skel copying. I replaced the part after the TODO with a
safe guard to make sure that people who are not aware of the changes
will not be caught by surprise.
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
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>
Check if there are any modification of files/directories inside
the target directory for squashfs image.
Implements in some way this item in TODO:
* Add 'needsupdate' function to check if a squashfs image in the
iso dir is up to date, if so, skip it; else rebuild it. No more
need for the -f flag
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
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>
The current implementation in how partition is created for ext2 img
it looks a bit bad.
This patch makes the partition in more standarized way, respecting
cylinder alignement:
* The size of resulting image will be in cylinder multiple ~8MB.
* Use fdisk instead of sfdisk (sfdisk write some bad information)
* Make the result image in one pass, instead of concatenating.
Also the advantage is that with this can add another partitions
without any issues in the usb-flash-drive with this .img.
For example of current situation:
qemu-system-x86_64 -hda archlinux-avr.toolchain.img -serial stdio
---------------------------------------------------------------------
[root@avr ~]# fdisk /dev/sda
Command (m for help): p
Disk /dev/sda: 223 MB, 223974400 bytes
59 heads, 41 sectors/track, 180 cylinders
Units = cylinders of 2419 * 512 = 1238528 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sda1 * 1 181 218693+ 83 Linux
Partition 1 has different physical/logical beginnings (non-Linux?):
phys=(0, 1, 1) logical=(0, 1, 23)
Partition 1 has different physical/logical endings:
phys=(27, 58, 41) logical=(180, 49, 21)
Command (m for help): v
Partition 1 has different physical/logical beginnings (non-Linux?):
phys=(0, 1, 1) logical=(0, 1, 23)
Partition 1 has different physical/logical endings:
phys=(27, 58, 41) logical=(180, 49, 21)
Partition 1: previous sectors 437449 disagrees with total 67731
62 unallocated 512-byte sectors
Command (m for help):
---------------------------------------------------------------------
qemu-system-x86_64 -hda archlinux-avr.toolchain-fix.img -serial stdio
---------------------------------------------------------------------
[root@avr ~]# fdisk /dev/sda
Command (m for help): p
Disk /dev/sda: 230 MB, 230307840 bytes
255 heads, 63 sectors/track, 28 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x5c94ca4f
Device Boot Start End Blocks Id System
/dev/sda1 * 1 28 224878+ 83 Linux
Command (m for help): v
62 unallocated 512-byte sectors
---------------------------------------------------------------------
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
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>
Missing slash caused bootmnt to be bound to /real_rootbootmnt
instead of /real_root/bootmnt
See FS#15356
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
This will generate a label ARCHISO_$randomstring using the pwgen
utility and add this label to the kernel command line.
A new label will be generated for each image, so it can be uniquely
identified.
Patch from brain0 <thomas@archlinux.org>
Signed-off-by: Gerhard Brauer <gerbra@archlinux.de>
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
If the archisolabel= option is specified on the kernel commandline,
a device /dev/archiso will be created and will be used to boot the
live system.
Patch from brain0 <thomas@archlinux.org>
Signed-off-by: Gerhard Brauer <gerbra@archlinux.de>
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
This flag allows to specify a own pacman.conf using during mkarchiso.
Signed-off-by: Gerhard Brauer <gerbra@archlinux.de>
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>