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: