* 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>
This should give us *just a bit* more delay before actually trying to do
things with the usb devices. Annoying, but will probably be effective
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
USB boot delay is now handled with the usbdelay kernel param (default=0)
We use the built in delay of usb-storage to control this. by setting the
module's delay param. If your USB device doesn't work on first boot, try
setting usbdelay=10 or so
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
It seems udev trigger/settle doesn't do what we expect,
so we'll add functionality for the rootdelay param back
in here.
This should help fix FS#12896
Original-idea: Gerhard Brauer <gerbra@archlinux.de>
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
This is a hacky way to mount squashfs images at directories
other than the root. We mount the image to a loop device
and then bind it to another directory.
This technically supersedes the 'bind' image type, so that
should be removed...
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
This prevents some cosmetic errors when globbing fails
and the scripts try to mount something silly like "/dev/hd[a-z]"
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
Use the -C flag to allow us to build alternate isos on
a different architecture and things of the sort
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
Take away redirects so error messages are
readable, and wait to make sure udev creates
the loopback devices before we try to use them.
Signed-off-by: Simo Leone <simo@archlinux.org>
Again, in an attempt to make this feel cleaner, I've moved
more out to the makefile level. Not sure I'm happy with that
but it works for now
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
Allow for grub, grub-gfx, or isolinux support
(isolinux support still pending, skeleton is in place)
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
We don't want to tie the archiso scripts to the way the ISO
should boot the live system. This can and should be done at
the build (Makefile) level beforehand
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
This is just simpler and more intuitive. Shell tools can easily
be used to install from a file. For instance:
$ mkarciso ... -p "$(cat package-file)"
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>