hello vagrant, could you please review belows patch. if you see no objection, I'd just merge it.
thanks maks On Fri, 22 Jan 2010, Tim Small wrote: > Package: initramfs-tools > Version: 0.93.4 > Severity: normal > Tags: patch > > /usr/share/initramfs-tools/scripts/functions attempts to follow the > semantics described in Documentation/filesystems/nfs/nfsroot.txt with > respect to IP autoconfiguration, however a significant departure from > the behaviour is that nfsroot.txt says: > > <device> Name of network device to use. > > Default: If the host only has one device, it is used. > Otherwise the device is determined using > autoconfiguration. This is done by sending > autoconfiguration requests out of all devices, > and using the device that received the first reply. > > > initramfs-tools currently requires a device to be hard-coded, but this > is not much use if the network device is not known ahead of time. If > the device specified in either /etc/initramfs-tools/initramfs.conf or > on the ip=xxx kernel command line. > > Moreover a combination of the kernel commandline and the contents of > /etc/initramfs-tools/initramfs.conf is currently used which can be > misleading. > > With the attached patch, it is possible to specify either: > > DEVICE="all" or DEVICE="" in the /etc/initramfs-tools/initramfs.conf > > The patch is against lenny, I've not had a chance to test it on sid but > it looks like it should apply (modulo the change of the relevant env > variable). > > Many Thanks, > > Tim. > > -- Package-specific info: > -- /proc/cmdline > root=/dev/md0 ro console=tty0 > > -- /proc/filesystems > ext3 > vfat > fuseblk > > -- lsmod > Module Size Used by > ftdi_sio 57736 0 > pl2303 21508 0 > ark3116 16004 0 > usbserial 36592 3 ftdi_sio,pl2303,ark3116 > dm_hp_sw 7168 0 > dm_multipath 21392 1 dm_hp_sw > dm_mirror 20608 0 > dm_log 13956 1 dm_mirror > battery 16904 0 > usbhid 45920 0 > hid 41792 1 usbhid > ff_memless 9224 1 usbhid > fuse 54176 1 > enclosure 13632 0 > ipt_REDIRECT 6272 1 > nls_utf8 6272 0 > nls_cp437 11136 0 > vfat 14976 0 > fat 51128 1 vfat > nls_base 12932 4 nls_utf8,nls_cp437,vfat,fat > radeon 133920 2 > drm 91360 3 radeon > vzethdev 14720 0 > vznetdev 24456 1 > simfs 8944 1 > vzrst 122920 0 > vzcpt 106424 0 > tun 15492 2 vzrst,vzcpt > vzdquota 42740 1 [permanent] > vzmon 31376 5 vzethdev,vznetdev,vzrst,vzcpt > vzdev 7568 4 vzethdev,vznetdev,vzdquota,vzmon > xt_length 6400 0 > ipt_ttl 6144 0 > xt_tcpmss 6656 0 > xt_dscp 7168 0 > iTCO_wdt 15696 1 > authenc 9984 2 > esp4 10880 2 > aead 11904 2 authenc,esp4 > xfrm4_mode_tunnel 6912 4 > deflate 7424 0 > zlib_deflate 24088 1 deflate > zlib_inflate 18944 1 deflate > ctr 8832 0 > twofish 11136 0 > twofish_common 18560 1 twofish > camellia 25216 0 > serpent 23296 0 > blowfish 13056 0 > des_generic 21376 0 > cbc 7936 2 > aes_x86_64 12416 2 > aes_generic 32552 1 aes_x86_64 > xcbc 8968 0 > sha256_generic 13696 0 > sha1_generic 6912 0 > crypto_null 7680 2 > af_key 32280 0 > xt_tcpudp 7680 88 > xt_DSCP 7808 34 > ipt_MASQUERADE 6528 2 > iptable_nat 11652 1 > nf_nat_ftp 7296 0 > nf_nat 22548 4 > ipt_REDIRECT,ipt_MASQUERADE,iptable_nat,nf_nat_ftp > xt_TCPMSS 8576 3 > ipt_LOG 10372 46 > ipt_REJECT 7552 0 > iptable_mangle 8704 1 > iptable_filter 8320 1 > xt_multiport 7424 0 > xt_state 6656 13 > xt_limit 7172 50 > xt_conntrack 8704 0 > nf_conntrack_ftp 12728 1 nf_nat_ftp > nf_conntrack_ipv4 24352 16 iptable_nat,nf_nat > nf_conntrack 82688 7 > iptable_nat,nf_nat_ftp,nf_nat,xt_state,xt_conntrack,nf_conntrack_ftp,nf_conntrack_ipv4 > ip_tables 21776 3 iptable_nat,iptable_mangle,iptable_filter > x_tables 25736 17 > ipt_REDIRECT,xt_length,ipt_ttl,xt_tcpmss,xt_dscp,xt_tcpudp,xt_DSCP,ipt_MASQUERADE,iptable_nat,xt_TCPMSS,ipt_LOG,ipt_REJECT,xt_multiport,xt_state,xt_limit,xt_conntrack,ip_tables > nfs 252336 1 > lockd 70448 1 nfs > nfs_acl 7552 1 nfs > sunrpc 202216 11 nfs,lockd,nfs_acl > ipv6 296256 79 vzrst,vzcpt,vzmon > bridge 54952 0 > loop 64148 0 > dm_crypt 17032 0 > crypto_blkcipher 21636 7 authenc,ctr,cbc,crypto_null,dm_crypt > snd_hda_intel 436440 4 > snd_pcm_oss 41760 0 > snd_mixer_oss 18816 1 snd_pcm_oss > snd_pcm 81800 3 snd_hda_intel,snd_pcm_oss > snd_seq_dummy 7428 0 > snd_seq_oss 33280 0 > button 11680 0 > snd_seq_midi 11072 0 > snd_rawmidi 26784 1 snd_seq_midi > snd_seq_midi_event 11904 2 snd_seq_oss,snd_seq_midi > snd_seq 54304 6 > snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event > snd_timer 25744 3 snd_pcm,snd_seq > snd_seq_device 11668 5 > snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq > snd 63688 15 > snd_hda_intel,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device > pcspkr 7040 0 > i2c_i801 13596 0 > i2c_core 27936 1 i2c_i801 > joydev 14848 0 > soundcore 12064 1 snd > snd_page_alloc 13072 2 snd_hda_intel,snd_pcm > evdev 14208 5 > ext3 124688 3 > jbd 51240 1 ext3 > mbcache 12804 1 ext3 > dm_mod 58864 16 dm_multipath,dm_mirror,dm_log,dm_crypt > raid1 23936 3 > md_mod 79908 4 raid1 > ide_disk 16512 9 > ata_generic 10116 0 > ide_pci_generic 9220 0 [permanent] > uhci_hcd 25760 0 > ata_piix 22660 0 > libata 165600 2 ata_generic,ata_piix > scsi_mod 160888 2 dm_hp_sw,libata > dock 14112 1 libata > tulip 54048 0 > it821x 11140 0 [permanent] > ide_core 128156 3 ide_disk,ide_pci_generic,it821x > r8169 31492 0 > ehci_hcd 35980 0 > intel_agp 31856 0 > thermal 22816 1 > processor 42304 1 thermal > fan 9352 1 > thermal_sys 17728 3 thermal,processor,fan > > -- /etc/kernel-img.conf > # Kernel image management overrides > # See kernel-img.conf(5) for details > do_symlinks = yes > relative_links = yes > do_bootloader = no > do_bootfloppy = no > do_initrd = yes > link_in_boot = no > postinst_hook = update-grub > postrm_hook = update-grub > > -- /etc/initramfs-tools/initramfs.conf > MODULES=most > BUSYBOX=y > KEYMAP=n > BOOT=local > DEVICE=eth0 > NFSROOT=auto > > -- /etc/crypttab > # <target name> <source device> <key file> <options> > cryptvz1 /dev/ermintrude/lukstest /keysource/keymaterial luks,noauto > #cryptswap /dev/md1 /dev/urandom > swap,cipher=aes-cbc-essiv:sha256,size=256,hash=sha256 > > > -- System Information: > Debian Release: squeeze/sid > APT prefers testing > APT policy: (500, 'testing') > Architecture: amd64 (x86_64) > > Kernel: Linux 2.6.26-2-openvz-amd64 (SMP w/2 CPU cores) > Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) > Shell: /bin/sh linked to /bin/dash > > Versions of packages initramfs-tools depends on: > ii cpio 2.10-1 GNU cpio -- a program to manage > ar > ii findutils 4.4.2-1 utilities for finding > files--find, > ii klibc-utils 1.5.15-1 small utilities built with klibc > f > ii module-init-tools 3.11-1 tools for managing Linux kernel > mo > ii udev 149-2 /dev/ and hotplug management > daemo > > Versions of packages initramfs-tools recommends: > ii busybox 1:1.14.2-2 Tiny utilities for small and > embed > > initramfs-tools suggests no packages. > > -- no debconf information > --- initramfs-tools-0.93.4/conf/initramfs.conf.old 2010-01-22 > 17:52:02.000000000 +0000 > +++ initramfs-tools-0.93.4/conf/initramfs.conf 2010-01-22 > 17:54:55.000000000 +0000 > @@ -52,10 +52,14 @@ > # > # DEVICE: ... > # > -# Specify the network interface, like eth0 > +# Hard code a device for autoconfiguration. If the empty > +# string, or the word "all" then autoconfiguration will occur > +# on all devices, and the first reply will be used. May be > +# overridden using the "ip=..." argument as per the Linux kernel > +# Documentation/filesystems/nfs/nfsroot.txt > # > > -DEVICE=eth0 > +DEVICE=all > > # > # NFSROOT: [ auto | HOST:MOUNT ] > --- lenny/initramfs-tools/scripts/functions.orig 2009-01-07 > 14:14:37.000000000 +0000 > +++ lenny/initramfs-tools/scripts/functions 2010-01-22 16:37:26.000000000 > +0000 > @@ -269,10 +269,10 @@ > ;; > ""|on|any) > # Bring up device > - ipconfig -t 180 ${DEVICE} > + ipconfig -t 180 "${DEVICE}" > ;; > dhcp|bootp|rarp|both) > - ipconfig -t 180 -c ${IPOPTS} -d ${DEVICE} > + ipconfig -t 180 -c ${IPOPTS} -d "${DEVICE}" > ;; > *) > ipconfig -t 180 -d $IPOPTS > @@ -292,11 +292,12 @@ > esac > > # source ipconfig output > - if [ -n "${DEVICE}" ]; then > + if [ -n "${DEVICE}" ] && [ "${DEVICE}" != "all" ]; then > # source specific bootdevice > . /tmp/net-${DEVICE}.conf > else > - # source any interface as not exaclty specified > + # source any interface... > + # ipconfig should have quit after first response > . /tmp/net-*.conf > fi > } > --- initramfs-tools-0.93.4/initramfs.conf.5.orig 2010-01-22 > 17:45:51.000000000 +0000 > +++ initramfs-tools-0.93.4/initramfs.conf.5 2010-01-22 18:11:43.000000000 > +0000 > @@ -57,7 +57,20 @@ > > .TP > \fB DEVICE > -Specifies the network interface, like eth0. > +Specifies the network interface which should be used during IP configuration. > +This can be overridden by arguments supplied on the kernel command line using > +the 'ip=...' argument as described in > +\fIDocumentation/filesystems/nfs/nfsroot.txt\fP from the Linux kernel > +documentation. > + > +If this is set to the empty string, or the value "all" i.e. > +\fIDEVICE\fP=\fI"all"\fP then autoconfiguration will be carried out on all > +network interfaces, and only the first reply will be used. > + > +Note that the network devices will have been renamed as specified in > +\fI/etc/udev/rules.d/70-persistent-net.rules\fP prior to autoconfiguration, > +and that a copy of this file (as it was at the time that > +update-initramfs/mkinitramfs was executed) will be included in the initramfs. > > .TP > \fB ROOT -- maks -- To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20100224172247.gf11...@stro.at