[kernel] r4737 - in dists/trunk/utils/mkvmlinuz/mkvmlinuz: . debian

Sven Luther luther at costa.debian.org
Mon Nov 7 14:49:17 UTC 2005


Author: luther
Date: 2005-11-07 14:49:16 +0000 (Mon, 07 Nov 2005)
New Revision: 4737

Modified:
   dists/trunk/utils/mkvmlinuz/mkvmlinuz/debian/changelog
   dists/trunk/utils/mkvmlinuz/mkvmlinuz/debian/mkvmlinuz.sgml
   dists/trunk/utils/mkvmlinuz/mkvmlinuz/mkvmlinuz
Log:
Added -l option to specify elf link address.


Modified: dists/trunk/utils/mkvmlinuz/mkvmlinuz/debian/changelog
===================================================================
--- dists/trunk/utils/mkvmlinuz/mkvmlinuz/debian/changelog	2005-11-07 09:18:08 UTC (rev 4736)
+++ dists/trunk/utils/mkvmlinuz/mkvmlinuz/debian/changelog	2005-11-07 14:49:16 UTC (rev 4737)
@@ -1,3 +1,9 @@
+mkvmlinuz (16) unstable; urgency=low
+
+  * Added -l option, enabling the caller to specify the elf link address.
+
+ -- Sven Luther <luther at debian.org>  Mon,  7 Nov 2005 14:47:22 +0000
+
 mkvmlinuz (15) unstable; urgency=high
 
   * Generates a striped compressed vmlinuz on apus and miboot.

Modified: dists/trunk/utils/mkvmlinuz/mkvmlinuz/debian/mkvmlinuz.sgml
===================================================================
--- dists/trunk/utils/mkvmlinuz/mkvmlinuz/debian/mkvmlinuz.sgml	2005-11-07 09:18:08 UTC (rev 4736)
+++ dists/trunk/utils/mkvmlinuz/mkvmlinuz/debian/mkvmlinuz.sgml	2005-11-07 14:49:16 UTC (rev 4737)
@@ -50,6 +50,7 @@
       <arg><option>-i <replaceable>initrd</replaceable></option></arg>
       <arg><option>-d <replaceable>objdir</replaceable></option></arg>
       <arg><option>-r <replaceable>release</replaceable></option></arg>
+      <arg><option>-l <replaceable>linkaddress</replaceable></option></arg>
       <arg><option>-n</option></arg>
       <arg><option>-z</option></arg>
       <arg><option>-u</option></arg>
@@ -235,6 +236,14 @@
         </listitem>
       </varlistentry>
       <varlistentry>
+	<term><option>-l</option></term>
+	<listitem>
+	  <para>Allows to set the elf link address, where the kernel will be
+	  relocated inside the firmware.
+	  </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
 	<term><option>-v</option></term>
 	<listitem>
 	  <para>Print progress messages, and echo commands as they are

Modified: dists/trunk/utils/mkvmlinuz/mkvmlinuz/mkvmlinuz
===================================================================
--- dists/trunk/utils/mkvmlinuz/mkvmlinuz/mkvmlinuz	2005-11-07 09:18:08 UTC (rev 4736)
+++ dists/trunk/utils/mkvmlinuz/mkvmlinuz/mkvmlinuz	2005-11-07 14:49:16 UTC (rev 4737)
@@ -10,6 +10,7 @@
     echo ' -i <initrd>  - path to initrd image file'
     echo ' -d <objdir>  - path to directory with additional object files'
     echo ' -r <release> - kernel release number'
+    echo ' -l <address> - Address where the kernel should be relocated'
     echo ' -n           - do not use an initrd'
     echo ' -z           - assume the initrd image file is already compressed'
     echo ' -u           - assume the initrd image file is not compressed'
@@ -30,7 +31,7 @@
 }
 
 # parse command line
-while getopts o:k:s:i:d:r:a:nzv option; do
+while getopts o:k:s:i:d:r:a:l:nuzv option; do
     case "$option" in
 	o) output=$OPTARG ;;
 	k) kernel=$OPTARG ;;
@@ -39,6 +40,7 @@
 	d) objdir=$OPTARG ;;
 	r) release=$OPTARG ;;
 	a) arch=$OPTARG ;;
+	l) linkaddr=$OPTARG ;;
 	n) noinitrd="Yes" ;;
 	z) compressed="Yes" ;;
 	u) compressed="No" ;;
@@ -279,41 +281,47 @@
 test -z "$verbose" || echo === Creating bootable kernel image file vmlinuz.$arch...
 case "$arch","$release" in
     chrp,2.6*)
-	LD_ARGS="$LD_ARGS -e _start -Ttext 0x00800000"
+    	if [ -z "$linkaddr" ]; then linkaddr=0x00800000;
+	LD_ARGS="$LD_ARGS -e _start -Ttext $linkaddr"
 	do_cmd $LD -o $vmlinuz $LD_ARGS $objs/crt0.o $OBJS $work/image.o $LIBS
 	do_cmd $OBJCOPY $OBJCOPY_ARGS $vmlinuz $vmlinuz
 	do_cmd cp -p $objdir/boot/note $work
 	do_cmd $ADDNOTE $vmlinuz
 	;;
     chrp,2.4*)
-	LD_ARGS="$LD_ARGS -e _start -Ttext 0x00800000"
+    	if [ -z "$linkaddr" ]; then linkaddr=0x00800000;
+	LD_ARGS="$LD_ARGS -e _start -Ttext $linkaddr"
 	do_cmd $LD -o $vmlinuz $LD_ARGS $objs/../common/crt0.o $OBJS $work/image.o $LIBS
 	do_cmd $OBJCOPY $OBJCOPY_ARGS $vmlinuz $vmlinuz
 	do_cmd $ADDNOTE $vmlinuz
 	;;
     coff,2.6*)
-	LD_ARGS="$LD_ARGS -e _start -Ttext 0x00500000 -Bstatic"
+    	if [ -z "$linkaddr" ]; then linkaddr=0x00500000;
+	LD_ARGS="$LD_ARGS -e _start -Ttext $linkaddr -Bstatic"
 	OBJCOPY_ARGS="-O aixcoff-rs6000 -R .stab -R .stabstr $OBJCOPY_ARGS"
 	do_cmd $LD -o $vmlinuz $LD_ARGS $objs/coffcrt0.o $OBJS $work/image.o $LIBS
 	do_cmd $OBJCOPY $OBJCOPY_ARGS $vmlinuz $vmlinuz
 	do_cmd $HACKOFF $vmlinuz
 	;;
     pmac,2.6*)
-	LD_ARGS="$LD_ARGS -e _start -Ttext 0x01000000"
+    	if [ -z "$linkaddr" ]; then linkaddr=0x01000000;
+	LD_ARGS="$LD_ARGS -e _start -Ttext $linkaddr"
 	OBJCOPY_ARGS="--add-section=.note=$work/note $OBJCOPY_ARGS"
 	do_cmd $LD -o $vmlinuz $LD_ARGS $objs/crt0.o $OBJS $LIBS $work/image.o
 	do_cmd $MKNOTE > $work/note
 	do_cmd $OBJCOPY $OBJCOPY_ARGS $vmlinuz $vmlinuz
 	;;
     ppcbug,2.6*)
-	LD_ARGS="$LD_ARGS -Ttext 0x00800000 -Bstatic"
+    	if [ -z "$linkaddr" ]; then linkaddr=0x00800000;
+	LD_ARGS="$LD_ARGS -Ttext $linkaddr -Bstatic"
 	OBJCOPY_ARGS="-O elf32-powerpc $OBJCOPY_ARGS -R .stab -R .stabstr -R .sysmap"
 	do_cmd $LD -o $vmlinuz $LD_ARGS $OBJS $work/image.o $LIBS
 	do_cmd $OBJCOPY $OBJCOPY_ARGS $vmlinuz $vmlinuz.tmp
 	do_cmd $MKBUGBOOT $vmlinuz.tmp $vmlinuz
 	;;
     prep,2.6*)
-	LD_ARGS="$LD_ARGS -Ttext 0x00800000 -Bstatic"
+    	if [ -z "$linkaddr" ]; then linkaddr=0x00800000;
+	LD_ARGS="$LD_ARGS -Ttext $linkaddr -Bstatic"
 	OBJCOPY_ARGS="-O elf32-powerpc $OBJCOPY_ARGS -R .stab -R .stabstr -R .sysmap"
 	do_cmd $LD -o $vmlinuz $LD_ARGS $OBJS $work/image.o $LIBS
 	do_cmd $OBJCOPY $OBJCOPY_ARGS $vmlinuz $vmlinuz.tmp




More information about the Kernel-svn-changes mailing list