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

Reply via email to