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

Bug#754093: debian-installer: ppc64el support



Package: debian-installer
Severity: normal
Tags: d-i patch
User: debian-powerpc@lists.debian.org
Usertags: ppc64el

Dear Maintainer,

hi, here is a patch from Ubuntu to add support of ppc64el.
I just changed grub-cdrom.cfg to remove any d-i option on the kernel command line.
I added virtio-modules to support VMs with virtio which is good to have for development.
Thank you,

F.


-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: ppc64el (ppc64le)

Kernel: Linux 3.14-1-powerpc64le (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
diff --git a/build/boot/ppc64el/grub-cdrom.cfg b/build/boot/ppc64el/grub-cdrom.cfg
new file mode 100644
index 0000000..825921a
--- /dev/null
+++ b/build/boot/ppc64el/grub-cdrom.cfg
@@ -0,0 +1,11 @@
+set timeout=-1
+
+menuentry "Install" {
+	linux	${KERNEL} -- quiet
+	initrd	${INITRD}
+}
+
+menuentry "Rescue mode" {
+	linux	${KERNEL} rescue/enable=true -- quiet
+	initrd	${INITRD}
+}
diff --git a/build/config/ppc64el.cfg b/build/config/ppc64el.cfg
new file mode 100644
index 0000000..ecbec94
--- /dev/null
+++ b/build/config/ppc64el.cfg
@@ -0,0 +1,76 @@
+MEDIUM_SUPPORTED = netboot cdrom
+
+MKLIBS = mklibs-copy
+
+KERNELMAJOR = 2.6
+BASEVERSION = 3.14-1
+KERNELVERSION = $(BASEVERSION)-powerpc64le
+KERNEL_FLAVOUR = di
+KERNELNAME = vmlinux
+KERNELIMAGEVERSION = $(KERNELVERSION)
+
+GRUB_CFG_CDROM = boot/ppc64el/grub-cdrom.cfg
+GRUB_CFG_NETBOOT=boot/ppc64el/grub-cdrom.cfg
+
+GRUB_MODULES = linux 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
+
+	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
+
+	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 '(ieee1275/cdrom)/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)
+	
+	bootvars-subst \
+		KERNEL $(NETBOOT_PATH)/vmlinux \
+		INITRD $(NETBOOT_PATH)/initrd.gz \
+	< $(GRUB_CFG_NETBOOT) > $(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH)/grub.cfg
+	if [ -n "$(SPLASH_PNG)" ]; then \
+		cp $(SPLASH_PNG) $(TEMP_NETBOOT_DIR)/$(NETBOOT_PATH)/splash.png; \
+	fi
+
+	grub-mknetdir --net-directory=$(TEMP_NETBOOT_DIR) \
+		--subdir=$(NETBOOT_PATH)
diff --git a/build/config/ppc64el/cdrom.cfg b/build/config/ppc64el/cdrom.cfg
new file mode 100644
index 0000000..38547cb
--- /dev/null
+++ b/build/config/ppc64el/cdrom.cfg
@@ -0,0 +1,8 @@
+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"
diff --git a/build/config/ppc64el/netboot.cfg b/build/config/ppc64el/netboot.cfg
new file mode 100644
index 0000000..7c65d91
--- /dev/null
+++ b/build/config/ppc64el/netboot.cfg
@@ -0,0 +1,9 @@
+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"
+MANIFEST-MINIISO = "tiny CD image that boots the netboot installer"
diff --git a/build/pkg-lists/netboot/ppc64el.cfg b/build/pkg-lists/netboot/ppc64el.cfg
new file mode 100644
index 0000000..6df809c
--- /dev/null
+++ b/build/pkg-lists/netboot/ppc64el.cfg
@@ -0,0 +1,29 @@
+input-modules-${kernel:Version}
+console-setup-pc-ekmap
+nic-modules-${kernel:Version}
+#nic-pcmcia-modules-${kernel:Version}
+#pcmcia-modules-${kernel:Version}
+mountmedia
+media-retriever
+usb-storage-modules-${kernel:Version}
+pcmciautils-udeb
+#fb-modules-${kernel:Version}
+usb-modules-${kernel:Version}
+virtio-modules-${kernel:Version}
+
+console-setup-udeb
+kbd-udeb
+bogl-bterm-udeb
+hw-detect
+ethdetect
+netcfg
+
+# brltty
+brltty-udeb
+serial-modules-${kernel:Version}
+usb-serial-modules-${kernel:Version} ?
+uinput-modules-${kernel:Version} ?
+
+# IBM Power hypervisor modules, only available on powerpc64.
+hypervisor-modules-${kernel:Version} ?
+fancontrol-modules-${kernel:Version} ?

Reply to: