Age | Commit message (Collapse) | Author | Files | Lines |
|
We also consolidate our empty variable declarations in mkinitcpio with a
simple declare.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
This also adds a /bin/bash shebang to functions. While not technically
necessary, this ensures that vim gives us the correct syntax highlight
file.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
This mainly consists of removing all traces of eval and building the
options into an array instead a simple variable. We also make sure that
the SCRIPT var is unset, as it may be populated during hook processing.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
This should all lead to easier maintenance.
* use git-archive to create the tarball, appending DIST_EXTRA to the
tarball afterwards.
* use commonly defined variables such as ${RM}
* always use install, rather than cp to ensure proper permissions
* functionize creation of directories
* add .PHONY targets
* combined commands wherever possible
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
update the example.preset to show this syntax as an alternative
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
Properly detect symlinks using the -L shell test, resolving and
recursing on discovery. This results in removing a lot of extraneous
variable declarations and code.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
This is a departure from using gen_init_cpio, which proved to be a huge
bottleneck in performance. Tests for existance change from being a call
to grep, to a simple shell test.
In the process, we have to modify the behavior of the -s option, and we
lose the -a option.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
This is never used by anything in the official repos. Kill it with
fire.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
This was only ever used in the base layout, and it's not needed.
devices will be present if we're using devtmpfs, and created for us by
init if we mount on tmpfs.
Also, this is part of our move towards using bsdcpio instead of
gen_init_cpio, and as a side effect we can no longer support this. Any
devices that need to be created should be done so by the runtime hooks,
not the install time hooks.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
Simplify and fix a few bugs in the process. We rely solely on modinfo
for obtaining information about module location, dependencies and
firmware. Add a small wrapper function for modinfo that will always
specify our $BASEDIR and $KERNELVERSION for us.
Also, kill off HAS_MODULES. Since we have ADDED_MODULES, which contains
all currently added modules, we can count the elements in this when it
comes time to decide to create depmod files.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
Modify the sed filter to remove PIC addresses and ignore the first line
which will always be the vdso. Also remove the tls filter, as glibc has
had threaded support mainlined for many years now. If a user has a glibc
this old, we don't have support for them elsewhere (udev, kernel).
We also cleanup the logical flow through this function and remove a lot
of cruft that would always return true, or that didn't quite make sense.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
This should be set via the loglevel= parameter on the kernel cmdline.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
This is an unfortunate name clash with a common utility and should be
avoided. Rename the install function to 'build' and warn the user when
we discover a hook using an 'install' function.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
'raid' is the old deprecated hook name, which no longer exists. mdadm is
the proper name.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
This is harmless when it fails, but it might alarm users.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
|
|
|
|
Function all_modules() doesn't correctly detect module extension.
It's a one char removing patch.
Signed-off-by: Sebastien Luttringer <seblu@seblu.net>
|
|
|
|
devtmpfs is not used.
|
|
We preserve TERM, but everything else can be destroyed from the
environment. Without preserving TERM, the value is reset to 'dumb' in
userspace, and we get false readings by the initscripts on terminal
capabilities.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
/sys/class/block contains all of our block devices, including the
partitions of each parent block device, so directly check for the
existance of the dev file rather than looping.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
use blkid to resolve a tag name to a block device.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
This is no longer supported, as m-i-t supports modprobe.blacklist=
syntax on the kernel cmdline. We load all modules from the config at
once with --all and --use-blacklist flags in order to honor the cmdline
blacklisting.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
We can condense this logic into a loop as well, which cuts back on
repetative code.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
Do a single grep to compare the contents of the module file (if exists)
against the results of all_modules for the provided arguments. If
there's no module file, this is still just pass through to all_modules.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
sanitize and print during module discovery. We also strip path names
during this process and null terminate path names for safety.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
sort/uniq the modaliases files' contents, before passing _all_ of them
to modprobe -a. This cuts back on execution time as well as cleaning up
the resulting list of modules.
Signed-off-by: Dave Reisner <d@falconindy.com>
|
|
|
|
|
|
|
|
Doing the `echo -n` call causes the shell to line-buffer the output
anyway, meaning one doesn't see the first part until 'SUCCESS' or
'FAILURE' is printed. This means the last message on the screen is
'Generating module dependencies' when in fact we are actually generating
the image, which can take a lot of time when XZ, etc. are used.
Print the status on two lines, ensuring buffering is not causing
problems with out output.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
|
|
>From udev NEWS:
The running udev daemon can now cleanly shut down with:
udevadm control --exit
Udev in initramfs should clean the state of the udev database
with: udevadm info --cleanup-db which will remove all state left
behind from events/rules in initramfs. If initramfs uses
--cleanup-db and device-mapper/LVM, the rules in initramfs need
to add OPTIONS+="db_persist" for all dm devices. This will
prevent removal of the udev database for these devices.
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
|
|
This brings it in line with initscripts (and systemd), there should be no need for everyone to have write access to the /run folder.
Reported-by: Pierre Schmitz <pierre@archlinux.de>
Signed-off-by: Tom Gundersen <teg@jklm.no>
|
|
Nobody ever read these comments before, but somebody now
noticed poor grammar in them.
Thanks to Semitsoglou-Tsiapos Dimitrios for the improvements.
|
|
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
|
|
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
|
|
|
|
This should properly handle all ugly characters in values,
omit settings any forbidden variable names and take care
of double-quoted values with spaces in them.
This should finally fix FS#23467, FS#22080 and FS#13900.
|
|
|
|
The kernel command line allows quoted strings with whitespace in them. Until now,
such parameters would crash /init and cause a kernel panic.
Move parsing into a function and use the 'set' builtin to split /proc/cmdline
into arguments.
Fixes FS#13900 and FS#22080.
|
|
- Remove ":: Loading initramfs" message
- Start udev after command line parsing, so quiet will be respected
|
|
Mount /run as a 10MB tmpfs with 1777 permissions early. Move it to /new_root
when switching.
|
|
- Loop over dev, sys, proc instead of repeating the same command.
- If the target directory does not exist, umount instead of moving.
|