[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#684717: debian-installer-7.0-netboot-amd64: Relative paths in syslinux configuration interact badly with TFTP prefix



Control: tags -1 +patch +moreinfo

Le lundi, 13 août 2012 14.03:55, Sam Morris a écrit :
> menu.cfg can't be loaded, because the TFTP prefix
> 'debian-installer/amd64/text' is prepended to the path in the config
> file of 'debian-installer/amd64/boot-screens/menu.cfg'. If the config
> file used paths relative to the pxelinux.0 file then I think booting
> would work correctly.
> 
> Additionally the assumed prefix path written into the config files
> doesn't let the 'text' and 'gtk' versions of the installers co-exist in
> the same TFTP root, because the paths are missing the text/gtk element.
> Once the various debian-installer-$VERSION-netboot-$ARCH packages are
> co-installable, this will prevent different versions from being
> accessible from the same TFTP server as well.
> 
> My workaround configuration involves bind-mounting
> /usr/lib/debian-installer/images/amd64/text to
> /srv/tftp/debian-installer/amd64, and then creating symlinks in
> /srv/tftp pointing to 'debian-installer/amd64/pxelinux.{0,cfg/default}'.
> 
> An alternative workaround would be to configure the DHCP server to
> specify the TFTP prefix path; however you're still limited to a single
> version/architecture of debian-installer being configured per TFTP
> server, and if you wanted to use another copy of pxelinux to boot
> something else then the debian-installer configuration would still get
> in the way.

How would the attached patch (and resulting files tree) sound to you?

It looks quite ugly to me, with nested and repeated architectures and "debian-
installer" directories but I don't really see an other way that also avoids 
rewriting the syslinux configuration files.

Cheers,

OdyX
.
└── usr
    └── lib
        └── debian-installer
            └── images
                └── 7.0
                    └── amd64
                        ├── gtk
                        │   ├── debian-installer
                        │   │   └── amd64
                        │   │       ├── boot-screens
                        │   │       │   ├── adtxt.cfg
                        │   │       │   ├── dtmenu.cfg
                        │   │       │   ├── exithelp.cfg
                        │   │       │   ├── f10.txt
                        │   │       │   ├── f1.txt
                        │   │       │   ├── f2.txt
                        │   │       │   ├── f3.txt
                        │   │       │   ├── f4.txt
                        │   │       │   ├── f5.txt
                        │   │       │   ├── f6.txt
                        │   │       │   ├── f7.txt
                        │   │       │   ├── f8.txt
                        │   │       │   ├── f9.txt
                        │   │       │   ├── kde
                        │   │       │   │   ├── adtxt.cfg
                        │   │       │   │   ├── adtxtdt.cfg
                        │   │       │   │   ├── menu.cfg
                        │   │       │   │   ├── prmenu.cfg
                        │   │       │   │   ├── prompt.cfg
                        │   │       │   │   ├── txt.cfg
                        │   │       │   │   └── txtdt.cfg
                        │   │       │   ├── lxde
                        │   │       │   │   ├── adtxt.cfg
                        │   │       │   │   ├── adtxtdt.cfg
                        │   │       │   │   ├── menu.cfg
                        │   │       │   │   ├── prmenu.cfg
                        │   │       │   │   ├── prompt.cfg
                        │   │       │   │   ├── txt.cfg
                        │   │       │   │   └── txtdt.cfg
                        │   │       │   ├── menu.cfg
                        │   │       │   ├── prompt.cfg
                        │   │       │   ├── rqtxt.cfg
                        │   │       │   ├── spk.cfg
                        │   │       │   ├── splash.png
                        │   │       │   ├── stdmenu.cfg
                        │   │       │   ├── syslinux.cfg
                        │   │       │   ├── txt.cfg
                        │   │       │   ├── vesamenu.c32
                        │   │       │   └── xfce
                        │   │       │       ├── adtxt.cfg
                        │   │       │       ├── adtxtdt.cfg
                        │   │       │       ├── menu.cfg
                        │   │       │       ├── prmenu.cfg
                        │   │       │       ├── prompt.cfg
                        │   │       │       ├── txt.cfg
                        │   │       │       └── txtdt.cfg
                        │   │       ├── initrd.gz
                        │   │       ├── linux
                        │   │       ├── pxelinux.0
                        │   │       └── pxelinux.cfg
                        │   │           └── default -> ../boot-screens/syslinux.cfg
                        │   ├── pxelinux.0 -> debian-installer/amd64/pxelinux.0
                        │   ├── pxelinux.cfg -> debian-installer/amd64/pxelinux.cfg
                        │   └── version.info
                        └── text
                            ├── debian-installer
                            │   └── amd64
                            │       ├── boot-screens
                            │       │   ├── adtxt.cfg
                            │       │   ├── dtmenu.cfg
                            │       │   ├── exithelp.cfg
                            │       │   ├── f10.txt
                            │       │   ├── f1.txt
                            │       │   ├── f2.txt
                            │       │   ├── f3.txt
                            │       │   ├── f4.txt
                            │       │   ├── f5.txt
                            │       │   ├── f6.txt
                            │       │   ├── f7.txt
                            │       │   ├── f8.txt
                            │       │   ├── f9.txt
                            │       │   ├── kde
                            │       │   │   ├── adtxt.cfg
                            │       │   │   ├── adtxtdt.cfg
                            │       │   │   ├── menu.cfg
                            │       │   │   ├── prmenu.cfg
                            │       │   │   ├── prompt.cfg
                            │       │   │   ├── txt.cfg
                            │       │   │   └── txtdt.cfg
                            │       │   ├── lxde
                            │       │   │   ├── adtxt.cfg
                            │       │   │   ├── adtxtdt.cfg
                            │       │   │   ├── menu.cfg
                            │       │   │   ├── prmenu.cfg
                            │       │   │   ├── prompt.cfg
                            │       │   │   ├── txt.cfg
                            │       │   │   └── txtdt.cfg
                            │       │   ├── menu.cfg
                            │       │   ├── prompt.cfg
                            │       │   ├── rqtxt.cfg
                            │       │   ├── spk.cfg
                            │       │   ├── splash.png
                            │       │   ├── stdmenu.cfg
                            │       │   ├── syslinux.cfg
                            │       │   ├── txt.cfg
                            │       │   ├── vesamenu.c32
                            │       │   └── xfce
                            │       │       ├── adtxt.cfg
                            │       │       ├── adtxtdt.cfg
                            │       │       ├── menu.cfg
                            │       │       ├── prmenu.cfg
                            │       │       ├── prompt.cfg
                            │       │       ├── txt.cfg
                            │       │       └── txtdt.cfg
                            │       ├── initrd.gz
                            │       ├── linux
                            │       ├── pxelinux.0
                            │       └── pxelinux.cfg
                            │           └── default -> ../boot-screens/syslinux.cfg
                            ├── pxelinux.0 -> debian-installer/amd64/pxelinux.0
                            ├── pxelinux.cfg -> debian-installer/amd64/pxelinux.cfg
                            └── version.info

24 directories, 98 files
From 8cc9a00d31e66ffd43196f6af90a77232a9e793f Mon Sep 17 00:00:00 2001
From: Didier Raboud <odyx@debian.org>
Date: Wed, 29 Aug 2012 10:28:44 +0200
Subject: [PATCH] Avoid overly cleaning syslinux trees, which breaks the relative paths in syslinux configuration.

Closes: #684717
---
 get-images.sh |   16 ----------------
 1 files changed, 0 insertions(+), 16 deletions(-)

diff --git a/get-images.sh b/get-images.sh
index 7527a97..d751ea7 100755
--- a/get-images.sh
+++ b/get-images.sh
@@ -136,22 +136,6 @@ unpack_installer () {
 	mkdir -p $(basename $DIRECTORY)
 	tar xfz $FILE -C $(basename $DIRECTORY)
 	rm -f $FILE
-
-	cleanup_image $DESTDIR/$DIRECTORY
-}
-
-cleanup_image () {
-	DIRECTORY=$1
-	cd $DIRECTORY
-
-	# amd64 i386
-	if [ -e pxelinux.0 ]; then
-		rm -f pxelinux.0 pxelinux.cfg
-		mv debian-installer/*/* ./
-		rm -rf debian-installer
-	fi
-
-	cd $OLDPWD
 }
 
 wget -c $MIRROR/dists/$DISTRIBUTION/Release.gpg -O $RELEASE_FILE.gpg
-- 
1.7.2.5


Reply to: