Author: myles Date: 2008-01-11 19:22:53 +0100 (Fri, 11 Jan 2008) New Revision: 91
Added: buildrom-devel/packages/linuxbiosv3/ buildrom-devel/packages/linuxbiosv3/conf/ buildrom-devel/packages/linuxbiosv3/conf/qemu-i386-defconfig buildrom-devel/packages/linuxbiosv3/linuxbiosv3.mk buildrom-devel/packages/linuxbiosv3/patches/ buildrom-devel/packages/roms/ buildrom-devel/packages/roms/rom-geode.inc buildrom-devel/packages/roms/roms.mk Removed: buildrom-devel/packages/linuxbios/conf.v3/ Modified: buildrom-devel/Makefile buildrom-devel/packages/linuxbios/linuxbios.inc Log: This is the rest of the last patch. - Myles
This patch is Jordan's buildrom patch with a few additions, so I'm including his original message:
[BUILDROM] Expand linuxbiosv3 support - the rest of the files
Add more generic support for LinuxBIOSv3 - add specialized package for v3, and add support for using LAR to put it all together. Also add expanded (and better) option ROM support, though we're not actually using it right away.
Myles again:
It also changes LINUXBIOS variables to LBV2 unless they are used for both. I added dependencies between vendors that don't have any v3 platforms and LINUXBIOS_V2.
This also makes the Makefile silent during ROM processing.
Modified: buildrom-devel/Makefile =================================================================== --- buildrom-devel/Makefile 2008-01-11 17:38:23 UTC (rev 90) +++ buildrom-devel/Makefile 2008-01-11 18:22:53 UTC (rev 91) @@ -68,12 +68,10 @@ rom: $(HOSTTOOLS-y) payload $(LINUXBIOS-y) else
-# Add the payload, and then add everything in the deploy/roms directory - rom: $(HOSTTOOLS-y) payload $(LINUXBIOS-y) - cp $(LBV3_OUTPUT) $(TARGET_ROM_FILE) - $(STAGING_DIR)/bin/lar -a $(TARGET_ROM_FILE) $(PAYLOAD_TARGET):normal/payload - for file in `ls $(ROM_DIR)`; do \ + @ cp $(LBV3_OUTPUT) $(TARGET_ROM_FILE) + @ $(STAGING_DIR)/bin/lar -a $(TARGET_ROM_FILE) $(PAYLOAD_TARGET):normal/payload + @ for file in `ls $(ROM_DIR)`; do \ $(STAGING_DIR)/bin/lar -a $(TARGET_ROM_FILE) $(ROM_DIR)/$$file:$$file; \ done endif
Modified: buildrom-devel/packages/linuxbios/linuxbios.inc =================================================================== --- buildrom-devel/packages/linuxbios/linuxbios.inc 2008-01-11 17:38:23 UTC (rev 90) +++ buildrom-devel/packages/linuxbios/linuxbios.inc 2008-01-11 18:22:53 UTC (rev 91) @@ -15,7 +15,7 @@ endif endif
-LBV2_OUTPUT=$(LBV2_BUILD_DIR)/$(LBV2_ROM_NAME) +LBV2_OUTPUT=$(LBV2_BUILD_DIR)/$(LINUXBIOS_ROM_NAME) LBV2_DIR=$(BUILD_DIR)/linuxbios
# If the user wanted to override the build directory - obey that now
Added: buildrom-devel/packages/linuxbiosv3/conf/qemu-i386-defconfig =================================================================== --- buildrom-devel/packages/linuxbiosv3/conf/qemu-i386-defconfig (rev 0) +++ buildrom-devel/packages/linuxbiosv3/conf/qemu-i386-defconfig 2008-01-11 18:22:53 UTC (rev 91) @@ -0,0 +1,88 @@ +# +# Automatically generated make config: don't edit +# LinuxBIOS version: 3.0.0 +# Tue Jan 8 12:28:41 2008 +# + +# +# General setup +# +# CONFIG_EXPERIMENTAL is not set +# CONFIG_EXPERT is not set +CONFIG_LOCALVERSION="" + +# +# Mainboard +# +# CONFIG_VENDOR_ADL is not set +# CONFIG_VENDOR_AMD is not set +# CONFIG_VENDOR_ARTECGROUP is not set +CONFIG_VENDOR_EMULATION=y +# CONFIG_VENDOR_PCENGINES is not set +CONFIG_MAINBOARD_NAME="emulation/qemu-x86" +CONFIG_MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID=0x15ad +CONFIG_MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID=0x1976 +CONFIG_BOARD_EMULATION_QEMU_X86=y +# CONFIG_LINUXBIOS_ROMSIZE_KB_128 is not set +# CONFIG_LINUXBIOS_ROMSIZE_KB_256 is not set +# CONFIG_LINUXBIOS_ROMSIZE_KB_512 is not set +CONFIG_LINUXBIOS_ROMSIZE_KB_1024=y +# CONFIG_LINUXBIOS_ROMSIZE_KB_2048 is not set +CONFIG_LINUXBIOS_ROMSIZE_KB=1024 +CONFIG_ARCH_X86=y +CONFIG_ARCH="x86" +CONFIG_CPU_I586=y +CONFIG_OPTION_TABLE=y + +# +# Compression +# +CONFIG_COMPRESSION_LZMA=y +# CONFIG_COMPRESSION_NRV2B is not set +CONFIG_DEFAULT_COMPRESSION_LZMA=y +# CONFIG_DEFAULT_COMPRESSION_NRV2B is not set +# CONFIG_DEFAULT_COMPRESSION_NONE is not set + +# +# Console +# +CONFIG_CONSOLE=y +CONFIG_CONSOLE_LOGLEVEL_8=y +# CONFIG_CONSOLE_LOGLEVEL_7 is not set +# CONFIG_CONSOLE_LOGLEVEL_6 is not set +# CONFIG_CONSOLE_LOGLEVEL_5 is not set +# CONFIG_CONSOLE_LOGLEVEL_4 is not set +# CONFIG_CONSOLE_LOGLEVEL_3 is not set +# CONFIG_CONSOLE_LOGLEVEL_2 is not set +# CONFIG_CONSOLE_LOGLEVEL_1 is not set +# CONFIG_CONSOLE_LOGLEVEL_0 is not set +CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8 +CONFIG_CONSOLE_SERIAL=y +CONFIG_CONSOLE_SERIAL_COM1=y +# CONFIG_CONSOLE_SERIAL_COM2 is not set +CONFIG_CONSOLE_SERIAL_115200=y +# CONFIG_CONSOLE_SERIAL_57600 is not set +# CONFIG_CONSOLE_SERIAL_38400 is not set +# CONFIG_CONSOLE_SERIAL_19200 is not set +# CONFIG_CONSOLE_SERIAL_9600 is not set + +# +# Devices +# +CONFIG_PCI_OPTION_ROM_RUN=y +# CONFIG_PCI_OPTION_ROM_RUN_X86EMU is not set +CONFIG_PCI_OPTION_ROM_RUN_VM86=y +# CONFIG_PCI_OPTION_ROM_RUN_NONE is not set +# CONFIG_MULTIPLE_VGA_INIT is not set +# CONFIG_INITIALIZE_ONBOARD_VGA_FIRST is not set +CONFIG_NORTHBRIDGE_INTEL_I440BXEMULATION=y +CONFIG_SOUTHBRIDGE_INTEL_I82371EB=y +CONFIG_SUPERIO_WINBOND_W83627HF=y +CONFIG_NORTHBRIDGE_INTEL_I440BXEMULATION_RAMSIZE=32 + +# +# Payload +# +# CONFIG_PAYLOAD_PREPARSE_ELF is not set +# CONFIG_PAYLOAD_ELF is not set +CONFIG_PAYLOAD_NONE=y
Added: buildrom-devel/packages/linuxbiosv3/linuxbiosv3.mk =================================================================== --- buildrom-devel/packages/linuxbiosv3/linuxbiosv3.mk (rev 0) +++ buildrom-devel/packages/linuxbiosv3/linuxbiosv3.mk 2008-01-11 18:22:53 UTC (rev 91) @@ -0,0 +1,76 @@ +ifeq ($(LBV3_TAG),) +$(error You need to specify a version to pull in your platform config) +endif + +LBV3_URL=svn://openbios.org/repository/LinuxBIOSv3 +LBV3_TARBALL=linuxbios-svn-$(LBV3_TAG).tar.gz +LBV3_DIR=$(BUILD_DIR)/linuxbiosv3 +LBV3_SRC_DIR=$(LBV3_DIR)/svn + +LBV3_STAMP_DIR=$(LBV3_DIR)/stamps +LBV3_LOG_DIR=$(LBV3_DIR)/logs + +ifeq ($(CONFIG_VERBOSE),y) +LBV3_FETCH_LOG=/dev/stdout +LBV3_CONFIG_LOG=/dev/stdout +LBV3_BUILD_LOG=/dev/stdout +else +LBV3_FETCH_LOG=$(LBV3_LOG_DIR)/fetch.log +LBV3_CONFIG_LOG=$(LBV3_LOG_DIR)/config.log +LBV3_BUILD_LOG=$(LBV3_LOG_DIR)/build.log +endif + +TARGET_ROM = $(LINUXBIOS_VENDOR)-$(LINUXBIOS_BOARD).rom + +LBV3_OUTPUT=$(LBV3_SRC_DIR)/build/linuxbios.rom + +LBV3_PATCHES ?= + +$(SOURCE_DIR)/$(LBV3_TARBALL): + @ mkdir -p $(SOURCE_DIR)/linuxbiosv3 + @ $(BIN_DIR)/fetchsvn.sh $(LBV3_URL) \ + $(SOURCE_DIR)/linuxbiosv3 $(LBV3_TAG) \ + $@ > $(LBV3_FETCH_LOG) 2>&1 + +$(LBV3_STAMP_DIR)/.unpacked: $(SOURCE_DIR)/$(LBV3_TARBALL) + @echo "Unpacking LinuxBIOSv3..." + @ mkdir -p $(LBV3_DIR) + @ tar -C $(LBV3_DIR) -zxf $(SOURCE_DIR)/$(LBV3_TARBALL) + @ touch $@ + +$(LBV3_STAMP_DIR)/.patched: $(LBV3_STAMP_DIR)/.unpacked + @ echo "Patching LinuxBIOSv3..." + @ $(BIN_DIR)/doquilt.sh $(LBV3_SRC_DIR) $(LBV3_PATCHES) + @ touch $@ + +$(LBV3_STAMP_DIR)/.configured: $(LBV3_STAMP_DIR)/.patched + @ echo "Configuring LinuxBIOSv3..." + @ cp $(PACKAGE_DIR)/linuxbiosv3/conf/$(LBV3_CONFIG) $(LBV3_SRC_DIR)/.config + @ make -C $(LBV3_SRC_DIR) oldconfig > $(LBV3_CONFIG_LOG) 2>&1 + @ touch $@ + +$(LBV3_OUTPUT): $(LBV3_STAMP_DIR)/.configured + @ echo "Building LinuxBIOSv3..." + @ $(MAKE) -C $(LBV3_SRC_DIR) > $(LBV3_BUILD_LOG) 2>&1 + +$(LBV3_SRC_DIR)/build/util/lar/lar: $(LBV3_STAMP_DIR)/.configured + @ $(MAKE) -C $(LBV3_SRC_DIR)/util lar > $(LBV3_BUILD_LOG) 2>&1 + +$(STAGING_DIR)/bin/lar: $(LBV3_SRC_DIR)/build/util/lar/lar + @ mkdir -p $(STAGING_DIR)/bin + @ cp $< $@ + + +$(LBV3_STAMP_DIR) $(LBV3_LOG_DIR): + @ mkdir -p $@ + +linuxbiosv3: $(LBV3_LOG_DIR) $(LBV3_STAMP_DIR) $(LBV3_OUTPUT) $(STAGING_DIR)/bin/lar + +linuxbiosv3-clean: + @ echo "Cleaning linuxbiosv3..." + @ $(MAKE) -C $(LBV3_SRC_DIR) clean > /dev/null 2>&1 + +linuxbiosv3-distclean: + @ rm -rf $(LBV3_DIR)/* + @ rm -rf $(STAGING_DIR)/bin/lar +
Added: buildrom-devel/packages/roms/rom-geode.inc =================================================================== --- buildrom-devel/packages/roms/rom-geode.inc (rev 0) +++ buildrom-devel/packages/roms/rom-geode.inc 2008-01-11 18:22:53 UTC (rev 91) @@ -0,0 +1,17 @@ +# This is the geode specific optionrom target +# download VSA + +VSA_URL=http://www.amd.com/files/connectivitysolutions/geode/geode_lx/ +GEODE_VSA=lx_vsa.36k.bin + +$(SOURCE_DIR)/$(GEODE_VSA): + @ echo "Fetching the VSA code..." + @ wget -P $(SOURCE_DIR) $(VSA_URL)/$(GEODE_VSA).gz -O $@ + +# Copy the file to the ROM_DIR - it should have the same name that it +# will have in the LAR + +$(ROM_DIR)/vsa: $(SOURCE_DIR)/$(GEODE_VSA): + @ cp $< $@ + +OPTIONROM_TARGETS += $(ROM_DIR)/vsa
Added: buildrom-devel/packages/roms/roms.mk =================================================================== --- buildrom-devel/packages/roms/roms.mk (rev 0) +++ buildrom-devel/packages/roms/roms.mk 2008-01-11 18:22:53 UTC (rev 91) @@ -0,0 +1,22 @@ +# Each platform that needs an option ROM or other binary blob is specified +# here + + +OPTIONROM_TARGETS= + +OPTIONROM-y = +OPTIONROM-$(CONFIG_PLATFORM_NORWICH) += rom-geode.inc + +ifneq ($(OPTIONROMS-y),) +include $(OPTIONROM-y) +endif + +$(ROM_DIR): + mkdir -p $(ROM_DIR) + +roms: $(ROM_DIR) $(OPTIONROM_TARGETS) + +roms-clean: + @ rm -rf $(OPTIONROM_TARGETS) + +roms-distclean: roms-clean