* [PATCH] Make install target work
@ 2004-06-16 18:16 Martin Habets
2004-06-16 19:05 ` Tom Rini
0 siblings, 1 reply; 6+ messages in thread
From: Martin Habets @ 2004-06-16 18:16 UTC (permalink / raw)
To: linuxppc-dev
This patch makes the install target work. After all, it is already
mentioned in the 'make help' output.
The only question is, should it install zImage by default? I always
install vmlinux, so I used that.
Martin
Signed-off-by: Martin Habets <errandir_news@mph.eclipse.co.uk>
--- 2.6/arch/ppc/Makefile.orig 2004-06-16 18:29:54.318963064 +0100
+++ 2.6/arch/ppc/Makefile 2004-06-16 18:55:18.157304424 +0100
@@ -46,6 +46,7 @@
drivers-$(CONFIG_OCP) += arch/ppc/ocp/
BOOT_TARGETS = zImage zImage.initrd znetboot znetboot.initrd vmlinux.sm
+BOOT_TARGETS += install
.PHONY: $(BOOT_TARGETS)
@@ -70,7 +71,7 @@
@echo ' install - Install kernel using'
@echo ' (your) ~/bin/installkernel or'
@echo ' (distribution) /sbin/installkernel or'
- @echo ' install to $$(INSTALL_PATH) and run lilo'
+ @echo ' install to $$(INSTALL_PATH) and run ybin'
@echo ' *_defconfig - Select default config from arch/$(ARCH)/ppc/configs'
endef
--- 2.6/arch/ppc/boot/Makefile.orig 2004-06-16 18:33:06.614729664 +0100
+++ 2.6/arch/ppc/boot/Makefile 2004-06-16 18:36:43.275792176 +0100
@@ -32,3 +32,6 @@
$(bootdir-y): $(addprefix $(obj)/,$(subdir-y)) \
$(addprefix $(obj)/,$(host-progs))
$(Q)$(MAKE) $(build)=$(obj)/$@ $(MAKECMDGOALS)
+
+install: vmlinux
+ sh $(srctree)/$(src)/install.sh $(KERNELRELEASE) $< System.map "$(INSTALL_PATH)"
--- 2.6/arch/ppc/boot/install.sh.orig 2004-06-16 18:53:05.439480600 +0100
+++ 2.6/arch/ppc/boot/install.sh 2004-06-16 18:45:41.206014352 +0100
@@ -0,0 +1,50 @@
+#!/bin/sh
+#
+# arch/ppc/boot/install.sh
+#
+# This file is subject to the terms and conditions of the GNU General Public
+# License. See the file "COPYING" in the main directory of this archive
+# for more details.
+#
+# Copyright (C) 1995 by Linus Torvalds
+#
+# Blatantly stolen from in arch/i386/boot/install.sh by Martin Habets
+#
+# "make install" script for ppc architecture
+#
+# Arguments:
+# $1 - kernel version
+# $2 - kernel image file
+# $3 - kernel map file
+# $4 - default install path (blank if root directory)
+#
+
+# User may have a custom install script
+
+if [ -x ~/bin/installkernel ]; then exec ~/bin/installkernel "$@"; fi
+if [ -x /sbin/installkernel ]; then exec /sbin/installkernel "$@"; fi
+
+# Default install
+
+# Figure out if this is a compressed image or not.
+target=vmlinux
+if [ -n "`file $2 | grep -i compressed`" ];
+then
+ target=vmlinuz;
+fi
+
+if [ -f $4/$target ]; then
+ mv $4/$target $4/$target.old
+fi
+
+if [ -f $4/System.map ]; then
+ mv $4/System.map $4/System.old
+fi
+
+cat $2 > $4/$target
+cp $3 $4/System.map
+
+if [ -x /usr/sbin/ybin ];
+then
+ /usr/sbin/ybin -v;
+fi
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] Make install target work
2004-06-16 18:16 [PATCH] Make install target work Martin Habets
@ 2004-06-16 19:05 ` Tom Rini
2004-06-17 11:38 ` Martin Habets
0 siblings, 1 reply; 6+ messages in thread
From: Tom Rini @ 2004-06-16 19:05 UTC (permalink / raw)
To: Martin Habets; +Cc: linuxppc-dev
On Wed, Jun 16, 2004 at 07:16:52PM +0100, Martin Habets wrote:
> This patch makes the install target work. After all, it is already
> mentioned in the 'make help' output.
> The only question is, should it install zImage by default? I always
> install vmlinux, so I used that.
Given the number of different ways we have to deal with (this really
only handles pmac) I'd much rather just have boot/install.sh run either
the distribution or user-provided script.
--
Tom Rini
http://gate.crashing.org/~trini/
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] Make install target work
2004-06-16 19:05 ` Tom Rini
@ 2004-06-17 11:38 ` Martin Habets
2004-06-17 15:03 ` Tom Rini
0 siblings, 1 reply; 6+ messages in thread
From: Martin Habets @ 2004-06-17 11:38 UTC (permalink / raw)
To: Tom Rini; +Cc: linuxppc-dev
On Wed, Jun 16, 2004 at 12:05:48PM -0700, Tom Rini wrote:
>
> On Wed, Jun 16, 2004 at 07:16:52PM +0100, Martin Habets wrote:
>
> > This patch makes the install target work. After all, it is already
> > mentioned in the 'make help' output.
> > The only question is, should it install zImage by default? I always
> > install vmlinux, so I used that.
>
> Given the number of different ways we have to deal with (this really
> only handles pmac) I'd much rather just have boot/install.sh run either
> the distribution or user-provided script.
Ehh.. that's exactly what install.sh tries to do! Only if both of these
do not exist will the bottom part of the code be executed.
The distribution provided scripts want an image to install. I agree
that it is impossible to supply the right image for all systems.
But maybe it is possible to echance this patch for some systems,
providing a different image based on config settings?
--
Martin
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] Make install target work
2004-06-17 11:38 ` Martin Habets
@ 2004-06-17 15:03 ` Tom Rini
2004-06-18 9:17 ` Martin Habets
0 siblings, 1 reply; 6+ messages in thread
From: Tom Rini @ 2004-06-17 15:03 UTC (permalink / raw)
To: Martin Habets; +Cc: linuxppc-dev
On Thu, Jun 17, 2004 at 12:38:22PM +0100, Martin Habets wrote:
> On Wed, Jun 16, 2004 at 12:05:48PM -0700, Tom Rini wrote:
> >
> > On Wed, Jun 16, 2004 at 07:16:52PM +0100, Martin Habets wrote:
> >
> > > This patch makes the install target work. After all, it is already
> > > mentioned in the 'make help' output.
> > > The only question is, should it install zImage by default? I always
> > > install vmlinux, so I used that.
> >
> > Given the number of different ways we have to deal with (this really
> > only handles pmac) I'd much rather just have boot/install.sh run either
> > the distribution or user-provided script.
>
> Ehh.. that's exactly what install.sh tries to do! Only if both of these
> do not exist will the bottom part of the code be executed.
Right. And it's the bits at the bottom that I don't like.
> The distribution provided scripts want an image to install. I agree
> that it is impossible to supply the right image for all systems.
> But maybe it is possible to echance this patch for some systems,
> providing a different image based on config settings?
Possibly. But I'm not convinced that the complexity will buy us
anything over the distribution script (which should cover all of the
pmac cases, if not, bug your distribution :)) and the user provided
hook.
--
Tom Rini
http://gate.crashing.org/~trini/
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] Make install target work
2004-06-17 15:03 ` Tom Rini
@ 2004-06-18 9:17 ` Martin Habets
2004-06-18 15:29 ` Tom Rini
0 siblings, 1 reply; 6+ messages in thread
From: Martin Habets @ 2004-06-18 9:17 UTC (permalink / raw)
To: Tom Rini; +Cc: linuxppc-dev
On Thu, Jun 17, 2004 at 08:03:58AM -0700, Tom Rini wrote:
>
> On Thu, Jun 17, 2004 at 12:38:22PM +0100, Martin Habets wrote:
>
> > On Wed, Jun 16, 2004 at 12:05:48PM -0700, Tom Rini wrote:
> > >
> > > On Wed, Jun 16, 2004 at 07:16:52PM +0100, Martin Habets wrote:
> > >
> > > > This patch makes the install target work. After all, it is already
> > > > mentioned in the 'make help' output.
> > > > The only question is, should it install zImage by default? I always
> > > > install vmlinux, so I used that.
> > >
> > > Given the number of different ways we have to deal with (this really
> > > only handles pmac) I'd much rather just have boot/install.sh run either
> > > the distribution or user-provided script.
> >
> > Ehh.. that's exactly what install.sh tries to do! Only if both of these
> > do not exist will the bottom part of the code be executed.
>
> Right. And it's the bits at the bottom that I don't like.
Ok, so you'd like to fail if neither nethod is avaiable (right?). I have no
problem with that, but realize that it causes some inconsistent behaviour
compared to other architectures.
Can you explain why or what you don't like, please?
> > The distribution provided scripts want an image to install. I agree
> > that it is impossible to supply the right image for all systems.
> > But maybe it is possible to echance this patch for some systems,
> > providing a different image based on config settings?
>
> Possibly. But I'm not convinced that the complexity will buy us
> anything over the distribution script (which should cover all of the
> pmac cases, if not, bug your distribution :)) and the user provided
> hook.
Yes, covering all cases in the kernel would be overkill, but I did not
suggest that. Pushing all this to the distribution script is not right
either. That's not much more than a fancy copy script, and keeping it in
sync with kernel code (directory and filenames) would be impossible.
Besides, this kind of logic belongs in the kernel, if anywhere.
But there is an intermediate solution, which should satisfy all users:
a makefile variable can be overruled by users, e.g.
make BOOTIMAGE=arch/ppc/boot/images/zImage.prep install
This can be used with a distribution script or a user provided one.
If the distribution scripts ever become smart enough, which I seriously
doubt, the override is no longer needed.
What do you think of this approach?
--
Martin
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] Make install target work
2004-06-18 9:17 ` Martin Habets
@ 2004-06-18 15:29 ` Tom Rini
0 siblings, 0 replies; 6+ messages in thread
From: Tom Rini @ 2004-06-18 15:29 UTC (permalink / raw)
To: Martin Habets; +Cc: linuxppc-dev
On Fri, Jun 18, 2004 at 10:17:07AM +0100, Martin Habets wrote:
> On Thu, Jun 17, 2004 at 08:03:58AM -0700, Tom Rini wrote:
> >
> > On Thu, Jun 17, 2004 at 12:38:22PM +0100, Martin Habets wrote:
> >
> > > On Wed, Jun 16, 2004 at 12:05:48PM -0700, Tom Rini wrote:
> > > >
> > > > On Wed, Jun 16, 2004 at 07:16:52PM +0100, Martin Habets wrote:
> > > >
> > > > > This patch makes the install target work. After all, it is already
> > > > > mentioned in the 'make help' output.
> > > > > The only question is, should it install zImage by default? I always
> > > > > install vmlinux, so I used that.
> > > >
> > > > Given the number of different ways we have to deal with (this really
> > > > only handles pmac) I'd much rather just have boot/install.sh run either
> > > > the distribution or user-provided script.
> > >
> > > Ehh.. that's exactly what install.sh tries to do! Only if both of these
> > > do not exist will the bottom part of the code be executed.
> >
> > Right. And it's the bits at the bottom that I don't like.
>
> Ok, so you'd like to fail if neither nethod is avaiable (right?). I have no
> problem with that, but realize that it causes some inconsistent behaviour
> compared to other architectures.
By fail just:
echo "No install method found, nothing installed"
is fine.
> Can you explain why or what you don't like, please?
>
> > > The distribution provided scripts want an image to install. I agree
> > > that it is impossible to supply the right image for all systems.
> > > But maybe it is possible to echance this patch for some systems,
> > > providing a different image based on config settings?
> >
> > Possibly. But I'm not convinced that the complexity will buy us
> > anything over the distribution script (which should cover all of the
> > pmac cases, if not, bug your distribution :)) and the user provided
> > hook.
>
> Yes, covering all cases in the kernel would be overkill, but I did not
> suggest that.
I'm talking about the complexity of covering most of the cases, for
non-pmac. But..
> Pushing all this to the distribution script is not right
> either.
I disagree. Given that the common case is using yaboot, that's not a
big burden on the distribution. But if one decides to support grub or
U-Boot (with the latter being a bit more likely, IMHO, since it's what
the Pegasos boards use, I believe), it does become a distribution
problem to know how it set things up so that the user can add new
kernels, not the kernels responsibility to know where it has to put
something for a given distribution.
> That's not much more than a fancy copy script, and keeping it in
> sync with kernel code (directory and filenames) would be impossible.
This is rather static information, and I've taken some pains to ensure
that image names / locations have stayed consistent in 2.$(stable).
> Besides, this kind of logic belongs in the kernel, if anywhere.
>
> But there is an intermediate solution, which should satisfy all users:
> a makefile variable can be overruled by users, e.g.
> make BOOTIMAGE=arch/ppc/boot/images/zImage.prep install
Actually, Sam Ravnborg introduced a patch, which I think will be
accepted soon, to add a BOOT_IMAGE variable to the Makefiles, so that
'make rpm/deb/tarball' will be cleaner. Once that happens, we can
revisit the idea of hooking an install script up, for all of the various
targets.
--
Tom Rini
http://gate.crashing.org/~trini/
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2004-06-18 15:29 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-06-16 18:16 [PATCH] Make install target work Martin Habets
2004-06-16 19:05 ` Tom Rini
2004-06-17 11:38 ` Martin Habets
2004-06-17 15:03 ` Tom Rini
2004-06-18 9:17 ` Martin Habets
2004-06-18 15:29 ` Tom Rini
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).