Skip to contentSkip to conversation

parisc: switch to gzip-compressed vmlinuz kernel

PATCH In review Helge Deller 2 participants 5 messages Jun 29, 2013 – Jul 2, 2013 PA-RISC architecture

lore
Share & tools
lore

Helge Deller

author maintainer
#0 lore raw

PATCH 1/1 parisc: switch to gzip-compressed vmlinuz kernel

The latest palo (PA-RISC Boot Loader) allows loading of a gzip-compressed vmlinuz kernel. So let's switch to build a vmlinuz file when we build a palo boot image.

PALO version 1.9 (or higher) is required for this which is available in the dev_gzip branch of
git://git.kernel.org/pub/scm/linux/kernel/git/deller/palo.git

arch/parisc/Kconfig +1 -0
index 6507dab..c88c147 100644
@@ -3,6 +3,7 @@ config PARISC
 	select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS
 	select HAVE_IDE
 	select HAVE_OPROFILE
+	select HAVE_KERNEL_GZIP
 	select HAVE_FUNCTION_TRACER if 64BIT
 	select HAVE_FUNCTION_GRAPH_TRACER if 64BIT
 	select HAVE_FUNCTION_TRACE_MCOUNT_TEST if 64BIT
arch/parisc/Makefile +7 -4
index 96ec398..6666133 100644
@@ -17,6 +17,8 @@
 # Mike Shaver, Helge Deller and Martin K. Petersen
 #
 
+KBUILD_IMAGE := $(objtree)/vmlinuz
+
 KBUILD_DEFCONFIG := default_defconfig
 
 NM		= sh $(srctree)/arch/parisc/nm
@@ -92,7 +94,7 @@ PALOCONF := $(shell if [ -f $(src)/palo.conf ]; then echo $(src)/palo.conf; \
 	else echo $(obj)/palo.conf; \
 	fi)
 
-palo: vmlinux
+palo: vmlinuz
 	@if test ! -x "$(PALO)"; then \
 		echo 'ERROR: Please install palo first (apt-get install palo)';\
 		echo 'or build it from source and install it somewhere in your $$PATH';\
@@ -107,10 +109,10 @@ palo: vmlinux
 	fi
 	$(PALO) -f $(PALOCONF)
 
-# Shorthands for known targets not supported by parisc, use vmlinux as default
-Image zImage bzImage: vmlinux
+vmlinuz: vmlinux
+	@gzip -cf -9 $< > $@
 
-install: vmlinux
+install: vmlinuz
 	sh $(src)/arch/parisc/install.sh \
 			$(KERNELRELEASE) $< System.map "$(INSTALL_PATH)"
 
@@ -119,6 +121,7 @@ MRPROPER_FILES	+= palo.conf
 
 define archhelp
 	@echo  '* vmlinux	- Uncompressed kernel image (./vmlinux)'
+	@echo  '  vmlinuz	- Compressed kernel image (./vmlinuz)'
 	@echo  '  palo		- Bootable image (./lifimage)'
 	@echo  '  install	- Install kernel using'
 	@echo  '		  (your) ~/bin/$(INSTALLKERNEL) or'
arch/parisc/defpalo.conf +4 -4
index 4e1ae25..fac130a 100644
@@ -4,7 +4,7 @@
 # Most people using 'make palo' want a bootable file, usable for
 # network or tape booting for example.
 --init-tape=lifimage
---recoverykernel=vmlinux
+--recoverykernel=vmlinuz
 
 ########## Pick your ROOT here! ##########
 # You need at least one 'root='!
@@ -12,10 +12,10 @@
 # If you want a root ramdisk, use the next 2 lines
 #   (Edit the ramdisk image name!!!!)
 --ramdisk=ram-disk-image-file
---commandline=0/vmlinux HOME=/ root=/dev/ram initrd=0/ramdisk
+--commandline=0/vmlinuz HOME=/ root=/dev/ram initrd=0/ramdisk
 
 # If you want NFS root, use the following command line (Edit the HOSTNAME!!!)
-#--commandline=0/vmlinux HOME=/ root=/dev/nfs nfsroot=HOSTNAME ip=bootp
+#--commandline=0/vmlinuz HOME=/ root=/dev/nfs nfsroot=HOSTNAME ip=bootp
 
 # If you have root on a disk partition, use this (Edit the partition name!!!)
-#--commandline=0/vmlinux HOME=/ root=/dev/sda1
+#--commandline=0/vmlinuz HOME=/ root=/dev/sda1
arch/parisc/install.sh +3 -3
index e593fc8..4da682b 100644
@@ -26,13 +26,13 @@ if [ -x /sbin/${INSTALLKERNEL} ]; then exec /sbin/${INSTALLKERNEL} "$@"; fi
 
 # Default install
 
-if [ -f $4/vmlinux ]; then
-	mv $4/vmlinux $4/vmlinux.old
+if [ -f $4/vmlinuz ]; then
+	mv $4/vmlinuz $4/vmlinuz.old
 fi
 
 if [ -f $4/System.map ]; then
 	mv $4/System.map $4/System.old
 fi
 
-cat $2 > $4/vmlinux
+cat $2 > $4/vmlinuz
 cp $3 $4/System.map
#1 lore raw
Quoted 3 lines · Helge Deller

PALO version 1.9 (or higher) is required for this which is available in the dev_gzip branch of
git://git.kernel.org/pub/scm/linux/kernel/git/deller/palo.git

Helge, as the resident palo guru, could you update the debian/changelog and build a new package when you make changes? We have gone through about three versions without any documentation as to what was changed.

I have built a palo-1.19 package which should be uploaded to the archive soon. Made up something for changelog.

Dave
--
John David Anglin [email protected]

author maintainer
#2 lore raw

Hi Dave,

Quoted 9 lines · John David Anglin
Quoted 3 lines · Helge Deller

PALO version 1.9 (or higher) is required for this which is available in the dev_gzip branch of
git://git.kernel.org/pub/scm/linux/kernel/git/deller/palo.git

Helge, as the resident palo guru, could you update the debian/changelog and build a new package when you make changes? We have gone through about three versions without any documentation as to what was changed.

Sure, that's what I had in mind. And add a spec file for RH :-)
But I just sent the patch to patchwork so that it's not being missed at some point. I did not yet wanted to apply it....

Quoted 2 lines

I have built a palo-1.19 package which should be uploaded to the archive soon. Made up something for changelog.

Please don't upload it yet.
It still needs more testing.

Helge

#3 lore raw
Quoted 17 lines · Helge Deller

Hi Dave,

Quoted 9 lines · John David Anglin
Quoted 3 lines · Helge Deller

PALO version 1.9 (or higher) is required for this which is available in the dev_gzip branch of
git://git.kernel.org/pub/scm/linux/kernel/git/deller/palo.git

Helge, as the resident palo guru, could you update the debian/changelog and build a new package when you make changes? We have gone through about three versions without any documentation as to what was changed.

Sure, that's what I had in mind. And add a spec file for RH :-)
But I just sent the patch to patchwork so that it's not being missed at some point. I did not yet wanted to apply it....

Quoted 5 lines
Quoted 2 lines

I have built a palo-1.19 package which should be uploaded to the archive soon. Made up something for changelog.

Please don't upload it yet.
It still needs more testing.

Holding.

I have been using 1.18 up to now.

Dave
--
John David Anglin [email protected]

author maintainer
#4 lore raw
Quoted 2 lines · John David Anglin
Quoted 2 lines
Quoted 2 lines

I have built a palo-1.19 package which should be uploaded to the archive soon. Made up something for changelog.

FYI, I've just uploaded a new palo-1.90 package with changelog and such to our repository at parisc-linux.org. My palo source repository is http://git.kernel.org/cgit/linux/kernel/git/deller/palo.git
The master branch now holds all my changes - do not use the dev_gzip branch any longer.

I'm planning for a palo-2.0 package as soon as I have time to finish the other wishlist items (e.g. xz-support, loading ISO/tftboot images, ...).

Helge