extending "buildrom"

Stefan Reinauer stepan at suse.de
Fri Sep 12 12:45:01 CEST 2003


Hi,

to get used to the config tool, I wrote the attached little patch
to change the buildrom command to allow specifying a filename of 
a rom file that is produced when building LinuxBIOS

i.e. 
  buildrom ROM_SIZE "normal" "fallback"
changed to:
  buildrom ./linuxbios.rom ROM_SIZE "normal" "fallback"

creating a linuxbios.rom file in the build target directory that
consists of the 2 concatenated romimages "normal" and "fallback"
This way it's now possible to build several roms with "buildrom"
that take the specified "romimage"s that were built. This could
i.e. be used to build several roms at once i.e.  with different 
payloads in them.

Is this ok to check in?
  
-- 
Architecture Team
    SuSE Linux AG
-------------- next part --------------
Index: targets/amd/quartet/Config.lb
===================================================================
RCS file: /cvsroot/freebios/freebios2/targets/amd/quartet/Config.lb,v
retrieving revision 1.1
diff -u -r1.1 Config.lb
--- targets/amd/quartet/Config.lb	11 Sep 2003 11:55:18 -0000	1.1
+++ targets/amd/quartet/Config.lb	12 Sep 2003 16:56:22 -0000
@@ -103,4 +103,4 @@
 	payload /suse/stepan/tg3--ide_disk.zelf
 end
 
-buildrom ROM_SIZE "normal" "fallback"
+buildrom ./linuxbios.rom ROM_SIZE "normal" "fallback"
Index: targets/amd/solo/Config.lb
===================================================================
RCS file: /cvsroot/freebios/freebios2/targets/amd/solo/Config.lb,v
retrieving revision 1.2
diff -u -r1.2 Config.lb
--- targets/amd/solo/Config.lb	11 Sep 2003 11:55:18 -0000	1.2
+++ targets/amd/solo/Config.lb	12 Sep 2003 16:56:22 -0000
@@ -103,4 +103,4 @@
 	payload /suse/stepan/tg3--ide_disk.zelf
 end
 
-buildrom ROM_SIZE "normal" "fallback"
+buildrom ./linuxbios.rom ROM_SIZE "normal" "fallback"
Index: targets/arima/hdama/Config.lb
===================================================================
RCS file: /cvsroot/freebios/freebios2/targets/arima/hdama/Config.lb,v
retrieving revision 1.17
diff -u -r1.17 Config.lb
--- targets/arima/hdama/Config.lb	1 Sep 2003 23:17:57 -0000	1.17
+++ targets/arima/hdama/Config.lb	12 Sep 2003 16:56:22 -0000
@@ -104,4 +104,4 @@
 	payload /usr/share/etherboot/5.1.9pre2-lnxi-lb/tg3--ide_disk.zelf
 end
 
-buildrom ROM_SIZE "normal" "fallback"
+buildrom ./linuxbios.rom ROM_SIZE "normal" "fallback"
Index: targets/dspace/ds1006/Config.lb
===================================================================
RCS file: /cvsroot/freebios/freebios2/targets/dspace/ds1006/Config.lb,v
retrieving revision 1.1
diff -u -r1.1 Config.lb
--- targets/dspace/ds1006/Config.lb	11 Sep 2003 11:55:18 -0000	1.1
+++ targets/dspace/ds1006/Config.lb	12 Sep 2003 16:56:22 -0000
@@ -91,4 +91,4 @@
 	payload /suse/stepan/LinuxBIOS/dspacepayload.elf
 end
 
-buildrom ROM_SIZE "normal" 
+buildrom ./linuxbios.rom ROM_SIZE "normal" 
Index: targets/embeddedplanet/ep405pc/Config.lb
===================================================================
RCS file: /cvsroot/freebios/freebios2/targets/embeddedplanet/ep405pc/Config.lb,v
retrieving revision 1.3
diff -u -r1.3 Config.lb
--- targets/embeddedplanet/ep405pc/Config.lb	1 Sep 2003 23:17:57 -0000	1.3
+++ targets/embeddedplanet/ep405pc/Config.lb	12 Sep 2003 16:56:22 -0000
@@ -94,4 +94,4 @@
 	mainboard embeddedplanet/ep405pc
 end
 
-buildrom ROM_SIZE "normal"
+buildrom ./linuxbios.rom ROM_SIZE "normal"
Index: targets/motorola/sandpoint/Config.lb
===================================================================
RCS file: /cvsroot/freebios/freebios2/targets/motorola/sandpoint/Config.lb,v
retrieving revision 1.7
diff -u -r1.7 Config.lb
--- targets/motorola/sandpoint/Config.lb	1 Sep 2003 23:17:57 -0000	1.7
+++ targets/motorola/sandpoint/Config.lb	12 Sep 2003 16:56:22 -0000
@@ -95,4 +95,4 @@
 	mainboard motorola/sandpoint
 end
 
-buildrom ROM_SIZE "normal"
+buildrom ./linuxbios.rom ROM_SIZE "normal"
Index: targets/tyan/s2880/Config.lb
===================================================================
RCS file: /cvsroot/freebios/freebios2/targets/tyan/s2880/Config.lb,v
retrieving revision 1.3
diff -u -r1.3 Config.lb
--- targets/tyan/s2880/Config.lb	1 Sep 2003 23:17:57 -0000	1.3
+++ targets/tyan/s2880/Config.lb	12 Sep 2003 16:56:22 -0000
@@ -231,4 +231,4 @@
 	payload ../../tg3.zelf
 end
 
-buildrom ROM_SIZE "normal" "fallback"
+buildrom ./linuxbios.rom ROM_SIZE "normal" "fallback"
Index: targets/tyan/s2882/Config.lb
===================================================================
RCS file: /cvsroot/freebios/freebios2/targets/tyan/s2882/Config.lb,v
retrieving revision 1.2
diff -u -r1.2 Config.lb
--- targets/tyan/s2882/Config.lb	1 Sep 2003 23:17:57 -0000	1.2
+++ targets/tyan/s2882/Config.lb	12 Sep 2003 16:56:22 -0000
@@ -230,4 +230,4 @@
 	payload ../../tg3.zelf
 end
 
-buildrom ROM_SIZE "normal" "fallback"
+buildrom ./linuxbios.rom ROM_SIZE "normal" "fallback"
Index: targets/tyan/s2885/Config.lb
===================================================================
RCS file: /cvsroot/freebios/freebios2/targets/tyan/s2885/Config.lb,v
retrieving revision 1.2
diff -u -r1.2 Config.lb
--- targets/tyan/s2885/Config.lb	1 Sep 2003 23:17:58 -0000	1.2
+++ targets/tyan/s2885/Config.lb	12 Sep 2003 16:56:22 -0000
@@ -230,4 +230,4 @@
 	payload ../../tg3.zelf
 end
 
-buildrom ROM_SIZE "normal" "fallback"
+buildrom ./linuxbios.rom ROM_SIZE "normal" "fallback"
Index: util/newconfig/config.g
===================================================================
RCS file: /cvsroot/freebios/freebios2/util/newconfig/config.g,v
retrieving revision 1.44
diff -u -r1.44 config.g
--- util/newconfig/config.g	1 Sep 2003 23:17:58 -0000	1.44
+++ util/newconfig/config.g	12 Sep 2003 16:56:23 -0000
@@ -428,9 +428,16 @@
 
 class buildrom:
 	"""A buildrom statement"""
-	def __init__ (self, size, roms):
+	def __init__ (self, filename, size, roms):
+		self.name = filename
 		self.size = size
 		self.roms = roms
+	
+	def __len__ (self):
+		return len(self.roms)
+
+	def __getitem__(self,i):
+		return self.roms[i]
 
 class initinclude:
 	"""include file for initialization code"""
@@ -1073,10 +1080,10 @@
 	curimage.setroot(partstack.tos())
 	partpop()
 
-def addbuildrom(size, roms):
+def addbuildrom(filename, size, roms):
 	global buildroms
 	print "Build ROM size %d" % size
-	b = buildrom(size, roms)
+	b = buildrom(filename, size, roms)
 	buildroms.append(b)
 
 def addinitobject(object_name):
@@ -1518,7 +1525,7 @@
 			( STR			{{ s = s + "," + STR }}
 			)*			{{ return eval(s + ')') }}
 
-    rule buildrom:	BUILDROM expr roms	{{ addbuildrom(expr, roms) }}
+    rule buildrom:	BUILDROM DIRPATH expr roms	{{ addbuildrom(DIRPATH, expr, roms) }}
 
     rule romstmts:	romimage 
 		|	buildrom
@@ -1781,7 +1788,7 @@
 	file.write("all: ")
 	for i in romimages.keys():
 		file.write("%s-rom " % i)
-	file.write("\n\n")
+	file.write("buildroms\n\n")
 	for i, o in romimages.items():
 		file.write("%s-rom:\n" % o.getname())
 		file.write("\tif (cd %s; \\\n" % o.getname())
@@ -1794,6 +1801,15 @@
 	for i, o in romimages.items():
 		file.write("%s-clean:\n" % o.getname())
 		file.write("\t(cd %s; make clean)\n" % o.getname())
+	
+	file.write("\nbuildroms:\n")
+	for i in range(len(buildroms)):
+		file.write("\tcat ");
+		for j in range(len(buildroms[i])):
+			file.write("%s/linuxbios.rom " % buildroms[i][j] )
+		file.write("> %s\n" % buildroms[i].name);
+	file.write("\n\n")
+	
 	file.close()
 
 def writeinitincludes(image):


More information about the coreboot mailing list