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 [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]
Archive: http://lists.debian.org/[email protected]