diff --git a/debian/changelog b/debian/changelog
index 10ab98f9..d9860d8a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -12,6 +12,8 @@ debian-cd (2.2.9) unstable; urgency=low
   * Synced tasks/base-woody with debootstrap 0.1.15.8.
     Closes: #119099
   * Add kludgy yaboot.conf for potato's broken yaboot.
+  * ia64, only first disk is bootable, and use symlinks in /install
+    to save space.  rescue.bin is 10MB on ia64.  (Richard Hirst)
 
  -- Raphael Hertzog <hertzog@debian.org>  Sun, 16 Sep 2001 14:57:22 +0200
 
diff --git a/tools/boot/woody/boot-ia64 b/tools/boot/woody/boot-ia64
index 98e3a34d..abf39edd 100755
--- a/tools/boot/woody/boot-ia64
+++ b/tools/boot/woody/boot-ia64
@@ -13,28 +13,21 @@ BOOTDIR=
 
 cd $CDDIR/..
 
-#
-# This script is called with $1 (now $N) as the CD to 
-# make bootable.  N may be in the form "n" or "n_NONUS"
-# There may be more than 4 disks...support extras.
+# Only disc 1 bootable
+if [ $N != 1 -a $N != 1_NONUS ]; then 
+	echo "-J" > $N.mkisofs_opts
+	exit 0; 
+fi
 
-# Put boot images on CD1...CD(N)
-#
-:> $N.mkisofs_opts
 mkdir -p boot$N/boot
 cp -f CD1/dists/$CODENAME/main/disks-$ARCH/current/images-1.44/rescue.bin boot$N/boot/
 echo -n "-no-emul-boot -J -b boot/rescue.bin -c boot/boot.catalog boot$N"  > $N.mkisofs_opts
 
-# Only disk one gets the extra files installed
-#
-if [ $N == "1" ] ; then
-
-# populate the install directory as well
-(cd $CDDIR/dists/$CODENAME/main/disks-$ARCH/current/ ; \
-	cp -f images-1.44/resc*.bin $CDDIR/install ; \
-	cp -f linux $CDDIR/install/linux ; \
-	cp -f root.bin $CDDIR/install )
-
-fi
+# populate the install directory as well, with symlinks to save space
+# rescue.bin is 10MB on ia64
+(cd CD1/install; \
+	ln -s ../dists/$CODENAME/main/disks-$ARCH/current/images-1.44/rescue.bin . ; \
+	ln -s ../dists/$CODENAME/main/disks-$ARCH/current/linux . ; \
+	ln -s ../dists/$CODENAME/main/disks-$ARCH/current/root.bin . )
 
 # th,th, thats all