Commit Graph

41 Commits

Author SHA1 Message Date
Gerardo Exequiel Pozzi
76dea1654e [archiso] Add PXE NFS support
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 12:28:03 -03:00
Gerardo Exequiel Pozzi
8eb4c624dc [archiso] Add archiso_pxe_curl hook
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 12:28:03 -03:00
Gerardo Exequiel Pozzi
1edaf15cef [archiso] Split archiso_pxe_nbd in two hooks.
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 12:28:03 -03:00
Gerardo Exequiel Pozzi
40965461a4 [configs/*] chroot to root-image for initramfs build
Avoid issues with -b BASEDIR (*).
We became independent of the mkinitcpio version of the build environment.

(*) For example of a recent issue:
http://mailman.archlinux.org/pipermail/arch-projects/2011-November/002202.html
http://mailman.archlinux.org/pipermail/arch-projects/2011-November/002205.html

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-11-28 10:35:05 -03:00
Gerardo Exequiel Pozzi
54d2e0336a [configs/releng] Remove inetutils from packages.*
Is in {base} since 1.8-4.

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-11-16 23:16:38 -03:00
Gerardo Exequiel Pozzi
469b5b2c58 [archiso] install hook cleanups
* 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-11-05 21:03:35 -03:00
Gerardo Exequiel Pozzi
59ad1113d9 [archiso] Add archiso_shutdown hook.
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 21:24:18 -03:00
Gerardo Exequiel Pozzi
18d7493530 [configs/releng] Disable pacman progress bar during core-repo download
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-10-22 00:53:54 -03:00
Gerardo Exequiel Pozzi
9c22cf9450 [configs/releng] Add gptfdisk to live enviroment.
Image size in MiB:

old -- new -- iso
679 -> 693    core-dual
374 -> 381    core-i686
380 -> 387    core-x86_64
309 -> 323    netinstall-dual
182 -> 189    netinstall-i686
185 -> 192    netinstall-x86_64

Was requested: mailing-list and bugtracker.

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-10-21 00:23:35 -03:00
Gerardo Exequiel Pozzi
bfef0bc1eb [archiso] Unify ->
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-10-12 14:40:19 -03:00
Gerardo Exequiel Pozzi
cb619dfae1 [configs/releng] Replace wget with pacman for make_core_repo()
Fix: FS#18959 - download_repos.sh does not report tcp timeouts and such

* Always use pacman cache. Previously pacman cache was used if package
  already exists on it, now is also used to download pkg on it.
  Finally copy all packages from cache with cp and make core.db.
* Using pacman, we can sure that package integrity is right.
* Always get a [core] package, in case of [testing] enabled.
* Now works when mirror is: Server = file:// ;)

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-30 23:46:56 -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
48023e336b [configs/releng] Support configurable build options via command line
usage ./build.sh [options] command <command options>

 General options:
    -N <iso_name>      Set an iso filename (prefix)
                        Default: archlinux
    -V <iso_version>   Set an iso version (in filename)
                        Default: 2011.08.18
    -L <iso_label>     Set an iso label (disk label)
                        Default: ARCH_201108
    -D <install_dir>   Set an install_dir (directory inside iso)
                        Default: arch
    -w <work_dir>      Set the working directory
                        Default: work
    -o <out_dir>       Set the output directory
                        Default: out
    -v                 Enable verbose output
    -h                 This help message

 Commands:
   build <mode> <type>
      Build selected .iso by <mode> and <type>
   purge <mode>
      Clean working directory except iso/ directory of build <mode>
   clean <mode>
      Clean working directory and .iso file in output directory of build <mode>

 Command options:
         <mode> Valid values 'single' or 'dual'
         <type> Valid values 'netinstall', 'core' or 'all'

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-29 01:45:49 -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
14903dfc45 [configs/*] Rename $name -> $iso_name, $version -> $iso_version
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
aca6dbaec9 [configs/releng] Add irssi to live-enviroment
extra/irssi:
     * Requested by Florian Pritz
        http://mailman.archlinux.org/pipermail/arch-releng/2011-July/001853.html

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-19 13:45:52 -03:00
Gerardo Exequiel Pozzi
315dc5d984 [configs/releng] Add three packages to live-enviroment
core/linux-atm:
    * This was present in 2010.05
    * Optionally needed by iproute2. Needed for ATM connections.

extra/mtools:
    * This was present in 2010.05
    * Optionally dependency of syslinux. Needed if want to install syslinux on vfat.

extra/smartmontools:
    * Requested by Thomas Mudrunka
       https://bugs.archlinux.org/task/25633

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-19 10:19:59 -03:00
Gerardo Exequiel Pozzi
0f392d148d [configs/releng] Set /lib/modules with 50% of free space
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-18 22:26:08 -03:00
Gerardo Exequiel Pozzi
61114497b2 [configs/releng] Add missing serial console support to syslinux
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-18 22:08:48 -03:00
Gerardo Exequiel Pozzi
a9c02d9488 [configs/releng] Replace rc.d/archiso with initscripts hooks.
In this way:
* Prepare locales requested by boot param mostly early possible.
* Setup special console at end of rc.sysinit

Remove unneded include from automated_script (already included by rc.conf)

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-18 17:09:00 -03:00
Gerardo Exequiel Pozzi
3f86cca0bb [configs/releng] Add missing -D param to checksum command
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-18 12:40:34 -03:00
Gerardo Exequiel Pozzi
708ba38c20 [configs/releng] Fixed and improved serial console support.
Current implementation fails if console=ttyS0 (without more options).

Tested with:
console=ttyS0
console=ttyS0,9600
console=ttyS0,38400
console=ttyS0,9600n8
console=ttyS0,38400n8r

Closing FS#16232

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-15 21:01:58 -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
12e9d32435 [configs/releng] Add purge_* commands
purge_single command can be usefull to save space during build. It removes
all files in working directory except "iso/" and *.iso.

Workflow can be:

(32)  ./build.sh all_iso_single -> i686 *.iso are ready.
(32)  ./build.sh purge_single -> safe cleanup.
(64)  ./build.sh all_iso_single -> x86_64 *.iso are ready.
(64)  ./build.sh purge_single -> safe cleanup.
(any) ./build.sh all_iso_dual -> dual *.iso are ready.

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-15 01:07:30 -03:00
Gerardo Exequiel Pozzi
808c1a0ed6 [configs/*] Use $script_path for "source" files.
Allows to execute directly build.sh from any directory, using it as working dir.

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-15 01:07:30 -03:00
Gerardo Exequiel Pozzi
8b2acca2de [configs/*] Remove custom fstab, not needed anymore.
re-mount / as rw does not fail since regular file /etc/mtab does not exist
at that stage.

/etc/mtab was removed from root-image in this commit:
93763a2d82

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-15 01:07:30 -03:00
Gerardo Exequiel Pozzi
14f1d7d479 [configs/releng] Rename core pkgs images and mountpoint.
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-08-11 20:06:12 -03:00
Gerardo Exequiel Pozzi
b3f918ee60 [archiso] Update kernel image name for linux-3.0
Also rename kernel from vmlinuz-linux to vmlinuz to make filename
ISO9660 friendly.

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-07-24 18:25:33 -03:00
Gerardo Exequiel Pozzi
27e472451e [configs/releng] Add openconnect and vpnc to packages.*
Requested at FS#25081

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-07-09 17:14:06 -03:00
Gerardo Exequiel Pozzi
b1ba7a0bba [configs/releng] Remove tiacx-firmware from packages.*
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-07-09 15:14:50 -03:00
Gerardo Exequiel Pozzi
c434f1c9eb [configs/releng] Add two small networking packages
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-07-09 15:14:50 -03:00
Gerardo Exequiel Pozzi
1eb1ca6b54 [configs/releng] Make user "arch" at build time.
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-07-09 15:14:49 -03:00
Gerardo Exequiel Pozzi
f2009c4c76 [configs/releng] Re-generate locales only if needed.
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-07-09 15:14:49 -03:00
Gerardo Exequiel Pozzi
4090ba6260 [configs/releng] Add locale.gen and resolv.conf
mkarchroot overwrites these files.

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-07-09 15:14:49 -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
729e110eea [configs/releng] Remove old option from rc.conf
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
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