Age | Commit message (Collapse) | Author |
|
if tsort is available, use it instead of custom sorting code
if a pre-cached order file is available, use that instead
[ move cache_run_scripts from scripts/functions to hook-scripts
as only used on mkinitramfs build and not on boot ]
Signed-off-by: maximilian attems <maks@debian.org>
|
|
allows wider usage.
(closes: #487409)
Reported-by: Christoph Anton Mitterer <calestyo@scientia.net>
Signed-off-by: maximilian attems <maks@debian.org>
|
|
Reported-by: Loïc Grenié <loic.grenie@gmail.com>
Signed-off-by: maximilian attems <maks@debian.org>
|
|
Here is a bug description and a patch. Please consider it.
The patch solves a an LTSP client problem that arises when
the clients are connected to Cisco switches that have
spanning-tree calculations enabled.
Also related to:
http://git.debian.org/?p=kernel/initramfs-tools.git;a=commitdiff;h=9c3ec61b1a5e2feaa8d9c6de737eaa00eb446a9c
And
http://git.debian.org/?p=kernel/initramfs-tools.git;a=commitdiff;h=115134f07a0dd042355a2a6fb5a5ca987b000f5d
Here in an extensive explaination:
https://bugs.launchpad.net/ubuntu/+source/initramfs-tools/+bug/181258
Also in the following:
I can report the same problem. A number of diskless clients go
flawlessly through a PXE boot, then the net interface is brought down
when the Linux kernel boots and suddenly, dhcp does not work anymore.
Background research on the network: The clients are connected to Cisco
switches. The configuration of the switches makes them run spanning-tree
calculations. This usually takes some seconds but for large networks it
can take up to 30 40 seconds.
The network port on the switch is turned on, when this calculation has
been finished. This is primarily a security measure.
See also: http://networkers-online.com/blog/2008/08/what-is-bpdu-filter/
If this security measure is turned off, the client boots without
problems. :)
To debug the problem, the following boot line was used:
kernel amd64/vmlinuz
append ro initrd=amd64/initrd.img nbdport=2000 debug=100 break=1
ip=dhcp
In my case, this causes a timeout as can be seen on the attached
screenshots. The kernel loads the NIC module e1000e and reports the type
of NIC et.c. The kernel time reported is 5.927 .
The debug shows the following:
configure_networking
[ -n eth0 ]
[-e /tmp/net-eth0.conf ]
ipconfig -t 60 eth0
At about 6.4 in kernel time, the NIC module reports further about it's
IRQ configuration.
Two seconds (2 sec) later at about 8.56 the NIC module reports that the
Link is up at 100 Mbps full duplex.
Some milliseconds later it signals ADDRCONF(NETDEV_CHANGE): eth0: link
becomes ready .
At this point in time, ipconfig is just waiting for an answer to the
DHCP-discover that really was choked by the switch.
Now this is an obvious flaw in the script. It would be much more
reasonable to try repeatedly with increasing timouts. This would also
be much more efficent.
may I suggest the following timeouts:
4
8
16
30
60
The sum of this timeout is about 120 seconds.
I did some testing with exponential timeout with 1 2 4 8 16 30 ...
and it solved the problem, but it seems that ipconfig runs once
additionally after it has actually done the job.
I am running tests now with an exponent of n/1.5 instead of n.
That would give a sequence of (ca)
2 3 4 6 9 16 25 36 64 100
Attached are a jpeg screenshot of the boot sequence and of
course the patch. The patch is relative to the present git
snapshot.
--
Kindest Regards, Anna Jonna Ármannsdóttir, %& A: Because people read from top to bottom.
Unix System Aministration, Computing Services, %& Q: Why is top posting bad?
University of Iceland.
Signed-off-by: maximilian attems <maks@debian.org>
|
|
updated patch against current master, using only shell, and with a cleaner
method to convert BOOTF to a typical mac address.
(closes: #567540)
Signed-off-by: maximilian attems <maks@debian.org>
|
|
Sometimes one misses the error message printed by the panic helper function,
for example when attaching a serial console after the fact, or if kernel
messages resulting from udev activity obscure or scroll it away.
Please consider adding some facility like the attached patch.
Thanks,
Feri.
(closes: #569033)
Signed-off-by: maximilian attems <maks@debian.org>
|
|
make it more concise:
* use POSIX ${parameter:+word}
* replace *[/]*) by just */*)
* test exit code of command -v rather then running test -x on it
while we are at it fix another command -v usage in scripts/functions.
Reviewed-by: Colin Watson <cjwatson@ubuntu.com>
Signed-off-by: maximilian attems <maks@debian.org>
|
|
the regex was overly severe not allowing dots althoug they are
useful as word ending.
based on a patch in launchpad, that didn't get all occurences right,
but was a good start.
(LP: #305837)
|
|
while at it cleanup the variable name that came due to legacy
naming nfsopts in a very early initramfs-tools release.
"The local-top/iscsi initramfs integration script uses the
configure_networking function, which depends on the IPOPTS environmental
variable set by the init script. However, this variable is not
available, because it's not exported from init, and local-top/iscsi is
not sourced but executed. Thus static IP configuration on the kernel
command line is not communicated to the script."
(closes: #516746)
Reported-by: Ferenc Wagner <wferi@niif.hu>
|
|
in 0.92m, the timeout for ipconfig in scripts/functions was set to 60
seconds. This broke our iscsi-rootfs setups.
It took me a while to debug this, but it seems that 60 seconds is not
enough for switches which have spanning-tree enabled, they need some
more time before they take up a port, in our case between 62 and 65
seconds.
(closes: #511085)
|
|
Fix buglet in parse_numeric where *:* would match mtd:root. We only
want to match numbers. This fixes redboot partition support.
Signed-off-by: Andres Salomon <dilinger@debian.org>
|
|
|
|
thanks martin f krafft <madduck@debian.org>
closes: #502058
|
|
|
|
rather than waiting forever (LP: #182940).
|
|
On OLPC machines, root is a nand device that is mounted as mtd0 (it is
neither a block device nor a char device). The arguments passed to the
kernel are "ro root=mtd0 rootfstype=jffs2".
Unfortunately, attempting to use an initrd based upon initramfs-tools
on such a machine results in a kernel panic and a syntax error.
Begin: Mounting root file system ... /init: line 172: syntax error:
0xmtd0
The probably appears to be in parse_numeric(); the init scripts
assume that normal devices are always prefixed with /, and root=
strings that aren't are raw device numbers (prefixing them with
0x). I'm not sure if there are other devices similar to mtd that
don't begin with a /.
How about something like the following patch? It's not foolproof,
but it at least ignores things that can't possibly be hex strings.
fixes partially #497133
|
|
after lenny the symlink of udev is meant to be gone,
support partial upgrades from lenny.
|
|
Please make log_begin_msg not emit a trailing newline - this makes the non-
"quiet" output cleaner and results in half as many lines being emitted. For
example:
Begin: Finding root filesytem ...
Done.
Becomes:
Begin: Finding root filesytem ... done.
Patch attached - it also adds a space and alters the case of "done" for
symmetry. This would be especially useful in Debian Live where we show a
large number of these messages by default.
(closes: #494257)
|
|
ubuntu sync
|
|
add small comment on top, what for we need it.
Signed-off-by: maximilian attems <maks@debian.org>
|
|
udev may be busy creating links for the root device by the time
mountroot is called. udevsettle makes sure these are processed. I thus
call udevsettle with a timeout of 10 seconds after the $BOOT-top
scripts have run and before the ROOTDELAY hack kicks in.
I thought about doing this with a local-top script instead, but there is
no way to ensure that it'll run last; cryptsetup uses a hack to make
sure it runs last, if we also use the same hack, there'll be
a dependency loop.
Signed-off-by: martin f. krafft <madduck@debian.org>
Signed-off-by: maximilian attems <maks@debian.org>
|
|
found on testing that configure_networking() shouldn't make
assumption that ${DEVICE} is really already set.
this still allows to bail out if device is passed and set.
|
|
IPOPTS can be assumed to get passed :::::: and thus configure
any possible interface. we have thus also to source the relevant
ipconfig output :)
based on a patch by Michal Sojka <sojkam1@fel.cvut.cz>:
"If I want several computers to boot from the same ramdisk (with NFS
root) and some computers have multiple network interfaces, the DEVICE
variable can't be set to a specific value (e.g. eth0). Ipconfig from
klibc supports a mode, where DHCP request is sent to all interfaces
and the one receiving the first DHCP offer is used. This perfectly
suits my needs, but it can't be used with initramfs scripts because
the interface name in not known in advance and the DEVICE variable is
set to something like ::::::."
|
|
No need to call chmod later on, now that klibc mknod can set permissions.
|
|
This patch is part of three patches (initramfs-tools, cryptsetup,
dropbear) which enable mkinitramfs to create initramfs that provide the
ability to log in and unlock a cryptroot during the boot process from
remote via ssh.
Calling configure_networking from /scripts/functions might appear more
than once, so just try if it hasn't been done/wasn't successful yet.
Check that by testing for existence of /tmp/net-$DEVICE.conf which is
created by ipconfig.
|
|
ltsp in ubuntu started using NBD+unionfs+squashfs instead of NFS, and
debian-live uses has a network boot methods using cifs in addition to a
different way of using NFS (i think it also uses unionfs and maybe
squashfs, not just a plain NFS/cifs mount)...
so splitting out the networking related code into a separate function
would move towards not having forked code for all of these different
network boot methods. at least, that's my hope.
|
|
sleep can take arg 0
|
|
* add the error messages
* fix double call to set_initlist
* skip empty dirs at start
|
|
recover func from previous bogus change..
|
|
sleep the passed time and then call reboot.
works as arg can only be numeric.
|
|
needs the -regextype posix-extended switch for find,
also it seems 0.86 disgarded uselessly uppercase scripts
(they might be distasteful ;)
|
|
check prereqs with the same set of checks for valid boot scripts
|
|
fixes permissions of created device /dev/root for lilo boots:
brw------- 1 root root 8, 1 2007-04-06 09:28 /dev/root
note: this is on trunk aka master, need to create etch branch too.
|
|
* don't panick on backup files on boot, just ignore them
* don't include backup file in initramfs
* cleanup changelog
this is quite a fundamental change need to double check
that it works on nfs root too.. :)
|
|
* kick mdrun script
* update control for lenny + ubuntu
* add _all_ ide, block and drivers
* use MODPROBE_OPTIONS and kill any modprobed arg
* small doc + whitespace fixes
|
|
- added rootdelay and rootfstype bootargs
- document this changes
- initrd-tools backward compatible mdadm assembe and then run mdrun
- update-initramfs really checkout use_bootloader from /etc/kernel-img.conf
- tighter klibc deps
|
|
- update TODO
- first take at the panic parsing
- do_bootloader variable is not case sensitive, catch more cases
- if panic is set to 0 reboot and don't open console,
needs still work for all other values.
|
|
- scripts/functions: fix debug boot param
- update-initramfs: checkout /etc/kernel-img.conf if lilo and grub is installed
- rename mdraid to mdrun, readd mdrun as it seems to work much better
with sarge systems
- add an help message for rescue shell
- better package desc
|
|
- add myri10ge, smc911x and hptiop modules
- fix check_minkver() logic
- escape resume variables
- fix SEE ALSO section in all manpages
- source /usr/share/initramfs-tools/conf.d/*
- check against modules.dep before running depmod
- more verbose output
- open console with -i for dash interactive
- fix resume param by LABEL or UUID
- lvm has new prereq mdadm
- update-initramfs fix -v calling
- functions/scripts replace basename usage with shell expansion
|
|
|
|
|
|
- cleanup of activate_vg() in lvm boot script
- use less of busybox utilities
- conf.d for BUSYBOX=y usage for the packages
- don't poke on conffile for RESUME
- use printf instead of expr (ooh ash and dash are *fun*)
- fix update-initramfs to use current_version when no other
version exists around
|
|
- load the right i2c module for ppc g5
(windfarm needs more work)
|
|
ubuntu sync:
- change prereqs policy
- add check_minver
- use it in update-initramfs
- fix version to use in update-initramfs
|
|
- bug script
- cryptoroot support
- change exported variables
- nfsopts, rootflags support
- warn lilo+grub install
- doc fixes
|
|
module-init-tools dep
gdth
lilo minor parsing fixes
|
|
* add linear module
* manpage polishing
* udev_helper needs some conf sourced
|
|
|
|
seen on an testboot with "break=init".
|
|
seen on the Debian ppc .config!?
|