From: Andy P. <at...@us...> - 2001-09-16 15:18:15
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax In directory usw-pr-cvs1:/tmp/cvs-serv707 Modified Files: Makefile Log Message: New build method for kernel command line. Index: Makefile =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/Makefile,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- Makefile 2001/07/31 17:28:26 1.9 +++ Makefile 2001/09/16 15:18:12 1.10 @@ -47,6 +47,9 @@ LIBS := $(ARCHLIBS) $(LIBS) MKBOOTBLK := $(TOPDIR)/arch/vax/boot/tools/mkbootblk +DEFAULT_CMDLINE := "root=/dev/nfs nfsroot=/tftpboot/vaxroot rw debug" +SETCMDLINE := $(TOPDIR)/arch/vax/boot/tools/setcmdline +SHOWCMDLINE := $(TOPDIR)/arch/vax/boot/tools/showcmdline # And these are some extra dependencies for vmlinux vmlinux: $(HEAD) $(ARCHLIBS) @@ -54,40 +57,59 @@ SUBDIRS := $(SUBDIRS) arch/vax/kernel arch/vax/mm arch/vax/lib arch/vax/boot CORE_FILES := arch/vax/kernel/kernel.o arch/vax/mm/mm.o $(CORE_FILES) -all: mopboot diskboot + +all: mopboot archonly: mopbootx diskbootx # This target should re-compile anything that's changed -mopboot: vmlinux +mopboot: vmlinux $(SETCMDLINE) $(OBJCOPY) vmlinux -O binary vmlinux.bin dd if=/dev/zero of=header.bin bs=512 count=1 mv -f header.bin vmlinux.SYS cat vmlinux.bin >> vmlinux.SYS - + $(SETCMDLINE) vmlinux.SYS $(DEFAULT_CMDLINE) + # this is helpful for low level debuggery listfile: rm -f vmlinux.lst $(OBJDUMP) -D vmlinux > vmlinux.lst # This target will only re-compile stuff that's changed in arch/vax -mopbootx: linkonly +mopbootx: linkonly $(SETCMDLINE) $(OBJCOPY) vmlinux -O binary vmlinux.bin dd if=/dev/zero of=header.bin bs=512 count=1 mv -f header.bin vmlinux.SYS cat vmlinux.bin >> vmlinux.SYS + $(SETCMDLINE) vmlinux.SYS $(DEFAULT_CMDLINE) # This will make a disk-bootable image. dd this directly to a # disk and then tell your VAX to boot from this disk -diskboot: vmlinux $(MKBOOTBLK) +# +# NOTE: +# If you want to keep a partition table on the disk, and use +# a boot loader to load the kernel from a file system, then +# use the vmlinux.SYS and something like asbl. Dont forget to +# set the command line to something useful like "root=/dev/sda1" +# +diskboot: vmlinux $(MKBOOTBLK) $(SETCMDLINE) $(OBJCOPY) vmlinux -O binary vmlinux.bin $(MKBOOTBLK) vmlinux.bin > vmlinux.dsk cat vmlinux.bin >> vmlinux.dsk + @echo " " + @echo " Dont forget to set the kernel command line with" + @echo " " $(SETCMDLINE) + @echo " " + # ... and this one only rebuilds stuff in arch/vax -diskbootx: linkonly $(MKBOOTBLK) +diskbootx: linkonly $(MKBOOTBLK) $(SETCMDLINE) $(OBJCOPY) vmlinux -O binary vmlinux.bin $(MKBOOTBLK) vmlinux.bin > vmlinux.dsk cat vmlinux.bin >> vmlinux.dsk + @echo " " + @echo " Dont forget to set the kernel command line with" + @echo " " $(SETCMDLINE) + @echo " " # This is copied from the top-level Makefile linkonly: dummy @@ -111,6 +133,12 @@ $(MKBOOTBLK): $(MKBOOTBLK).c gcc -o $@ $< + +$(SHOWCMDLINE): $(SETCMDLINE) + +$(SETCMDLINE): $(SETCMDLINE).c + gcc -o $@ $< + ln -f $(SETCMDLINE) $(SHOWCMDLINE) #libboot: # (cd ${TOPDIR}/arch/vax/boot; make all ) |