summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile13
-rwxr-xr-xmake_boot_img12
2 files changed, 22 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index bf3be1501..774465189 100644
--- a/Makefile
+++ b/Makefile
@@ -19,9 +19,15 @@ endif
ifeq (ia64,$(ARCH))
BOOT_IMG = all.img
endif
+ifeq (x86_64,$(ARCH))
+ BOOT_IMG = BOOT_IMG = cdrom.img hd.img hdcdrom_usb.img network.img network_gigabit_usb.img blank.img
+endif
FBOOT_IMG = $(BOOT_IMG:%=images/%)
-FBOOT_RDZ = $(FBOOT_IMG:%.img=%.rdz) images/all.rdz
+FBOOT_RDZ = $(FBOOT_IMG:%.img=%.rdz)
+ifneq (all.img,$(findstring all.img,$(BOOT_IMG)))
+FBOOT_RDZ += images/all.rdz
+endif
.PHONY: dirs install
@@ -65,6 +71,11 @@ install_only:
cp -f images/cdrom-changedisk.img $(ROOTDEST)/images
endif
+ ifeq (x86_64,$(ARCH))
+ rm -rf $(ROOTDEST)/isolinux
+ cp -af isolinux $(ROOTDEST)
+ endif
+
install live_update $(ROOTDEST)/live_update
make -C perl-install full_stage2
make -C perl-install/share/advertising install
diff --git a/make_boot_img b/make_boot_img
index 6d7ac0af0..85d6db50b 100755
--- a/make_boot_img
+++ b/make_boot_img
@@ -73,13 +73,17 @@ foreach (@kernels) {
rename("$img-$main", "$img");
}
}
+if ($arch =~ /x86_64/ && $img =~ /all/) {
+ # isolinux is supposed to work on all those new hardware
+ isolinux($main, @kernels);
+}
if ($arch =~ /i.86/ && $img =~ /all/) {
isolinux($main, @kernels);
my ($img, $img_sav) = ("images/cdrom.img-$main", 'images/cdrom.img-sav');
rename($img, $img_sav);
$type = 'cdrom';
- boot_img_i386($mnt, $img, "kernel/all.kernels/$main/boot/vmlinu*", sub { $_[0] =~ s/\bautomatic=\S+\b//; "$_[0] changedisk" });
+ $::{"boot_img_$arch"}->($mnt, $img, "kernel/all.kernels/$main/boot/vmlinu*", sub { $_[0] =~ s/\bautomatic=\S+\b//; "$_[0] changedisk" });
rename($img, 'images/cdrom-changedisk.img');
rename($img_sav, $img);
}
@@ -103,6 +107,7 @@ sub initrd {
_ "$sudo mount -t ext2 $tmp $mnt -o loop";
_ "$sudo tar xjC $mnt -f $tar";
+ symlinkf "/tmp/stage2/lib64", "$mnt/lib64" if ($arch =~ /x86_64/);
install_stripped("$instdir/init", "$mnt/sbin");
install_stripped("$instdir/$install", "$mnt/sbin/stage1");
@@ -114,7 +119,7 @@ sub initrd {
_ "$sudo mknod $mnt/dev/ttyp0 c 3 0";
}
- if (member($type, qw(pcmcia all network)) && $arch !~ /ppc/ && $arch !~ /ia64/) {
+ if (member($type, qw(pcmcia all network)) && $arch !~ /ppc|ia64|x86_64/) {
_ "$sudo cp -a /etc/pcmcia $mnt/etc";
_ "cp $mnt/etc/pcmcia/config /tmp/pcmcia_config_tmp";
_ "tools/patch_pcmcia_config.pl /tmp/pcmcia_config_tmp kernel/all.modules/$main/modules.dep";
@@ -215,6 +220,9 @@ F3 boot.msg
_ "df $mnt";
}
+# alias to x86 variant, slightly bigger with images though
+sub boot_img_x86_64 { &boot_img_i386 }
+
sub boot_img_alpha {
my ($mnt, $img) = @_;