From 220a96f9926788ed531717f78e44fdf1e7ab3b34 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Thu, 30 Dec 2010 22:45:29 +0100 Subject: rework architecture / embedded systems concept Make configuration of new targets cheap. Just add a new file in target/arch/sys-enabled/foo. See other files for syntax. While doing runtime tests with the new infrastructure I've updated a lot of other stuff: - gcc 4.5.2 - uClibc 0.9.32-rc1 (NPTL) - strongswan, php, miredo, parted, util-linux-ng, e2fsprogs I promise, this is the last big fat commit this year ;) --- target/x86/Makefile | 75 +++++++++++++++++++---------------------------------- 1 file changed, 26 insertions(+), 49 deletions(-) (limited to 'target/x86/Makefile') diff --git a/target/x86/Makefile b/target/x86/Makefile index 05e9674a0..4a1ea372b 100644 --- a/target/x86/Makefile +++ b/target/x86/Makefile @@ -9,72 +9,49 @@ include $(TOPDIR)/mk/image.mk KERNEL:=$(LINUX_DIR)/arch/x86/boot/bzImage -createinitcrypt: - $(SED) 's#^CONFIG_INITRAMFS_SOURCE.*#CONFIG_INITRAMFS_SOURCE="./initramfs_list"#' $(LINUX_DIR)/.config - echo 'CONFIG_INITRAMFS_ROOT_UID=0' >> $(LINUX_DIR)/.config - echo 'CONFIG_INITRAMFS_ROOT_GID=0' >> $(LINUX_DIR)/.config - echo N |$(MAKE) -C $(LINUX_DIR) V=1 CROSS_COMPILE="$(TARGET_CROSS)" ARCH=$(ARCH) \ - CC="$(TARGET_CC)" oldconfig $(MAKE_TRACE) - $(MAKE) -C $(LINUX_DIR) V=1 CROSS_COMPILE="$(TARGET_CROSS)" ARCH=$(ARCH) \ - CC="$(TARGET_CC)" $(MAKE_TRACE) - @cp $(KERNEL) $(BIN_DIR)/${ADK_HW}-${ADK_TARGET}-${FS}-kernel - -ifeq ($(FS),archive) +ifeq ($(ADK_TARGET_FS),cf) +imageinstall: $(BIN_DIR)/$(ROOTFSTARBALL) + @echo "The RootFS tarball is: $(BIN_DIR)/$(ROOTFSTARBALL)" + @echo "To install everything to CompactFlash use scripts/install.sh" +endif +ifeq ($(ADK_TARGET_FS),nfsroot) +imageinstall: $(BIN_DIR)/$(ROOTFSUSERTARBALL) + @cp $(KERNEL) $(TARGET_KERNEL) + @echo 'The linux kernel is here: $(TARGET_KERNEL)' + @echo 'The nfs root tarball is: ${BIN_DIR}/${ROOTFSUSERTARBALL}' +endif +ifeq ($(ADK_TARGET_FS),archive) imageinstall: $(BIN_DIR)/$(ROOTFSTARBALL) @echo "The RootFS tarball is: $(BIN_DIR)/$(ROOTFSTARBALL)" -ifeq ($(ADK_HARDWARE_QEMU_X86),y) - @cp $(KERNEL) $(BIN_DIR)/${ADK_HW}-${ADK_TARGET}-${FS}-kernel +ifeq ($(ADK_TARGET_SYSTEM_QEMU_X86),y) + @cp $(KERNEL) $(TARGET_KERNEL) @echo "Use following command to create a QEMU Image:" @echo "sudo ./scripts/create-image.sh -f ${ADK_TARGET_ROOTFS} qemu-${CPU_ARCH}.img $(BIN_DIR)/$(ROOTFSTARBALL)" @echo "Start qemu with following command line:" - @echo 'qemu -nographic -net user,hostfwd=tcp::2222-:22 -net nic,model=e1000 -kernel $(BIN_DIR)/${ADK_HW}-${ADK_TARGET}-${FS}-kernel qemu-${CPU_ARCH}.img' + @echo 'qemu -nographic -net user,hostfwd=tcp::2222-:22 -net nic,model=e1000 -kernel $(TARGET_KERNEL) qemu-${CPU_ARCH}.img' endif endif -ifeq ($(FS),usb) +ifeq ($(ADK_TARGET_FS),usb) imageinstall: $(BIN_DIR)/$(ROOTFSTARBALL) @echo "The RootFS tarball is: $(BIN_DIR)/$(ROOTFSTARBALL)" @echo "To install everything to USB use scripts/install.sh" endif -ifeq ($(FS),initramfs) +ifeq ($(ADK_TARGET_FS),initramfs) imageinstall: $(BIN_DIR)/$(INITRAMFS) - @cp $(KERNEL) $(BIN_DIR)/${ADK_HW}-${ADK_TARGET}-${FS}-kernel - @echo 'The kernel file is: ${BIN_DIR}/${ADK_HW}-${ADK_TARGET}-${FS}-kernel' + @cp $(KERNEL) $(TARGET_KERNEL) + @echo 'The kernel file is: ${TARGET_KERNEL}' @echo 'The initramfs image is: ${BIN_DIR}/${INITRAMFS}' -ifeq ($(ADK_HARDWARE_QEMU_X86),y) +ifeq ($(ADK_TARGET_SYSTEM_QEMU_X86),y) @echo "Start qemu with following command line:" - @echo 'qemu -nographic -net user,hostfwd=tcp::2222-:22 -net nic,model=e1000 -kernel $(BIN_DIR)/${ADK_HW}-${ADK_TARGET}-${FS}-kernel -initrd ${BIN_DIR}/${INITRAMFS}' + @echo 'qemu -nographic -net user,hostfwd=tcp::2222-:22 -net nic,model=e1000 -kernel $(TARGET_KERNEL) -initrd ${BIN_DIR}/${INITRAMFS}' endif endif -ifeq ($(FS),initramfs-piggyback) +ifeq ($(ADK_TARGET_FS),initramfs-piggyback) imageinstall: ${BUILD_DIR}/${INITRAMFS_PIGGYBACK} createinitramfs - @cp $(KERNEL) ${BIN_DIR}/${ADK_HW}-${ADK_TARGET}-${FS}-kernel - @echo 'The kernel+initramfs file is: ${BIN_DIR}/${ADK_HW}-${ADK_TARGET}-${FS}-kernel' -ifeq ($(ADK_HARDWARE_QEMU_X86),y) + @cp $(KERNEL) ${TARGET_KERNEL} + @echo 'The kernel+initramfs file is: ${TARGET_KERNEL}' +ifeq ($(ADK_TARGET_SYSTEM_QEMU_X86),y) @echo "Start qemu with following command line:" - @echo 'qemu -nographic -net user,hostfwd=tcp::2222-:22 -net nic,model=e1000 -kernel $(BIN_DIR)/${ADK_HW}-${ADK_TARGET}-${FS}-kernel' -endif + @echo 'qemu -nographic -net user,hostfwd=tcp::2222-:22 -net nic,model=e1000 -kernel $(TARGET_KERNEL)' endif -ifeq ($(FS),encrypted) -imageinstall: $(BIN_DIR)/$(ROOTFSUSERTARBALL) createinitcrypt - @echo 'The kernel+cryptinit file is: ${BIN_DIR}/${ADK_HW}-${ADK_TARGET}-${FS}-kernel' - @echo "The RootFS tarball is: $(BIN_DIR)/$(ROOTFSUSERTARBALL)" - @echo 'Boot your IBM X40 via NFS or USB.' - @echo 'Then create at least three partitions with fdisk:' - @echo '/dev/sda1 (ext2)' - @echo '/dev/sda2 (encrypted root)' - @echo '/dev/sda3 (swap)' - @echo 'mkdir /mnt/{boot,root}' - @echo 'mke2fs /dev/sda1' - @echo 'cryptsetup luksFormat /dev/sda2' - @echo 'cryptsetup luksFormat /dev/sda3' - @echo 'cryptsetup luksOpen /dev/sda2 root' - @echo 'cryptsetup luksOpen /dev/sda3 swap' - @echo 'mkfs.xfs /dev/mapper/root' - @echo 'mkswap /dev/mapper/swap' - @echo 'mount /dev/sda1 /mnt/boot' - @echo 'mount /dev/mapper/crypt /mnt/root' - @echo 'mkdir /mnt/boot/boot' - @echo 'Copy $(ROOTFSUSERTARBALL) via scp to /mnt/root and extract it' - @echo 'cd /mnt/root ; gunzip $(ROOTFSUSERTARBALL); tar xpvf $(ROOTFSUSERTARBALL)' - @echo 'cd /mnt/root ; mknod -m 644 console c 5 1' endif -- cgit v1.2.3