Michal Soltys
fefab84fff
implement fs-lib, squash a few bugs that were part of det_fs/wrap_fsck
...
To not pollute dracut-lib.sh, all the fsck related functions were moved
to fs-lib.sh. The functions available are as follows:
- fsck_single
this will detect/verify filesystem, check if it has necessary tools and
check the filesystem respecting additional flags (if any), using
specific "driver" (or falling back to generic one). Currently
available: fsck_drv_{com,xfs,std}. 'com' is used for tools following
typical subset of options/return codes (e.g. ext, jfs), 'std' is used
for "unknown" fs and doesn't assume it can be run non-interactively.
Please see comments around the code for more info.
- fsck_batch
this will check provided list of the devices;
Both of the above functions will fake empty fstab, to make generic fsck
not complain too much (excact devices are always provided on the command
line).
"Known" filesystems currently: ext234, reiser, jfs, xfs
- det_fs
Small bug fixed - as this function is meant to be called in $(), it may
not be verbose.
Current behaviour is:
- if detection is successful, use its result
- if detection is not successful, and filesystem is provided, return
the provided one; otherwise use auto
2011-08-11 14:27:24 +02:00
Harald Hoyer
a9fa6d265d
dracut-lib.sh: fixed getargs() for empty arguments
2011-08-11 10:49:09 +02:00
Harald Hoyer
d765a3e71b
dracut-lib.sh: getarg() echo with "" to prevent wildcard subst
...
if a value of a key on the kernel command line includes wildcards, these
would be expanded.
E.g., if you have "key=/dev/sd*" the value would be substituted with
"/dev/sda /dev/sda1 /dev/sda2" instead of returning "/dev/sd*"
2011-08-10 18:43:54 +02:00
Harald Hoyer
82eea29797
99base/dracut-lib.sh: don't be quiet on rd.debug
2011-07-22 14:20:27 +02:00
Harald Hoyer
b1b678427e
99base/dracut-lib.sh: fix previous getargs patch
...
patch 9e7f495589
ignored
"getargs key=value"
2011-07-20 21:38:07 +02:00
Harald Hoyer
9e7f495589
dracut-lib.sh: fixed getargs()
...
if $1 has a "=<value>", we want the exact match
if cmdline argument has no "=<value>", we assume "=1"
2011-07-20 21:12:17 +02:00
Michal Soltys
e2c5015713
dracut-lib.sh: Add det_fs() and wrap_fsck()
...
Both functions will be used by rootfs-block and fstab-sys modules.
Both are based on code present in mount-root.sh, though few changes are
present.
det_fs:
will try to determine filesystem type for supplied device, even if it's
not auto. If fs cannot be detected, or if the detected one differs from
the supplied one - a warning is issued (so user can fix its stuff later)
wrap_fsck:
will call fsck for specific device with optionally additional
fsckoptions. The function returns fsck return value.
Signed-off-by: Michal Soltys <soltys@ziu.info>
2011-05-20 17:16:50 +02:00
Michal Soltys
e639630da4
dracut-lib.sh: add vwarn() function
...
Similary to vinfo()
Signed-off-by: Michal Soltys <soltys@ziu.info>
2011-05-20 17:16:50 +02:00
Harald Hoyer
beb015706b
dracut-lib.sh: warn, even if "quiet" is set
2011-05-11 20:19:13 +02:00
Harald Hoyer
3b403b32fc
removed trailing whitespaces
2011-05-10 11:56:09 +02:00
Harald Hoyer
6822764f25
base/dracut-lib.sh: add ismounted()
2011-04-11 13:34:34 +02:00
Harald Hoyer
0d837ebf2a
base/dracut-lib.sh: turn on PS4 for bash debugging
2011-04-11 13:34:06 +02:00
Harald Hoyer
a2cb4dbc82
base/dracut-lib.sh:incol2() return 1 on error
2011-04-08 13:27:07 +02:00
Harald Hoyer
03f405bc04
init: move /.die to /run/initramfs/.die
2011-04-08 13:26:02 +02:00
Harald Hoyer
d125a47061
mkdir always with -m 0755
2011-04-08 10:39:46 +02:00
Harald Hoyer
79471f365e
base/dracut-lib.sh: changed kmgs log levels
...
New kernel/dmesg understands syslog levels, so we log with "+24" to indicate
that dracut is a daemon (current init).
2011-03-31 13:12:38 +02:00
Harald Hoyer
4ad453445a
base/dracut-lib.sh: relax getargbool value parsing
...
if a non-boolean value was specified, like "yes" or "no",
getargbool() would error, because we check for "$val -eq 0"
2011-03-30 01:45:17 +02:00
Harald Hoyer
9e7a3bf242
base/dracut-lib.sh: s/RDDEBUG/RD_DEBUG/g
...
RDDEBUG would be unset by the environment cleanup in init and logging
would be turned off afterwards.
2011-03-25 16:10:47 +01:00
Harald Hoyer
0b53ca70b6
Move all hooks to "$hookdir"
...
hookdir=/lib/dracut/hooks for now, to keep the root directory clean
2011-03-25 16:10:46 +01:00
Harald Hoyer
535ad9d1fb
dracut-lib: improve die() logging
2011-03-07 13:37:22 +01:00
Harald Hoyer
8ce58f1f42
add missing shebang
2011-02-23 09:38:25 +01:00
Amadeusz Żołnowski
7a8a33b6cd
dracut-lib.sh: splitsep fix
2010-11-16 10:30:33 +01:00
Amadeusz Żołnowski
ccb0ab7348
99base/dracut-lib.sh: 5 new functions & 1 modified
...
New:
str_starts, str_replace
funiq - print new unique file name
mkuniqdir - create and print new unique dir
splitsep - splits given string 'str' with separator 'sep' into vars
udevmatch - create udev rule match for a device
Modified:
foreach_uuid_until - use $___ as a place holder
2010-11-12 14:08:08 +01:00
Harald Hoyer
fa7ada31d0
new parameter option names with "rd.*" namespace
...
Renamed Options
Here is a list of options, which were used in dracut prior to
version 008, and their new replacement.
rdbreak
rd.break
rd_CCW
rd.ccw
rdcopystate
rd.copystate
rd_DASD_MOD
rd.dasd_mod.dasd
rd_DASD
rd.dasd
rdinitdebug rdnetdebug
rd.debug
rd_NO_DM
rd.dm=0
rd_DM_UUID
rd.dm.uuid
rdblacklist
rd.driver.blacklist
rdinsmodpost
rd.driver.post
rdloaddriver
rd.driver.pre
rd_NO_FSTAB
rd.fstab=0
rdinfo
rd.info
check
rd.live.check
rdlivedebug
rd.live.debug
live_dir
rd.live.dir
liveimg
rd.live.image
overlay
rd.live.overlay
readonly_overlay
rd.live.overlay.readonly
reset_overlay
rd.live.overlay.reset
live_ram
rd.live.ram
rd_NO_CRYPTTAB
rd.luks.crypttab=0
rd_LUKS_KEYDEV_UUID
rd.luks.keydev.uuid
rd_LUKS_KEYPATH
rd.luks.keypath
rd_NO_LUKS
rd.luks=0
rd_LUKS_UUID
rd.luks.uuid
rd_LUKS_UUID
rd.luks.uuid
rd_NO_LVMCONF
rd.lvm.conf
rd_LVM_LV
rd.lvm.lv
rd_NO_LVM
rd.lvm=0
rd_LVM_SNAPSHOT
rd.lvm.snapshot
rd_LVM_SNAPSIZE
rd.lvm.snapsize
rd_LVM_VG
rd.lvm.vg
rd_NO_MDADMCONF
rd.md.conf=0
rd_NO_MDIMSM
rd.md.imsm=0
rd_NO_MD
rd.md=0
rd_MD_UUID
rd.md.uuid
rd_NFS_DOMAIN
rd.nfs.domain
rd_NO_PLYMOUTH
rd.plymouth=0
rd_retry
rd.retry
rdshell
rd.shell
rd_NO_SPLASH
rd.splash
rdudevdebug
rd.udev.debug
rdudevinfo
rd.udev.info
rd_NO_ZFCPCONF
rd.zfcp.conf=0
rd_ZFCP
rd.zfcp
2010-10-28 17:11:27 +02:00
Harald Hoyer
cc02093d69
reformat source code
...
removed tabs and set indention to 4 spaces
added emacs and vi format headers
2010-09-10 15:34:36 +02:00
Harald Hoyer
3a4d0c9c14
dracut-lib.sh: fixed getarg for nonexistent parameters
...
getarg returned an old "$val" for nonexistent parameters, because "val"
was not local
2010-08-02 14:18:00 +02:00
Amadeusz Żołnowski
2926b5b35d
90crypt: keys on external devices support
...
99base/dracut-lib.sh: new fun.: getoptcomma, foreach_uuid_until
2010-07-21 13:38:47 +02:00
Harald Hoyer
adde3a7a27
dracut-lib.sh: getarg() returns the value of the last argument
...
a=0 a=1 a=2
$(getarg a) == "2"
2010-07-12 18:52:44 +02:00
Harald Hoyer
3a4989cae2
dracut-lib: export RDDEBUG
2010-07-12 15:33:44 +02:00
Harald Hoyer
b6a7c09070
chmod 0755 *.sh
2010-05-19 09:40:48 +02:00
Harald Hoyer
e54a84113e
get rid of rdnetdebug
...
set PS4 and output to /dev/initlog.pipe
2010-05-19 09:38:09 +02:00
Harald Hoyer
1d149cd039
dracut-lib: turn of shell debug mode in strstr and getarg(s)
2010-04-16 17:59:48 +02:00
Harald Hoyer
9232cab470
fix IFS restoring
2010-02-18 09:46:19 +01:00
Harald Hoyer
c98bcec89c
add preliminary IPv6 support
2010-02-04 16:05:19 +01:00
Harald Hoyer
4bb570c9a4
dracut-lib: do not leave debug mode in getarg and getargs
2010-01-15 14:07:54 +01:00
Harald Hoyer
2dfdcbf4e7
dracut-lib: read multiple lines from $init/etc/cmdline
2010-01-15 12:33:41 +01:00
Harald Hoyer
695de8493d
dracut-lib: prevent double log output
2010-01-12 10:37:27 +01:00
Harald Hoyer
b26260a0b9
dracut-lib: fixed wait_for_if_up()
2009-10-09 13:18:59 +02:00
Harald Hoyer
bf87d252f3
network: wait for interfaces to come up, before proceeding
2009-10-06 15:07:52 +02:00
Harald Hoyer
52aeb3f312
base/dracut-lib: add setdebug
...
do not clutter rdinitdebug output with getarg and getargs debug
2009-10-01 14:46:16 +02:00
Harald Hoyer
1dd5bc3fba
add udevproperty() to dracut-lib and use it
...
newer versions of udev use --property instead of --env
2009-09-16 10:43:50 +02:00
Harald Hoyer
54a73cbb2b
dracut-lib.sh: change -f to -e to allow symlinks
2009-09-15 15:00:24 +02:00
Harald Hoyer
82b2189d01
initqueue-finished: fail also on empty queue
2009-09-15 15:00:24 +02:00
Harald Hoyer
8238850caa
init: add initqueue-finished
...
/initqueue-finished/*.sh are scripts, which return != 0, if the main
loop still has pending jobs to do.
2009-09-15 08:47:47 +02:00
Harald Hoyer
273b197d75
added initqueue-settled and refactored code
2009-09-07 19:12:01 +02:00
Harald Hoyer
8ef0be5671
dracut-lib: try to set UDEVVERSION, if not set
2009-09-01 15:51:51 +02:00
Harald Hoyer
5c6a593f2e
add udevsettle function and settle after raid/lvm/crypto activities
2009-09-01 15:42:27 +02:00
Harald Hoyer
3d4641fd98
add rdinfo command line parameter
...
print informational output though "quiet" is set
2009-08-14 16:21:03 +02:00
Harald Hoyer
f72c10f657
getarg()/getargs(): check existance of /etc/cmdline before reading it
2009-07-28 18:29:40 +02:00
Harald Hoyer
c1a37d928f
dracut-lib: getarg(), getargs() read command line also from /etc/cmdline
...
Also honor parameters in /etc/cmdline.
getarg(): If the argument is first fround in /proc/cmdline, then it is
used
2009-07-25 11:09:35 +02:00