ppc64: Switch bootloader from yaboot to grub-ieee1275

parent 8689d59f
Welcome to Debian GNU/Linux ${DEBIAN_VERSION}!
This is a Debian installation ${MEDIA_TYPE},
built on ${BUILD_DATE}.
The default option is 'install'. For maximum
control, you can use the 'expert' option.
If the system fails to boot at all (the typical
symptom is a white screen which doesn't go away),
use 'install video=ofonly' or 'expert video=ofonly'.
Press the tab key for a list of options, or type
'help' for help.
************************************
If in doubt, just choose 'install', and if that
doesn't work, try 'install video=ofonly'.
************************************
This diff is collapsed.
set default=2
set timeout=-1
insmod echo
insmod gzio
insmod minicmd
insmod normal
menuentry "Debian GNU/Linux installer boot menu" {
true
}
menuentry "" {
true
}
function boot_one {
echo "Loading ..."
linux ${KERNEL} $options --- quiet
initrd ${INITRD}
}
menuentry "Default install" {
boot_one
}
menuentry "Automated install" {
set options="auto=true priority=critical"
boot_one
}
menuentry "Expert install" {
set options="priority=low"
boot_one
}
menuentry "Rescue mode" {
set options="rescue/enable=true"
boot_one
}
# ext. xlate creator type comment
.hqx Ascii 'BnHx' 'TEXT' "BinHex file"
.sit Raw 'SIT!' 'SITD' "StuffIT Expander"
.mov Raw 'TVOD' 'MooV' "QuickTime Movie"
.deb Raw 'Debn' 'bina' "Debian package"
.bin Raw 'ddsk' 'DDim' "Floppy or ramdisk image"
.img Raw 'ddsk' 'DDim' "Floppy or ramdisk image"
.b Raw 'UNIX' 'tbxi' "bootstrap"
yaboot Raw 'UNIX' 'boot' "bootstrap"
vmlinux Raw 'UNIX' 'boot' "bootstrap"
.conf Raw 'UNIX' 'conf' "bootstrap"
* Ascii '????' '????' "Text file"
<CHRP-BOOT>
<COMPATIBLE>
MacRISC MacRISC3 MacRISC4
</COMPATIBLE>
<DESCRIPTION>
Debian GNU/Linux PowerPC first stage CDROM bootloader
</DESCRIPTION>
<BOOT-SCRIPT>
" screen" output
load-base release-load-area
boot cd:,\install\yaboot
</BOOT-SCRIPT>
</CHRP-BOOT>
## This yaboot.conf is for CD booting only, do not use as reference.
## Debian GNU/Linux PowerPC
default=install
root=/dev/ram
message=/install/boot.msg
image=/install/${TYPE}-linux
label=install
initrd=/install/${TYPE}-initrd.gz
initrd-size=${RAMDISK_SIZE}
append="--"
read-only
image=/install/${TYPE}-linux
label=expert
initrd=/install/${TYPE}-initrd.gz
initrd-size=${RAMDISK_SIZE}
append="priority=low --"
read-only
image=/install/${TYPE}-linux
label=rescue
initrd=/install/${TYPE}-initrd.gz
initrd-size=${RAMDISK_SIZE}
append="rescue/enable=true --"
read-only
image=/install/${TYPE}-linux
label=auto
initrd=/install/${TYPE}-initrd.gz
initrd-size=${RAMDISK_SIZE}
append="auto=true priority=critical --"
read-only
## This yaboot.conf is for hd-media booting only, do not use as reference.
## Debian GNU/Linux PowerPC
default=install
root=/dev/ram
message=/boot.msg
image=/vmlinux
label=install
initrd=/initrd.gz
initrd-size=${RAMDISK_SIZE}
append="--"
read-only
image=/vmlinux
label=expert
initrd=/initrd.gz
initrd-size=${RAMDISK_SIZE}
append="priority=low --"
read-only
image=/vmlinux
label=rescue
initrd=/initrd.gz
initrd-size=${RAMDISK_SIZE}
append="rescue/enable=true --"
read-only
image=/vmlinux
label=auto
initrd=/initrd.gz
initrd-size=${RAMDISK_SIZE}
append="auto=true priority=critical --"
read-only
## This yaboot.conf is for netbooting only, do not use as reference.
## Debian GNU/Linux PowerPC
default=install
root=/dev/ram
message=/boot.msg
image=/vmlinux
label=install
initrd=/initrd.gz
initrd-size=${RAMDISK_SIZE}
append="--"
read-only
image=/vmlinux
label=expert
initrd=/initrd.gz
initrd-size=${RAMDISK_SIZE}
append="priority=low --"
read-only
image=/vmlinux
label=rescue
initrd=/initrd.gz
initrd-size=${RAMDISK_SIZE}
append="rescue/enable=true --"
read-only
image=/vmlinux
label=auto
initrd=/initrd.gz
initrd-size=${RAMDISK_SIZE}
append="auto=true priority=critical --"
read-only
SUBARCH_SUPPORTED = powerpc64
MEDIUM_SUPPORTED = cdrom netboot
KERNELMAJOR = 2.6
BASEVERSION = $(LINUX_KERNEL_ABI)
KERNELVERSION = $(BASEVERSION)-powerpc64
KERNELNAME = vmlinux
GRUB_CFG_CDROM = boot/powerpc/grub-cdrom.cfg
DEBIAN_RELEASE = unstable
KEYRING = /usr/share/keyrings/debian-ports-archive-keyring.gpg
# create the kernels with builtin initrd.
builtin_initrd: $(TEMP_KERNEL) $(TEMP_INITRD)
for subarch in $(SUBARCHES); do \
rm -f $(DEST)/vmlinuz-$$subarch.initrd; \
mkvmlinuz -v \
-a $$subarch \
-r $(KERNELVERSION) \
-k $(TEMP_KERNEL) \
-z -i $(TEMP_INITRD) \
-d $(TEMP)/lib \
-o $(DEST)/vmlinuz-$$subarch.initrd; \
done
# cd content for ppc64, includes yaboot for booting
# apple ppc64 (newworld) computers
cd_content_common:
mkdir -p $(TEMP_CD_TREE)/$(dir install/$(TYPE))
cp $(TEMP_KERNEL) $(TEMP_CD_TREE)/install/$(TYPE)-linux
ln -f $(TEMP_INITRD) $(TEMP_CD_TREE)/install/$(TYPE)-initrd.gz
# New-world bootability
cp -f boot/ppc64/ofboot.b $(TEMP_CD_TREE)/install/
cp -f /usr/lib/yaboot/yaboot $(TEMP_CD_TREE)/install/
bootvars-subst MEDIA_TYPE "${MEDIA_TYPE}" \
DEBIAN_VERSION "${DEBIAN_VERSION}" \
BUILD_DATE "${BUILD_DATE}" \
< boot/ppc64/boot.msg > $(TEMP_CD_TREE)/install/boot.msg
ramdisk-size-subst $(TEMP_INITRD) \
< boot/ppc64/yaboot.conf \
| sed 's,\$${TYPE},$(TYPE),g' \
> $(TEMP_CD_TREE)/install/yaboot.conf
# CHRP bootability
mkdir -p $(TEMP_CD_TREE)/etc
mkdir -p $(TEMP_CD_TREE)/ppc/chrp
cp -f $(TEMP_CD_TREE)/install/yaboot.conf $(TEMP_CD_TREE)/etc
cp -f boot/ppc64/bootinfo.txt $(TEMP_CD_TREE)/ppc
# Adds yaboot to netboot dirs.
netboot_content_common:
cp -f /usr/lib/yaboot/yaboot $(DEST)
bootvars-subst MEDIA_TYPE "${MEDIA_TYPE}" \
DEBIAN_VERSION "${DEBIAN_VERSION}" \
BUILD_DATE "${BUILD_DATE}" \
< boot/ppc64/boot.msg > $(DEST)/boot.msg
ramdisk-size-subst $(TEMP_INITRD) \
< boot/ppc64/yaboot.conf.netboot \
| sed 's,\$${TYPE},$(TYPE),g' \
> $(DEST)/yaboot.conf
# creates a bootable cd image for ppc64
arch_miniiso_common: cd_content_common
genisoimage -r -T --netatalk -chrp-boot -hfs -probe -map boot/ppc64/hfs.map -part -no-desktop -hfs-bless $(TEMP_CD_TREE)/install -hfs-volid Debian-Installer/PPC64 -o $(TEMP_MINIISO) $(TEMP_CD_TREE)
# creates a bootable HFS filesystem, used for USB sticks
hd_media_common: $(TEMP_KERNEL) $(TEMP_INITRD)
mkdir -p $(dir $(TEMP_BOOT))
: | dd of=$(TEMP_BOOT) bs=1024 seek=$(FLOPPY_SIZE)
HOME=$(TEMP) hformat -l $(DISK_LABEL) $(TEMP_BOOT)
HOME=$(TEMP) hmount $(TEMP_BOOT)
HOME=$(TEMP) hcopy -r $(TEMP_KERNEL) :vmlinux
HOME=$(TEMP) hcopy -r $(TEMP_INITRD) :initrd.gz
cp -a /usr/lib/yaboot/yaboot $(TEMP)/yaboot # used later
HOME=$(TEMP) hcopy -r $(TEMP)/yaboot :yaboot
HOME=$(TEMP) hattrib -c UNIX -t tbxi :yaboot
bootvars-subst MEDIA_TYPE "${MEDIA_TYPE}" \
DEBIAN_VERSION "${DEBIAN_VERSION}" \
BUILD_DATE "${BUILD_DATE}" \
< boot/ppc64/boot.msg > $(TEMP)/boot.msg
ramdisk-size-subst $(TEMP_INITRD) \
< boot/ppc64/yaboot.conf.hd-media \
> $(TEMP)/yaboot.conf
HOME=$(TEMP) hcopy -r $(TEMP)/boot.msg :boot.msg
HOME=$(TEMP) hcopy -r $(TEMP)/yaboot.conf :yaboot.conf
HOME=$(TEMP) hattrib -b :
HOME=$(TEMP) humount
rm -f $(TEMP)/.hcwd # clean up after hfsutils
$(if $(GZIPPED),gzip -v9f $(TEMP_BOOT))
# GRUB modules
GRUB_MODULES = echo gzio linux minicmd normal
GRUB_MODULES_CDROM = iso9660
arch_boot_screens:
arch_tree:
# Miniature CD image using GRUB, with only an initrd, no udebs or debs.
.PHONY: arch_miniiso
arch_miniiso: $(TEMP_INITRD) $(TEMP_KERNEL) $(TREE)
-rm -f $(TEMP_CD_TREE)/*
mkdir -p $(TEMP_CD_TREE)/boot/grub/powerpc-ieee1275 \
$(TEMP_CD_TREE)/ppc/chrp \
$(TEMP_CD_TREE)/install
cp $(TEMP_KERNEL) $(TEMP_CD_TREE)/install/vmlinux
cp $(TEMP_INITRD) $(TEMP_CD_TREE)/install/initrd.gz
cp -a /usr/lib/grub/powerpc-ieee1275 $(TEMP_CD_TREE)/boot/grub
bootvars-subst \
KERNEL /install/vmlinux \
INITRD /install/initrd.gz \
< $(GRUB_CFG_CDROM) > $(TEMP_CD_TREE)/boot/grub/grub.cfg
cp -p /usr/lib/grub/powerpc-ieee1275/bootinfo.txt \
$(TEMP_CD_TREE)/ppc/
grub-mkrescue --output=$(TEMP_MINIISO) $(TEMP_CD_TREE)
# genisoimage CD info directory, including GRUB and configuration files.
.PHONY: arch_cd_info_dir
arch_cd_info_dir:
rm -rf $(TEMP_CD_INFO_DIR)
mkdir -p $(TEMP_CD_INFO_DIR)/boot/grub/powerpc-ieee1275 \
$(TEMP_CD_INFO_DIR)/ppc/chrp
cp -a /usr/lib/grub/powerpc-ieee1275 $(TEMP_CD_INFO_DIR)/boot/grub/
bootvars-subst \
KERNEL /install/vmlinux \
INITRD /install/initrd.gz \
< $(GRUB_CFG_CDROM) > $(TEMP_CD_INFO_DIR)/boot/grub/grub.cfg
grub-mkimage -O powerpc-ieee1275 -p '()/boot/grub' \
-o $(TEMP_CD_INFO_DIR)/boot/grub/powerpc.elf \
$(GRUB_MODULES) $(GRUB_MODULES_CDROM)
cp -p /usr/lib/grub/powerpc-ieee1275/bootinfo.txt \
$(TEMP_CD_INFO_DIR)/ppc/
# Netboot files
.PHONY: arch_netboot_dir
arch_netboot_dir:
-rm -f $(TEMP_NETBOOT_DIR)
mkdir -p $(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH)
cp $(TEMP_INITRD) $(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH)
cp $(TEMP_KERNEL) $(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH)
MEDIA_TYPE = CD-ROM
TARGET = $(INITRD) $(KERNEL) $(DEBIAN_CD_INFO)
EXTRANAME = $(MEDIUM)/
MANIFEST-KERNEL = "kernel for use with mkisofs to build a CD"
MANIFEST-INITRD = "initrd for use with mkisofs to build a CD"
MANIFEST-DEBIAN_CD_INFO = "mkisofs config files for CD"
MEDIA_TYPE = netboot image
NETBOOT_DIR_TARGETS = $(TEMP_INITRD) $(TEMP_KERNEL)
TARGET = $(NETBOOT_DIR) $(NETBOOT_TAR) $(MINIISO)
EXTRANAME = $(MEDIUM)/
MANIFEST-NETBOOT_DIR = "boot directory for tftp server"
MANIFEST-NETBOOT_TAR = "tarball of boot directory"
MEDIUM_SUPPORTED = cdrom netboot netboot-gtk
MEDIUM_SUPPORTED_EXTRA = monolithic
# The version of the kernel to use.
KERNELVERSION = $(BASEVERSION)-powerpc64
KERNELNAME = vmlinux
SUBARCHES = chrp
cd_content: cd_content_common
netboot_content: netboot_content_common
arch_miniiso: arch_miniiso_common
arch_boot_screens:
arch_boot: arch_boot_initrd
MEDIA_TYPE = CD-ROM
# cd booting does not need floppy images on powerpc
TARGET = $(INITRD) $(KERNEL) builtin_initrd
EXTRANAME = $(MEDIUM)/
MANIFEST-BOOT = "CDROM image for 64bit Power and PowerPC cpus (except pre-power5 iSeries)"
MANIFEST-INITRD = "initrd for use with 64bit Power and PowerPC cpus (except pre-power5 iSeries)"
MANIFEST-KERNEL = "kernel for use with 64bit Power and PowerPC cpus (except pre-power5 iSeries)"
MEDIA_TYPE = boot image
TARGET = pkg-lists/standard-udebs pkg-lists/kernel-module-udebs $(INITRD) $(KERNEL) $(MINIISO)
EXTRANAME = $(MEDIUM)/
MANIFEST-INITRD = "initrd for 64bit Power and PowerPC cpus (except pre-power5 iSeries)"
MANIFEST-KERNEL = "kernel image for use with 64bit Power and PowerPC cpus (except pre-power5 iSeries)"
MANIFEST-MINIISO = "small bootable CD image for network install on 64bit Power and PowerPC machines (except pre-power5 iSeries)"
MEDIA_TYPE = netboot image
TYPE = netboot/gtk
TARGET = $(INITRD) $(KERNEL) $(MINIISO) builtin_initrd
EXTRANAME = netboot/gtk/
MANIFEST-BOOT = "tftp boot image for 64bit Power and PowerPC cpus (except pre-power5 iSeries)"
MANIFEST-INITRD = "initrd for use with 64bit Power and PowerPC cpus (except pre-power5 iSeries)"
MANIFEST-KERNEL = "kernel for use with 64bit Power and PowerPC cpus (except pre-power5 iSeries)"
KEEP_GI_LANGS = 1
# All images that include cdebconf should include symbols needed by these
# plugins.
EXTRAUDEBS += cdebconf-gtk-entropy
MEDIA_TYPE = netboot image
TARGET = $(INITRD) $(KERNEL) $(MINIISO) builtin_initrd netboot_content
EXTRANAME = $(MEDIUM)/
MANIFEST-BOOT = "tftp boot image for 64bit Power and PowerPC cpus (except pre-power5 iSeries)"
MANIFEST-INITRD = "initrd for 64bit Power and PowerPC cpus (except pre-power5 iSeries)"
MANIFEST-KERNEL = "kernel for 64bit Power and PowerPC cpus (except pre-power5 iSeries)"
MANIFEST-MINIISO = "small bootable CD image for powerpc64 netboot"
......@@ -14,6 +14,7 @@ debian-installer (20190411) UNRELEASED; urgency=medium
[ John Paul Adrian Glaubitz ]
* ia64: Switch bootloader from elilo to grub-efi-ia64.
* powerpc: Switch bootloader from yaboot to grub-ieee1275.
* ppc64: Switch bootloader from yaboot to grub-ieee1275.
[ Vagrant Cascadian ]
* [arm64] Add u-boot images for a64-olinuxino, orangepi_zero_plus2 and
......
......@@ -82,8 +82,6 @@ Build-Depends:
pxelinux [i386 amd64],
syslinux-common (>= 3:6) [i386 amd64],
# With isohybrid.
yaboot [ppc64],
# For all our powerpc boot needs. Well, not really.
aboot (>= 0.9b-2) [alpha],
# A previous version didn't have netabootwrap.
palo [hppa],
......@@ -114,7 +112,7 @@ Build-Depends:
grub-efi-arm-bin [armhf],
grub-common [amd64 arm64 i386], xorriso,
# Used to make EFI bootable images
grub-ieee1275-bin [powerpc ppc64el],
grub-ieee1275-bin [powerpc ppc64 ppc64el],
# IEEE1275 bootloader support.
u-boot-imx (>= 2019.01+dfsg-3) [armhf],
u-boot-omap (>= 2016.09~rc1) [armhf],
......@@ -145,9 +143,6 @@ Build-Depends:
bf-utf-source [!s390 !s390x],
# Contains the unicode font we use. Not a udeb since we
# perform font reduction at build time.
mkvmlinuz [ppc64],
# Used to make powerpc images that can boot direct from
# firmware w/o using a boot loader.
openssl,
# Used to encrypt a firmware image so an ARM based device
# (Thecus N2100) will accept it. Also useful on other
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment