This one is the most exciting - finally add support for automagically downloading and pre-pending the VGA VBIOS for the ga-2761gxdk. This should be a framework for future optionroms to be downloaded and used from linxubios.org. I'm not super happy with how congested packages/linuxbios is getting - I think there is definitely some room for consolidation and improvement, but we are hobbled by v2 in many regards. v3 will make this stuff so much better.
-- Jordan Crouse Systems Software Development Engineer Advanced Micro Devices, Inc.
[BUILDROM] Download and prepend the VGA VBIOS for the ga-2761gxdk First try at downloading and prepending the VGA VBIOS for the ga-2761gxdk board stored on linuxbios.org. This should be generic enough to extend to other platforms when the time comes. Signed-off-by: Jordan Crouse <[EMAIL PROTECTED]> Index: buildrom-devel/packages/linuxbios/generic-linuxbios.mk =================================================================== --- buildrom-devel.orig/packages/linuxbios/generic-linuxbios.mk +++ buildrom-devel/packages/linuxbios/generic-linuxbios.mk @@ -12,8 +12,20 @@ LINUXBIOS_TARBALL=linuxbios-svn-$(LINUXB LINUXBIOS_PAYLOAD_TARGET=$(LINUXBIOS_BUILD_DIR)/payload.elf TARGET_ROM = $(LINUXBIOS_VENDOR)-$(LINUXBIOS_BOARD).rom +# This is the list of components that comprise the ROM (excluding the payload) +LINUXBIOS_COMPONENTS = $(LINUXBIOS_OUTPUT) + include $(PACKAGE_DIR)/linuxbios/linuxbios.inc +# If an optionrom was specified in the configuration, then use it + +ifneq($(OPTIONROM_ID),) +include $(PACKAGE_DIR)/linuxbios/optionroms.inc + +# Add it to the front of the list so it is prepended to the LinuxBIOS output +LINUXBIOS_COMPONENTS = $(SOURCE_DIR)/$(OPTIONROM_ID).rom $(LINUXBIOS_COMPONENTS) +endif + $(SOURCE_DIR)/$(LINUXBIOS_TARBALL): @ echo "Fetching the LinuxBIOS code..." @ mkdir -p $(SOURCE_DIR)/linuxbios @@ -21,9 +33,9 @@ $(SOURCE_DIR)/$(LINUXBIOS_TARBALL): $(LINUXBIOS_TAG) $(SOURCE_DIR)/$(LINUXBIOS_TARBALL) \ > $(LINUXBIOS_FETCH_LOG) 2>&1 -$(OUTPUT_DIR)/$(TARGET_ROM): $(LINUXBIOS_OUTPUT) +$(OUTPUT_DIR)/$(TARGET_ROM): $(LINUXBIOS_COMPONENTS) @ mkdir -p $(OUTPUT_DIR) - @ cp $< $@ + @ cat $(LINUXBIOS_COMPONENTS) > $@ linuxbios: $(OUTPUT_DIR)/$(TARGET_ROM) linuxbios-clean: generic-linuxbios-clean Index: buildrom-devel/packages/linuxbios/optionroms.inc =================================================================== --- /dev/null +++ buildrom-devel/packages/linuxbios/optionroms.inc @@ -0,0 +1,12 @@ +# Rules to download option roms from the LinuxBIOS option rom +# repository + +OPTIONROMURL=http://www.linuxbios.org/data/optionroms/ + +$(OUTPUT_DIR)/$(OPTIONROM_ID).license: + @ mkdir -p $(OUTPUT_DIR) + @ wget -P $(OUTPUT_DIR) $(OPTIONROMURL)/$(OPTIONROM_ID).license -O $@ + +$(SOURCE_DIR)/$(OPTIONROM_ID).rom: $(OUTPUT_DIR)/$(OPTIONROM_ID).license + @ mkdir -p $(SOURCE_DIR) + @ wget -P $(SOURCE_DIR) $(OPTIONROMURL)/$(OPTIONROM_ID).rom -O $@ Index: buildrom-devel/packages/linuxbios/ga-2761gxdk-linuxbios.mk =================================================================== --- buildrom-devel.orig/packages/linuxbios/ga-2761gxdk-linuxbios.mk +++ buildrom-devel/packages/linuxbios/ga-2761gxdk-linuxbios.mk @@ -16,6 +16,12 @@ TARGET_ROM = $(LINUXBIOS_VENDOR)-$(LINUX include $(PACKAGE_DIR)/linuxbios/linuxbios.inc +# This matches the base name of the ROM on +# http://www.linuxbios.org/data/optionroms/ + +OPTIONROM_ID = pci1039,6330 +include $(PACKAGE_DIR)/linuxbios/optionroms.inc + $(SOURCE_DIR)/$(LINUXBIOS_TARBALL): @ echo "Fetching the LinuxBIOS code..." @ mkdir -p $(SOURCE_DIR)/linuxbios @@ -23,9 +29,9 @@ $(SOURCE_DIR)/$(LINUXBIOS_TARBALL): $(LINUXBIOS_TAG) $(SOURCE_DIR)/$(LINUXBIOS_TARBALL) \ > $(LINUXBIOS_FETCH_LOG) 2>&1 -$(OUTPUT_DIR)/$(TARGET_ROM): $(LINUXBIOS_OUTPUT) +$(OUTPUT_DIR)/$(TARGET_ROM): $(LINUXBIOS_OUTPUT) $(SOURCE_DIR)/$(OPTIONROM_ID).rom @ mkdir -p $(OUTPUT_DIR) - @ cat $(LINUXBIOS_OUTPUT) > $@ + @ cat $(SOURCE_DIR)/$(OPTIONROM_ID).rom $(LINUXBIOS_OUTPUT) > $@ linuxbios: $(OUTPUT_DIR)/$(TARGET_ROM) linuxbios-clean: generic-linuxbios-clean
-- linuxbios mailing list linuxbios@linuxbios.org http://www.linuxbios.org/mailman/listinfo/linuxbios