Debian Bug report logs - #593284
live-initramfs: add functionlity for using BOOTIF param

version graph

Package: live-initramfs; Maintainer for live-initramfs is Debian Live Project <debian-live@lists.debian.org>;

Reported by: Holger Fischer <hoo.mb@web.de>

Date: Mon, 16 Aug 2010 22:33:02 UTC

Severity: normal

Found in version live-initramfs/1.236.2-1

Fixed in version live-boot/3.0~a2-1

Done: Daniel Baumann <daniel@debian.org>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Debian Live Project <debian-live@lists.debian.org>:
Bug#593284; Package live-initramfs. (Mon, 16 Aug 2010 22:33:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to Holger Fischer <hoo.mb@web.de>:
New Bug report received and forwarded. Copy sent to Debian Live Project <debian-live@lists.debian.org>. (Mon, 16 Aug 2010 22:33:05 GMT) Full text and rfc822 format available.

Message #5 received at submit@bugs.debian.org (full text, mbox):

From: Holger Fischer <hoo.mb@web.de>
To: submit@bugs.debian.org
Cc: fai@informatik.uni-koeln.de
Subject: live-initramfs: add functionlity for using BOOTIF param
Date: Tue, 17 Aug 2010 00:23:02 +0200
[Message part 1 (text/plain, inline)]
Package: live-initramfs
Version: 1.236.2-1

Hi there,

last weekend I was testing something with fai, initramfs-tools and
live-initramfs, because I had trouble with netbooting a via vb8001 mb
with a second pcie e1000e card.

The problem is, that one time the onboard via-velocity becomes eth1 next 
time eth0 (mostly eth1). Therefore it's not enough to specify 
live-netdev=eth1 as kernel param.

My idea is to work with the BOOTIF param which pxelinux set's as kernel 
param when you specify

ipappend 2

in the pxelinux boot config of your machine. It includes the MAC of the 
nic the kernel was booted from (or so o:). You can also specify BOOTIF 
as a kernel param manually.

live-initramfs should simply acquire the ip(dhcp) through the same ip 
the kernel was loaded from.

I find this useful, because most of the people that do a pxe/netboot and 
mount a nfsroot (like fai does), want to get the ip address for the 
nfsroot (which will be mountes through/by live-initramfs) through the 
same device/ip/... the kernel was loaded from.

My current solution is:

- take live-initramfs=1.236.2-1 source code from 
http://live.debian.net/archive/packages/live-boot/1.236.2-1
This is the last version of the old 1.x series. I took that one, because 
I have trouble using latest version of live-initramfs based on live-boot 
with fai (will file this as a separat bug).
- change scripts/live-premount/select_eth_device that it takes 
live-netdev=BOOTIF as a parameter and that it set's the live-netdev to 
the interface that matches the MAC given in BOOTIF when done so.

@M.Attems: Thanx for writing the mac-nic-translator in initramfs-tools - 
I could easily use that one here (o:

- revert patch "5de51fc8b4f8e80f1ff1e734c971755c0c223150 - Using 
minimized rules file" from live.debian.net (live-boot) that package 
builds against plain lenny repo and sources.

- use initramfs-tools package as I described in bug #593276

I don't know much about the work of a debian package maintainer and 
possibly it need's some extra work to make this "debian-clean", that's 
my idea and it works so far for me.

Attached is a diff.gz + dsc against 
http://live.debian.net/archive/packages/live-boot/1.236.2-1/live-initramfs_1.236.2.orig.tar.gz.

Here's also a patch for scripts/live-premount/select_eth_device which I 
primarily changed:

--- select_eth_device.orig    2010-05-18 06:53:40.000000000 +0200
+++ select_eth_device    2010-08-13 10:47:27.000000000 +0200
@@ -56,11 +56,80 @@ if [ $(echo $l_interfaces | wc -w) -lt 2
    exit 0
fi

+for ARGUMENT in $(cat /proc/cmdline); do
+    case "${ARGUMENT}" in
+        BOOTIF=*)
+        BOOTIF="${ARGUMENT#BOOTIF=}"
+        echo "Found BOOTIF parameter in /proc/cmdline."
+        echo "Setting BOOTIF=$BOOTIF."
+        ;;
+    esac
+done
+
+# taken from git.kernel.org - initramfs-tools
+# commit 673abb77821433a67add61ac79d739c6cee9eee0
+# and bugfix commit 5db5becc85059e56075de5a331ed7c5a4cc2de0c
+# and changed it a bit for this purpose
+# thx maximilian attems
+if [ -n "${BOOTIF}" ]; then
+    # pxelinux sets BOOTIF to a value based on the mac address of the
+    # network card used to PXE boot, so use this value for DEVICE rather
+    # than a hard-coded device name from initramfs.conf. this facilitates
+    # network booting when machines may have multiple network cards.
+    # pxelinux sets BOOTIF to 01-$mac_address
+
+    # strip off the leading "01-", which isn't part of the mac
+    # address
+    temp_mac=${BOOTIF#*-}
+         
+    # convert to typical mac address format by replacing "-" with ":"
+    bootif_mac=""
+    IFS='-'
+    for x in $temp_mac ; do
+        if [ -z "$bootif_mac" ]; then
+            bootif_mac="$x"
+        else
+            bootif_mac="$bootif_mac:$x"
+        fi
+    done
+    unset IFS
+
+    # look for devices with matching mac address, and set DEVICE to
+    # appropriate value if match is found.
+    for device in /sys/class/net/* ; do
+        if [ -f "$device/address" ]; then
+            current_mac=$(cat "$device/address")
+            if [ "$bootif_mac" = "$current_mac" ]; then
+                BOOTIF_DEVICE=${device##*/}
+                break
+            fi
+        fi
+    done
+    [ -n "$BOOTIF_DEVICE" ] && echo "Found matching dev to BOOTIF MAC. 
Setting BOOTIF_DEVICE=$BOOTIF_DEVICE"
+fi
+
# If user force to use specific device, write it
for ARGUMENT in $(cat /proc/cmdline); do
    case "${ARGUMENT}" in
        live-netdev=*)
-        NETDEV="${ARGUMENT#live-netdev=}"
+        LIVE_NETDEV="${ARGUMENT#live-netdev=}"
+        if [ "$LIVE_NETDEV" = "BOOTIF" ]; then
+            if [ -n "$BOOTIF_DEVICE" ]; then
+                NETDEV="$BOOTIF_DEVICE"
+                echo "Found live-netdev=BOOTIF in /proc/cmdline. 
Setting NETDEV=$BOOTIF_DEVICE"
+            else
+                echo "Found live-netdev=BOOTIF in /proc/cmdline."
+                echo "No BOOTIF_DEVICE was found, try inserting line:"
+                echo "ipappend 2"
+                echo "to PXELINUX boot config (device not supported?)"
+                echo "or add BOOTIF kernel parameter with a correct MAC."
+                # live-netdev will not work here - leave the for loop
+                break
+            fi
+        else
+            NETDEV="$LIVE_NETDEV"
+        fi
+
        echo "DEVICE=$NETDEV" >> /conf/param.conf
    echo "Found live-netdev parameter in /proc/cmdline. Force to use 
network device $NETDEV."
        exit 0


Cheers

Holger Fischer

[live-initramfs_1.236.2-1~hbpo01.diff.gz (application/gzip, inline)]
[live-initramfs_1.236.2-1~hbpo01.dsc (text/plain, inline)]
Format: 1.0
Source: live-initramfs
Binary: live-initramfs
Architecture: all
Version: 1.236.2-1~hbpo01
Maintainer: Debian Live Project <debian-live@lists.debian.org>
Uploaders: Daniel Baumann <daniel@debian.org>
Homepage: http://live.debian.net/devel/live-initramfs/
Standards-Version: 3.8.4
Vcs-Browser: http://live.debian.net/gitweb/?p=live-initramfs.git
Vcs-Git: git://live.debian.net/git/live-initramfs.git
Build-Depends: debhelper (>= 7)
Build-Depends-Indep: asciidoc, docbook-xsl, xsltproc
Checksums-Sha1: 
 8393790f00b8c324d1f666e4fb07759039ebf649 109935 live-initramfs_1.236.2.orig.tar.gz
 03e5fcdddf66d18e3e250aed0a823f838590db7c 16702 live-initramfs_1.236.2-1~hbpo01.diff.gz
Checksums-Sha256: 
 ab960f9523653bba651f74f8df671037503ff9bb9c8b11aca7cd61889632e5e5 109935 live-initramfs_1.236.2.orig.tar.gz
 be1dd3e07ecdb7f12a08c7b1aa4006c78625c2d05bd24bdf61612f2183edba66 16702 live-initramfs_1.236.2-1~hbpo01.diff.gz
Files: 
 cf4d591adcd0e1b01b5708e4a3911e65 109935 live-initramfs_1.236.2.orig.tar.gz
 ae6286be83e69752d1b665afe7595354 16702 live-initramfs_1.236.2-1~hbpo01.diff.gz

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Live Project <debian-live@lists.debian.org>:
Bug#593284; Package live-initramfs. (Tue, 17 Aug 2010 12:51:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Stephan Hermann <sh@sourcecode.de>:
Extra info received and forwarded to list. Copy sent to Debian Live Project <debian-live@lists.debian.org>. (Tue, 17 Aug 2010 12:51:03 GMT) Full text and rfc822 format available.

Message #10 received at 593284@bugs.debian.org (full text, mbox):

From: Stephan Hermann <sh@sourcecode.de>
To: 593284@bugs.debian.org
Subject: Re: live-initramfs: add functionlity for using BOOTIF param
Date: Tue, 17 Aug 2010 14:48:42 +0200
[Message part 1 (text/plain, inline)]
Dear Colleagues,

I took Holgers patch and added it to the latest sid packages of live-boot.

Please find attached the needed debdiff.

(thx Mikap for reminding me ;))

Regards,

\sh
[live-boot_2.0.0-1_to_live-boot_2.0.0-2.debdiff (text/plain, attachment)]
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Live Project <debian-live@lists.debian.org>:
Bug#593284; Package live-initramfs. (Wed, 18 Aug 2010 12:30:06 GMT) Full text and rfc822 format available.

Acknowledgement sent to daniel@debian.org:
Extra info received and forwarded to list. Copy sent to Debian Live Project <debian-live@lists.debian.org>. (Wed, 18 Aug 2010 12:30:06 GMT) Full text and rfc822 format available.

Message #15 received at 593284@bugs.debian.org (full text, mbox):

From: Daniel Baumann <daniel@debian.org>
To: 593284-submitter@bugs.debian.org
Cc: 593284@bugs.debian.org
Subject: Re: live-initramfs: add functionlity for using BOOTIF param
Date: Wed, 18 Aug 2010 14:26:44 +0200
tag 593284 pending
thanks

applied on the 3.x branch (for squeeze+1), thanks.

-- 
Address:        Daniel Baumann, Burgunderstrasse 3, CH-4562 Biberist
Email:          daniel.baumann@panthera-systems.net
Internet:       http://people.panthera-systems.net/~daniel-baumann/




Added tag(s) pending. Request was from Daniel Baumann <daniel@debian.org> to control@bugs.debian.org. (Wed, 18 Aug 2010 12:30:11 GMT) Full text and rfc822 format available.

Message sent on to Holger Fischer <hoo.mb@web.de>:
Bug#593284. (Wed, 18 Aug 2010 12:30:13 GMT) Full text and rfc822 format available.

Reply sent to Daniel Baumann <daniel@debian.org>:
You have taken responsibility. (Wed, 01 Sep 2010 16:51:07 GMT) Full text and rfc822 format available.

Notification sent to Holger Fischer <hoo.mb@web.de>:
Bug acknowledged by developer. (Wed, 01 Sep 2010 16:51:07 GMT) Full text and rfc822 format available.

Message #25 received at 593284-close@bugs.debian.org (full text, mbox):

From: Daniel Baumann <daniel@debian.org>
To: 593284-close@bugs.debian.org
Subject: Bug#593284: fixed in live-boot 3.0~a2-1
Date: Wed, 01 Sep 2010 16:47:13 +0000
Source: live-boot
Source-Version: 3.0~a2-1

We believe that the bug you reported is fixed in the latest version of
live-boot, which is due to be installed in the Debian FTP archive:

live-boot-initramfs-tools_3.0~a2-1_all.deb
  to main/l/live-boot/live-boot-initramfs-tools_3.0~a2-1_all.deb
live-boot_3.0~a2-1.debian.tar.gz
  to main/l/live-boot/live-boot_3.0~a2-1.debian.tar.gz
live-boot_3.0~a2-1.dsc
  to main/l/live-boot/live-boot_3.0~a2-1.dsc
live-boot_3.0~a2-1_all.deb
  to main/l/live-boot/live-boot_3.0~a2-1_all.deb
live-boot_3.0~a2.orig.tar.gz
  to main/l/live-boot/live-boot_3.0~a2.orig.tar.gz



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 593284@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Daniel Baumann <daniel@debian.org> (supplier of updated live-boot package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Wed, 01 Sep 2010 18:27:33 +0200
Source: live-boot
Binary: live-boot live-boot-initramfs-tools
Architecture: source all
Version: 3.0~a2-1
Distribution: experimental
Urgency: low
Maintainer: Debian Live Project <debian-live@lists.debian.org>
Changed-By: Daniel Baumann <daniel@debian.org>
Description: 
 live-boot  - Debian Live - System Boot Scripts
 live-boot-initramfs-tools - Debian Live - System Boot Scripts (initramfs-tools backend)
Closes: 593284
Changes: 
 live-boot (3.0~a2-1) experimental; urgency=low
 .
   [ Daniel Baumann ]
   * Removing old and unmaintained po files.
   * Adding reformated patch from Stephan Hermann <sh@sourcecode.de>
     based on the work of Holger Fischer <hoo.mb@web.de> to add support
     for BOOTIF in cases where pxelinux is being used with IPAPPEND
     (Closes: #593284).
 .
   [ Steven Shiau ]
   * Making multiple connected NICs work.
 .
   [ Michael Prokop ]
   * Adding workaround for aufs issue in kernel versions around 2.6.33.
 .
   [ Daniel Baumann ]
   * Using allow-hotplug instead of auto in automatically created
     /etc/network/interfaces file.
Checksums-Sha1: 
 188d20c030b73a97fe3e6d5a6cb0f96f4777d7b8 1249 live-boot_3.0~a2-1.dsc
 e2b4f64a18fd20ea70db866d17f42a8f80e71b70 103842 live-boot_3.0~a2.orig.tar.gz
 2626b09e03a8372a3a070c33241196ed238a7e2c 17476 live-boot_3.0~a2-1.debian.tar.gz
 476e87c8e2fd06c8e8796dc8bf0537ddab440375 74154 live-boot_3.0~a2-1_all.deb
 c7f91df23766e9580858bcb0fb06c6040e3fd125 28570 live-boot-initramfs-tools_3.0~a2-1_all.deb
Checksums-Sha256: 
 d50b8da4129cff34d4e4d605c7f04a605d3567452b6fd2a8f47301bdf98e1725 1249 live-boot_3.0~a2-1.dsc
 487e3ae6e5084252f46677df9c5213d229e716fc3ab70831fbb01bcb64c7d9f6 103842 live-boot_3.0~a2.orig.tar.gz
 0c9545344570c56e4a7280f763b5d682114c8e57d481b0d1fab1b87204729898 17476 live-boot_3.0~a2-1.debian.tar.gz
 fbcf3fceed68b5e6a5eebd55f09de53efb943b71b50b529003e4c78751e00bd9 74154 live-boot_3.0~a2-1_all.deb
 9083430c4affb1a56f2453ca38ad473fbd3c71858ee856eb5385284d7e1ca2cb 28570 live-boot-initramfs-tools_3.0~a2-1_all.deb
Files: 
 f0731e02f3307fa7cb2a5d903cee50f7 1249 misc optional live-boot_3.0~a2-1.dsc
 0118c38356dd9542fc48c306f0229335 103842 misc optional live-boot_3.0~a2.orig.tar.gz
 6c630cfa00fb2f5ecfad7c32d7724a51 17476 misc optional live-boot_3.0~a2-1.debian.tar.gz
 322aab77a899fb8b99ebbf94cf9f2812 74154 misc optional live-boot_3.0~a2-1_all.deb
 f69f1f809cc0cd4fc90a9c6928582303 28570 misc optional live-boot-initramfs-tools_3.0~a2-1_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iEYEARECAAYFAkx+f/4ACgkQ+C5cwEsrK57vtgCfd0vNGZUCjltZBXIHuV6jitSW
idYAoMyPXZd98kVI3Dv+juirA5qisQU1
=p4rZ
-----END PGP SIGNATURE-----





Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Thu, 30 Sep 2010 07:40:35 GMT) Full text and rfc822 format available.

Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Fri Apr 25 09:14:35 2014; Machine Name: beach.debian.org

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.