* UI is more correct than DEFAULT for simple menu system.
* Remove TIMEOUT
* Remove PROMPT 0, this is the default value.
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
On machines with common graphics chipsets (radeon, intel, nvidia), enable
KMS early. Downloading images from a remote server can take time, better
view the status with a nice resolution.
Otherwise does not work.
22100 Nov 29 09:29 ./lib/libnss_dns-2.14.1.so
20 Nov 29 09:29 ./lib/libnss_dns.so.2 -> libnss_dns-2.14.1.so
46732 Nov 29 09:29 ./lib/libnss_files-2.14.1.so
22 Nov 29 09:29 ./lib/libnss_files.so.2 -> libnss_files-2.14.1.so
Looks like my test was made before introducing symlinks
and using directly libnss_dns-$VERSION.so.2 as libnss_dns.so.2.
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
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>
* In that way, we have unified directory scheme among {pxe,sys,ext,iso}linux,
sharing the same directory structure and config files.
* Also enable IPAPPEND (will show a warning message about unknown directive in non-pxelinux before menu)
NEW:
* Rename syslinux*.cfg -> archiso*.cfg
* Now syslinux.cfg is only a "loadconfig" trick like we are doing for isolinux
* All paths are now relative to %INSTALL_DIR% ($archisobasedir) (Default: /arch/)
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
[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>
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)
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>
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>
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>
* 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>
* 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>
* 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>
* 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>
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>
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>
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>
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>
* 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>
This makes archiso_pxe_nbd functionallity full-independient from
archiso profiles (configs/*).
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
* 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>
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>
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>
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>
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>
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>