Commit Graph

151 Commits

Author SHA1 Message Date
Gerardo Exequiel Pozzi
1dcf439c30 [archiso] Create /etc/mtab as symlink.
This is now supported since util-linux pkg enable it.

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-10-03 21:12:56 -03:00
Gerardo Exequiel Pozzi
8ea61d2b28 [archiso] Cleanup archiso install hook.
* 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-30 23:21:11 -03:00
Gerardo Exequiel Pozzi
a55fc14e24 [archiso] Integrate omit_kill_nbd_client logic in hook.
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 17:03:00 -03:00
Gerardo Exequiel Pozzi
14743f4202 [archiso] Switch from cdrkit to libisoburn
* 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 01:47:57 -03:00
Gerardo Exequiel Pozzi
ad2385c082 [archiso] Use -w <work_dir> instead of cmd <work>, add -o <out_dir>
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-29 01:45:49 -03:00
Gerardo Exequiel Pozzi
8c995ee657 [archiso] Change location of nbd_client.pid
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-28 04:07:04 -03:00
Gerardo Exequiel Pozzi
219b43a0bf [archiso] Load module loop in run_hook()
Otherwise archiso_loop_mnt will fail.

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-26 20:12:22 -03:00
Gerardo Exequiel Pozzi
23e1cd01cd [archiso] Avoid regenerate checksum -> .iso.
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-26 19:23:25 -03:00
Gerardo Exequiel Pozzi
ee5e372c6e [archiso] Add missing 'rm' some files on uninstall
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-24 00:10:32 -03:00
Gerardo Exequiel Pozzi
c2aefad9b2 [archiso] Makefile trivial fix (if configs/ already on DESTDIR)
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-15 01:07:31 -03:00
Gerardo Exequiel Pozzi
90cfe3ce2c [archiso] Add checksum= boot param
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-15 01:07:31 -03:00
Gerardo Exequiel Pozzi
57d2ea1f4b [archiso] Add dm_snap_prefix= boot param.
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-08-09 16:28:52 -03:00
Gerardo Exequiel Pozzi
41dd5bf633 [archiso_pxe_nbd] Allow change NBD export name.
Requested at FS#25051

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-07-09 15:14:50 -03:00
Gerardo Exequiel Pozzi
8fa4f8dedf [archiso] Update for mkinitcpio >= 0.7
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-07-09 15:14:49 -03:00
Gerardo Exequiel Pozzi
3101e8d904 [archiso] Create correctly loop devs if loop.max_part > 0
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-07-09 15:14:49 -03:00
Gerardo Exequiel Pozzi
f769fed16c [archiso] Update Makefile
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-07-09 15:14:49 -03:00
Gerardo Exequiel Pozzi
bdd302adaa Avoid killing nbd-daemon on shutdown
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-07-09 15:14:49 -03:00
Gerardo Exequiel Pozzi
93763a2d82 [archiso] Delete etc/mtab on _cleanup step
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-07-09 15:14:49 -03:00
Gerardo Exequiel Pozzi
0d895a225a [archiso] Ensure that there is no .fs before create it
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-07-09 15:14:49 -03:00
Gerardo Exequiel Pozzi
98c457c26f [archiso] mark installed packages, after installing it, not before
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-07-09 15:14:49 -03:00
Gerardo Exequiel Pozzi
85d243ff58 [archiso] Use dm-snapshot instead of aufs2 (A.K.A. "The Big Commit")
* 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-06-18 18:38:27 -03:00
Gerardo Exequiel Pozzi
b340aae9b1 [archiso] Update fstab and "source dev" of aufs.
* 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-05-07 17:41:33 -03:00
Gerardo Exequiel Pozzi
54be7d1529 [archiso] Set default SquashFS compressor to XZ
Also change all references from lzma to xz format.

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-04-11 10:25:37 -03:00
Simo Leone
5d775d7236 Fix old port reference in NBD boot script 2011-03-20 16:51:46 -03:00
Gerardo Exequiel Pozzi
6bcbf95f82 [archiso] Fix tabs/spaces in mkarchiso
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-12-08 14:47:45 -03:00
Gerardo Exequiel Pozzi
0ff40f153a [archiso] Use poll_device() in _pxe_nbd and _loop_mnt hooks.
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-12-08 14:44:48 -03:00
Gerardo Exequiel Pozzi
85d2ddd762 Unify scheme of sed replacements.
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-12-07 23:48:24 -03:00
Gerardo Exequiel Pozzi
06a8c66eae [archiso] Add support to mount iso in loopback mode.
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 23:48:24 -03:00
Gerardo Exequiel Pozzi
02caf25be9 [archiso] Place *.sqfs images in /${install_dir}/${arch}/
Unify with dir layout of -dual images.

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-12-07 23:48:23 -03:00
Gerardo Exequiel Pozzi
c186a206a1 [archiso] Add -D <install_dir> option to mkarchiso
-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-11-30 21:55:13 -03:00
Gerardo Exequiel Pozzi
487436b8ea [archiso] Add support for squashfs compression types
Add a note about supported status in Linux versions.
Needs squashfs-tools-4.1 (now on extra).

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-10-18 18:59:31 -03:00
Thomas Bächler
13c541e8a6 Do not unset archisobasedir when it's set
This was wrong and can never have worked. Fix it.
2010-10-17 16:35:27 +02:00
Gerardo Exequiel Pozzi
24885e4c81 [archiso] Update nbd hook to match newer nbd operation mode.
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-10-12 01:33:04 -03:00
Gerardo Exequiel Pozzi
16422ba3b6 Do not copy host configuration to root-image
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-09-16 16:55:38 +02:00
Thomas Bächler
86ca33e76d Rename all occurrences of isolinux to syslinux
The name of the bootloader is syslinux, while isolinux is just one
of many components. isolinux.bin now also accepts syslinux.cfg
as a configuration file name (as do all other loaders).

Thus, rename the isolinux/ folder to syslinux/, and rename
isolinux.cfg to syslinux.cfg. The only occurrence of 'isolinux'
is now the actual loader file 'isolinux.bin'. This makes
the transition from isolinux to the other syslinux loaders
easier when remastering the ISO onto another medium.
2010-07-22 00:04:46 +02:00
Gerardo Exequiel Pozzi
7725dba216 [archiso_pxe_nbd] Remove unneeded umount commands
This step is now done at archiso hook (commit 1fc3a61b75)

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-07-13 21:40:49 -03:00
Gerardo Exequiel Pozzi
6adf48d06b Call launch_interactive_shell in more cases of error.
A shell prompt is at least better than a kernel panic :)

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-07-09 16:46:29 -03:00
Gerardo Exequiel Pozzi
1bbeeb0e5b Rename directories and parameteres to be more descriptive
* 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-09 16:14:55 -03:00
Gerardo Exequiel Pozzi
9154b02881 First mount ${archisodevice} before other mounts
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-07-09 15:36:51 -03:00
Gerardo Exequiel Pozzi
1fc3a61b75 archiso hook: umount /bootmnt if copytoram=y
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-08 03:44:43 -03:00
Gerardo Exequiel Pozzi
1d9d75beb4 Mount tmpfs filesystems with mode=0755
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-07-05 19:36:11 -03:00
Gerardo Exequiel Pozzi
1114731c28 [archiso] Rewrite cleanup step in mkarchiso
Currently works partially since in bash "*" is not expanded.
Old dirs removed, always empty dirs removed from list.
Also cleanup sync databases from pacman 3.4.0, avoiding problems with
pacman -Sy since "sync" directory is deleted.

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-06-30 00:16:34 -03:00
Gerardo Exequiel Pozzi
6a0333c955 Improved testiso to allow differents scenarios
A quick & dirty changes to test iso withs differents combinations of
I={virtio,scsi,ide} x M={disk,cdrom}

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-06-29 02:58:55 -03:00
Gerardo Exequiel Pozzi
f0aba9b876 Make it compatible with latest mkinitcpio.
Latest init script mounts a /dev FS, so /dev/loop0 will disappear.
Create loop0 on /lib/udev/devices so udev copy to /dev on startup.

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-06-23 10:03:14 +02:00
Thomas Bächler
558eaafe9f Add optional command line parameter: archisobasedir
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-06-04 22:37:51 +02:00
Thomas Bächler
aeaec35905 archiso_pxe_nbd: Remove unnecessary/unsupported network modules
The archiso_pxe_nbd hook adds all network modules, including ones that
are not supported: The hook only supports ethernet devices, so there
is no need to add wireless, wimax, ppp, irda and plip modules.

Adding the wireless modules had an undesired side effect: The
wireless driver was loaded in the initramfs stage, where the
required crypto modules were unavailable. This caused the
initialization of the wireless devices to fail.

This patch removes all network modules except ethernet.
2010-05-16 11:29:15 +02:00
Thomas Bächler
e7d88f5237 archiso: Support booting from a virtio CD drive 2010-05-09 13:51:59 +02:00
Gerardo Exequiel Pozzi
a60a68eb88 [archiso] Add support to setups with more than one network card.
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-21 18:51:37 -03:00
Gerardo Exequiel Pozzi
a3ea9c18a9 [archiso] Fix install dir perms 644 -> 755 in Makefile
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-03-21 16:42:04 -03:00
Gerardo Exequiel Pozzi
7483cffb30 [archiso] Use a mount handler in archiso_pxe_nbd hook
* 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 12:03:59 -03:00