summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2011-11-29busybox: create symlinks manuallyTom Gundersen2-2/+5
This means that no "setup" of the initramfs is requried on boot, and this should make testing a lot eaiser by just chrooting into the ramfs to check if it works. Signed-off-by: Tom Gundersen <teg@jklm.no>
2011-11-29move all binaries to /usr/binTom Gundersen2-4/+7
Add compat symlinks from /bin, /sbin and /usr/sbin, so nothing is lost. This will make sure that it is not possibly to install two different versions of the same binary in PATH. The main usecase of this is that we want to be able to override any symlink provided by busybox by adding a binary by the same name. With this patch we don't have to worry in case the busybox symlink and the binary we add are in different directories; the last binary to be added always takes precedence. Signed-off-by: Tom Gundersen <teg@jklm.no>
2011-11-29mkinitcpio: parse vars from config file lastDave Reisner1-2/+10
This lets the config file be an override for any files or binaries added by hooks. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-11-29lsinitcpio: columnize binaries outputDave Reisner1-3/+3
Now that we're including symlinks to busybox on the prebuilt image, this display needs a bit of tidying up. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-11-29functions: don't allow add_binary to re-add depsDave Reisner1-1/+1
Since we now silently overwrite instead of silently failing on existing files and symlinks, we have a lot of sodeps which are overwritten by various binaries -- udevd and udevadm being one example. Nip this in add_binary by doing our own check and preventing addition of pre-existing files in the $BUILDROOT. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-11-29functions: add verbose output for overwriting filesDave Reisner1-3/+14
This goes in hand with an earlier commit which changed behavior to silenltly overwrite files rather than silently fail. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-11-29add_{file,symlink}: overwrite existing fileTom Gundersen1-3/+1
Now we fail silently if the file exists, which means there is no easy way to overwrite binaries. I think it makes the most sense to do the following: 1) add all the busybox stuff as a basic system; 2) overwrite some of the links with any binaries we add to base hook; 3) allow users to write their own hooks to overwrite even more stuff. This can now be done by this hook. v2: make sure we are able to overwrite a symlink pointing to a directory Signed-off-by: Tom Gundersen <teg@jklm.no>
2011-11-29mkinitcpio: warn when no modules are added to the imageDave Reisner1-0/+2
Maybe something went wrong with depmod after a kernel install, or the user grabbed a kernel directory for an old kernel. Either way, if you're using an initramfs, there's a very high probability that you'll have at least 1 module on it. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-11-29init_functions: rephrase bailout messageDave Reisner1-1/+1
I think this error is more confusing to most people than it needs to be, and it's not really accurate any longer. Generalize the message and inform the user that we simply couldn't find the root device. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-11-29init: remove size limitations from API filesystemsDave Reisner1-3/+3
These are all root owned, so we don't need to be concerned about DoS attacks via these FS's. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-11-29install/base: Add an empty fstabGerardo Exequiel Pozzi1-0/+3
This is mainly for avoid this: [ramfs /]# mount /dev/md0 /mnt/a [ramfs /]# mount -o bind /mnt/a /mnt/b [ramfs /]# mount -o bind,remount,ro /mnt/b warning: can't open /etc/fstab: No such file or directory [ramfs /]# Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-11-29hooks/resume: Remove cut cmd usageGerardo Exequiel Pozzi1-1/+2
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-11-29hooks/net: Add BOOTIF supportGerardo Exequiel Pozzi1-1/+15
This feature was present in archiso_pxe_nbd for a long time. it avoids to configure more than one device (if present) by ipconfig with the same parameters. Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-11-29hooks/net: Refactor and remove sed cmd usage.Gerardo Exequiel Pozzi2-48/+18
* 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. * Add /tmp as part of "base" layout since this can be used by others hooks/cmds. Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-11-26init: Remove unneeded test0.8.0Gerardo Exequiel Pozzi1-5/+3
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-11-16init: Remove sed cmd usageGerardo Exequiel Pozzi1-1/+1
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-11-16init: Remove grep usageGerardo Exequiel Pozzi1-2/+1
The only downside is on systems where devtmpfs is not enabled will see and error message, anyway /dev will be tmpfs as fallback like now. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-11-15use util-linux's switch_root binaryDave Reisner2-8/+2
This is a much better solution than busybox's, as it will move our API filesystems and /run for us. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-11-15init_functions: simplify parse_cmdlineDave Reisner1-21/+19
Do variable name validation via the case labels rather than via PEs. This frees up the fallthrough case to simply ignore things we don't understand (and not exist). Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-11-15install/fsck: new install hook to add fsck and helpersDave Reisner1-0/+32
Provides /sbin/fsck and any helper binaries to the image. If processed after the autodetect hook, only the helper for the root FS is added. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-11-15fsck: implement basic fsck supportDave Reisner2-4/+70
This adds support for fsck'ing root at bootstrap if the fsck binary and necessary helpers are included. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-11-15init_functions: resolve M:m to device fileDave Reisner1-3/+19
Rather than immediately defaulting to /dev/root, attempt to resolve the major/minor pair back to a block device. If we can't do this properly, then fallback to /dev/root. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-11-15init_functions: generalize resolve_deviceDave Reisner1-41/+49
This allows a caller to pass in a device by name and get a /dev node returned. Note that this is heavily limited in that only the root device can be identified by major:minor. This might break init's API, if such a thing exists. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-11-15init_functions: move root resolution to separate functionDave Reisner1-1/+5
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-11-15init: use util-linux's /bin/mountDave Reisner2-13/+5
Providing this means we no longer need blkid for FS detection, as mount will do this for us. Adds a slight bloat to the image, in exchange for a huge convenience. Messaging is changed to assume that /bin/mount will provide useful feedback for us on failure. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-11-15autodetect: store rootfstype for use by other hooksDave Reisner1-1/+1
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-11-15init_functions: refactor poll_deviceDave Reisner1-11/+12
Beyond stylistic cleanup, add a conditional to ensure that we don't show the 'waiting for device' message if it already exists. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-11-15init: create /run/initramfs after mounting /runDave Reisner1-0/+1
We'll use this as a channel to communicate with later userspace. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-11-15init: don't tell the kernel about the path to modprobeDave Reisner1-2/+0
Remove this ancient relic. It's not been needed in a very long time. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-11-15Makefile: install binaries to /usr/binDave Reisner1-5/+4
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-11-15hooks/resume: Remove grep usageGerardo Exequiel Pozzi1-2/+2
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-11-15hooks/resume: Remove unused functionGerardo Exequiel Pozzi1-2/+0
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-11-13update bash completionDave Reisner1-5/+11
- change scavenging of /lib/modules to avoid grabbing extramodules dirs - add missing options for lsinitcpio and mkinitcpio - use _filedir for completing -b Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-10-30add_symlink: fix argument ordering and add_dir callTom Gundersen1-2/+2
Two bugs: operands were swapped in call to _add_symlink, and missing operand in call to _add_dir. Signed-off-by: Tom Gundersen <teg@jklm.no>
2011-10-25mkinitcpio: dereference symlinks when resolving kernverDave Reisner1-1/+1
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-10-22init_functions: avoid setting var without LHS0.7.5Dave Reisner1-0/+1
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-10-22init_functions: replace grep/sed with PEsDave Reisner1-12/+13
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-10-22init_functions: tighten up mount option gatheringDave Reisner1-26/+16
* Directly assign ro or rw to the rwopt rather than using readwrite as an intermediary * Use a default expansion to cut out an if block in determining the root fstype. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-10-22install/base: include new_root as part of build processDave Reisner2-2/+1
We always need this in early userspace, so add it as part of the build process instead of forking at runtime. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-10-20install/udev: relocate udevd for udev 174Dave Reisner3-5/+5
- usb_id and path_id are now builtin functionality of udevadm - /sbin/udevd moves to /lib/udev/udevd - update dev PKGBUILD to reflect version requirement Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-10-20manpage: correct section number in manpage headerDave Reisner1-1/+1
Missed this when I migrated the manpage in 5d635b6d. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-10-16install/pcmcia: fix syntax error (missing &&)Dave Reisner1-1/+1
Fixes FS#26427. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-10-16mkinitcpio: ensure get_kernver always returns a kverDave Reisner1-12/+17
- Always call this function. At worst, just return the current kver. - Do all our error reporting from within the function. - Add an additional check for existance prior to allow for a more appropriate error message when we encounter a situation such as /boot not being mounted. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-10-16mkinitcpio: avoid stomping on TMPDIR from the environmentDave Reisner3-12/+16
cc36db45 was a bit too strict about localizing variables and blew out TMPDIR, which might be a legit variable sourced from the calling environment. Restore this behavior with a bit of refactoring, and additionally add in a check to make sure the temporary directory is writeable before proceeding. Fixes FS#26373. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-10-16move manpage to section 8Dave Reisner2-7/+7
This is an admin command, not a config file. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-10-16init: refer to busybox by full path on --installDave Reisner1-1/+1
This is required for busybox 1.19. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-10-10install/base: grab usb-ehci udev rule to /lib0.7.4Dave Reisner2-2/+2
Done as part of FS#25788. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-10-09mkinitcpio: avoid using mountpointDave Reisner1-2/+4
As it turns out, the mountpoint toy from util-linux isn't really at feature parity with sysvinit's. In particular, and with respect to v2.20: - It throws false negatives when /proc isn't mounted. Rather, it should fall back on using stat(2), as is the basis for sysvinit's tool. - when /proc is mounted with as source of 'none', it segfaults on a null dereference. Patches have been sent upstream to resolve these issues, but in the meantime, we're mounting /dev and /proc for very specific reasons. Instead of relying on a fork/exec to figure out if these API FS's are mounted, use a simple bash test to see if these specific needs are available within the FS. One of many possible fixes for FS#26344. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-10-09[mkinitcpio] Add missing groups=('base') in PKGBUILDGerardo Exequiel Pozzi1-0/+1
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-10-09[mkinitcpio] Remove early redirection 2>/dev/null such node does not exists.Gerardo Exequiel Pozzi1-1/+1
An empty file will be created in any case, does not cause any harm, but for correctness. Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>