diff options
author | Ulf Samuelsson <ulf.samuelsson@atmel.com> | 2007-07-12 13:11:03 +0000 |
---|---|---|
committer | Ulf Samuelsson <ulf.samuelsson@atmel.com> | 2007-07-12 13:11:03 +0000 |
commit | 412ca2a4d4072b5d4d2fa819d62f6a8848ff7fda (patch) | |
tree | 0181b9f0673b2cbe494b4ef025aac7cfb26649c0 /target | |
parent | 7def55591de471e6fa2e7921dfdf71c84a308cae (diff) |
BSP Patch:
=========================================================
The purpose of the BSP patch is to allow building
several boards inside the same buildroot tree.
For this to work, each board has to have its
own "$(TARGET_DIR)" and all *configurable* packages
must be rebuilt for each board.
They are now built in the "$(PROJECT_BUILD_DIR)"
All non configurable packages can and should still
be built in the "$(BUILD_DIR)".
If a package is built for one board, then when
you build for a second board of the same architecture
the build becomes a simple copy of the resulting
binaries.
-----
Define BR2_PROJECT which will be used as the selector
between different boards. Note that BR2_PROJECT allow
you to build multiple root file systems for a single
board, and should not be confused with BR2_BOARD_NAME
which relates to the H/W.
-----
Define PROJECT_BUILD_DIR as "PROJECT_BUILD_DIR/$(PROJECT)"
Define BINARIES_DIR as "binaries/$(PROJECT)"
Define TARGET_DIR as "$(PROJECT_BUILD_DIR)/root"
(some prefix/postfix may apply)
Resulting images are stored in "$(BINARIES_DIR)"
-----
Define a few new environment variables in Makefile
PROJECT: Stripped BR2_PROJECT
DATE: Date of build in YYYY-MM-DD format
HOSTNAME: Stripped BR2_HOSTNAME => /etc/hostname
BANNER: Stripped BR2_BANNER => /etc/issue
Linux and Busybox will be built in $(PROJECT_BUILD_DIR)
More patches will be needed later to ensure all
configurable packages are built in this directory.
Diffstat (limited to 'target')
-rw-r--r-- | target/cloop/cloop.mk | 9 | ||||
-rw-r--r-- | target/jffs2/jffs2root.mk | 2 | ||||
-rw-r--r-- | target/linux/Makefile.in | 6 |
3 files changed, 9 insertions, 8 deletions
diff --git a/target/cloop/cloop.mk b/target/cloop/cloop.mk index ca6d8bd4a..bba984edb 100644 --- a/target/cloop/cloop.mk +++ b/target/cloop/cloop.mk @@ -15,6 +15,7 @@ CLOOP_DIR=$(BUILD_DIR)/cloop-$(CLOOP_VERSION) CLOOP_SOURCE=cloop_$(CLOOP_VERSION)-5.tar.gz CLOOP_SITE=http://developer.linuxtag.net/knoppix/sources +CLOOP_TARGET:=$(IMAGE).cloop ### Note: not used yet! ck ### $(DL_DIR)/$(CLOOP_PATCH1): ### $(WGET) -P $(DL_DIR) $(CLOOP_PATCH1_URL)/$(CLOOP_PATCH1) @@ -78,19 +79,19 @@ clooproot: cloop check-tools $(IMAGE).cramfs ### cramfsroot @rm -rf $(TARGET_DIR)/usr/share/man @rm -rf $(TARGET_DIR)/usr/info @rmdir -p --ignore-fail-on-non-empty $(TARGET_DIR)/usr/share - ### $(CLOOP_DIR)/create_compressed_fs -q -D target/default/device_table.txt $(TARGET_DIR) $(IMAGE).cloop - ## mkisofs -r $(TARGET_DIR) | $(CLOOP_DIR)/create_compressed_fs - 65536 > $(IMAGE).cloop + ### $(CLOOP_DIR)/create_compressed_fs -q -D target/default/device_table.txt $(TARGET_DIR) $(CLOOP_TARGET) + ## mkisofs -r $(TARGET_DIR) | $(CLOOP_DIR)/create_compressed_fs - 65536 > $(CLOOP_TARGET) sudo /sbin/losetup -d /dev/loop1 sudo /sbin/losetup /dev/loop1 $(IMAGE).cramfs sudo mkdir -p /mnt/compressed sudo mount -o ro -t cramfs /dev/loop1 /mnt/compressed - mkisofs -r /mnt/compressed | $(CLOOP_DIR)/create_compressed_fs - 65536 > $(IMAGE).cloop + mkisofs -r /mnt/compressed | $(CLOOP_DIR)/create_compressed_fs - 65536 > $(CLOOP_TARGET) - symlinks -r /mnt/compressed sudo umount /mnt/compressed @echo "Mounting a compressed image:" @echo " sudo mkdir -p /mnt/compressed" @echo " sudo /sbin/insmod cloop" - @echo " sudo /sbin/losetup /dev/cloop1 $(IMAGE).cloop" + @echo " sudo /sbin/losetup /dev/cloop1 $(CLOOP_TARGET)" @echo " sudo mount -o ro -t iso9660 /dev/cloop1 /mnt/compressed" clooproot-source: cloop-source diff --git a/target/jffs2/jffs2root.mk b/target/jffs2/jffs2root.mk index 2df5de8b3..3341c0bf8 100644 --- a/target/jffs2/jffs2root.mk +++ b/target/jffs2/jffs2root.mk @@ -66,7 +66,7 @@ ifneq ($(TARGET_DEVICE_TABLE),) >> $(STAGING_DIR)/_fakeroot.$(notdir $(JFFS2_TARGET)) endif # Use fakeroot so mkfs.jffs2 believes the previous fakery - echo "$(MKFS_JFFS2) $(JFFS2_OPTS) -d $(BUILD_DIR)/root -o $(JFFS2_TARGET)" \ + echo "$(MKFS_JFFS2) $(JFFS2_OPTS) -d $(TARGET_DIR) -o $(JFFS2_TARGET)" \ >> $(STAGING_DIR)/_fakeroot.$(notdir $(JFFS2_TARGET)) chmod a+x $(STAGING_DIR)/_fakeroot.$(notdir $(JFFS2_TARGET)) $(STAGING_DIR)/usr/bin/fakeroot -- $(STAGING_DIR)/_fakeroot.$(notdir $(JFFS2_TARGET)) diff --git a/target/linux/Makefile.in b/target/linux/Makefile.in index 18c98b4c2..619b5706b 100644 --- a/target/linux/Makefile.in +++ b/target/linux/Makefile.in @@ -58,7 +58,7 @@ endif LINUX26_KERNEL=linux-kernel-$(LINUX26_VERSION)-$(KERNEL_ARCH) # Version of Linux AFTER patches -LINUX26_DIR=$(BUILD_DIR)/linux-$(LINUX26_VERSION) +LINUX26_DIR=$(PROJECT_BUILD_DIR)/linux-$(LINUX26_VERSION) # for packages that need it LINUX_VERSION:=$(LINUX_VERSION) @@ -89,10 +89,10 @@ $(DL_DIR)/$(LINUX26_SOURCE): $(LINUX26_DIR)/.unpacked: $(DL_DIR)/$(LINUX26_SOURCE) rm -rf $(LINUX26_DIR) - $(LINUX26_BZCAT) $(DL_DIR)/$(LINUX26_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - + $(LINUX26_BZCAT) $(DL_DIR)/$(LINUX26_SOURCE) | tar -C $(PROJECT_BUILD_DIR) $(TAR_OPTIONS) - ifneq ($(DOWNLOAD_LINUX26_VERSION),$(LINUX26_VERSION)) # Rename the dir from the downloaded version to the AFTER patch version - mv -f $(BUILD_DIR)/linux-$(DOWNLOAD_LINUX26_VERSION) $(LINUX26_DIR) + mv -f $(PROJECT_BUILD_DIR)/linux-$(DOWNLOAD_LINUX26_VERSION) $(LINUX26_DIR) endif touch $@ |