diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2011-09-02 19:11:35 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2011-09-02 19:11:35 +0200 |
commit | 64d1148c48e3cd428da42a5eb9bcda50f08171fb (patch) | |
tree | 61b8ce076757ced82ed59a03f94741778558698c | |
parent | 06ce168a42a0834f2ab1b17a493c6e339906404a (diff) |
add support for qemu-arm, fix usage of xz compressed initramfs, which is now the default here
-rw-r--r-- | mk/image.mk | 2 | ||||
-rw-r--r-- | target/arm/Makefile | 26 | ||||
-rw-r--r-- | target/arm/sys-available/qemu-arm | 15 | ||||
-rw-r--r-- | target/config/Config.in | 2 | ||||
-rw-r--r-- | target/linux/Config.in | 1 | ||||
-rw-r--r-- | target/linux/config/Config.in.serial | 8 | ||||
-rw-r--r-- | target/linux/config/Config.in.spi | 4 | ||||
-rw-r--r-- | target/linux/config/Config.in.systems | 9 |
8 files changed, 63 insertions, 4 deletions
diff --git a/mk/image.mk b/mk/image.mk index 185164c22..78b18e716 100644 --- a/mk/image.mk +++ b/mk/image.mk @@ -95,7 +95,7 @@ ${BIN_DIR}/${INITRAMFS}: ${TARGET_DIR} cd ${TARGET_DIR}; find . | sed -n '/^\.\//s///p' | \ sed "s#\(.*\)#:0:0::::::\1#" | sort | \ ${TOOLS_DIR}/cpio -o -C512 -Hnewc -P | \ - lzma -9 >$@ 2>/dev/null + xz -C crc32 >$@ 2>/dev/null ${BUILD_DIR}/${INITRAMFS_PIGGYBACK}: ${TARGET_DIR} ${SED} 's/.*CONFIG_(BLK_DEV_INITRD|INITRAMFS_SOURCE).*//' \ diff --git a/target/arm/Makefile b/target/arm/Makefile index dbf955a81..8e6ab0df7 100644 --- a/target/arm/Makefile +++ b/target/arm/Makefile @@ -7,6 +7,7 @@ include $(TOPDIR)/mk/modules.mk include $(TOPDIR)/mk/kernel-build.mk include $(TOPDIR)/mk/image.mk +ZKERNEL:=$(LINUX_DIR)/arch/arm/boot/zImage KERNEL:=$(LINUX_DIR)/vmlinux LOADADDR:=0x20008000 @@ -38,25 +39,44 @@ imageinstall: kernel-install $(BIN_DIR)/$(ROOTFSTARBALL) endif ifeq ($(ADK_TARGET_FS),archive) imageinstall: $(BIN_DIR)/$(ROOTFSTARBALL) +ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM),y) + @cp $(ZKERNEL) $(BIN_DIR)/$(TARGET_KERNEL) +else @cp $(KERNEL) $(BIN_DIR)/$(TARGET_KERNEL) +endif @echo 'The kernel file is: $(BIN_DIR)/${TARGET_KERNEL}' @echo "The RootFS tarball is: $(BIN_DIR)/$(ROOTFSTARBALL)" +ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM),y) @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 options:" - @echo 'qemu-system-arm -nographic -kernel $(BIN_DIR)/$(TARGET_KERNEL) -hda qemu-${CPU_ARCH}.img -append "root=/dev/hda1"' + @echo 'qemu-system-arm -M spitz -nographic -kernel $(BIN_DIR)/$(TARGET_KERNEL) -hda qemu-${CPU_ARCH}.img -append "root=/dev/hda1"' +endif endif ifeq ($(ADK_TARGET_FS),initramfs) imageinstall: $(BIN_DIR)/$(INITRAMFS) +ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM),y) + @cp $(ZKERNEL) $(BIN_DIR)/$(TARGET_KERNEL) +else @cp $(KERNEL) $(BIN_DIR)/$(TARGET_KERNEL) +endif @echo 'The kernel file is: $(BIN_DIR)/${TARGET_KERNEL}' @echo 'The initramfs image is: ${BIN_DIR}/${INITRAMFS}' - @echo 'qemu-system-arm -nographic -kernel $(BIN_DIR)/$(TARGET_KERNEL) -initrd ${BIN_DIR}/${INITRAMFS}' +ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM),y) + @echo "Start qemu with following command line:" + @echo 'qemu-system-arm -M spitz -nographic -kernel $(BIN_DIR)/$(TARGET_KERNEL) -initrd ${BIN_DIR}/${INITRAMFS}' +endif endif ifeq ($(ADK_TARGET_FS),initramfs-piggyback) imageinstall: ${BUILD_DIR}/${INITRAMFS_PIGGYBACK} createinitramfs +ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM),y) + @cp $(ZKERNEL) $(BIN_DIR)/$(TARGET_KERNEL) +else @cp $(KERNEL) $(BIN_DIR)/$(TARGET_KERNEL) +endif @echo 'The kernel+initramfs file is: $(BIN_DIR)/${TARGET_KERNEL}' +ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM),y) @echo "Start qemu with following command line:" - @echo 'qemu-system-arm -nographic -kernel $(BIN_DIR)/$(TARGET_KERNEL)' + @echo 'qemu-system-arm -M spitz -nographic -kernel $(BIN_DIR)/$(TARGET_KERNEL)' +endif endif diff --git a/target/arm/sys-available/qemu-arm b/target/arm/sys-available/qemu-arm new file mode 100644 index 000000000..beb1e2ee4 --- /dev/null +++ b/target/arm/sys-available/qemu-arm @@ -0,0 +1,15 @@ +config ADK_TARGET_SYSTEM_QEMU_ARM + bool "Qemu Emulator" + select ADK_arm + select ADK_qemu_arm + select ADK_little + select ADK_EABI + select ADK_KERNEL_ARCH_PXA + select ADK_KERNEL_PXA_SHARPSL + select ADK_KERNEL_MACH_SPITZ + select ADK_KERNEL_SPI_PXA2XX + select ADK_TARGET_NO_FPU + select ADK_HARDWARE_QEMU + help + Support for Qemu Emulator (arm). + Optimized for PXA270 Spitz. diff --git a/target/config/Config.in b/target/config/Config.in index adc499752..58a27cbbd 100644 --- a/target/config/Config.in +++ b/target/config/Config.in @@ -348,6 +348,7 @@ config ADK_TARGET_CMDLINE default "console=ttyS0,115200 console=tty0" if ADK_TARGET_SYSTEM_IBM_X40 default "console=ttyS0,115200 console=tty0" if ADK_TARGET_SYSTEM_INTEL_ATOM default "console=ttyS0,115200 console=tty0" if ADK_TARGET_SYSTEM_QEMU_X86 + default "console=ttyS0,115200 console=tty0" if ADK_TARGET_SYSTEM_QEMU_ARM default "console=tty0" if ADK_TARGET_SYSTEM_QEMU_SH default "console=ttyS0,115200" if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D13 default "console=ttyS0,115200" if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D2 @@ -462,6 +463,7 @@ config ADK_TARGET_ROOTFS_INITRAMFS ADK_LINUX_X86_64 || \ ADK_LINUX_NATIVE select ADK_KERNEL_BLK_DEV_INITRD + select ADK_KERNEL_RD_XZ help create an read-only initramfs system. diff --git a/target/linux/Config.in b/target/linux/Config.in index 7b52a3003..1b78cecb5 100644 --- a/target/linux/Config.in +++ b/target/linux/Config.in @@ -20,6 +20,7 @@ source target/linux/config/Config.in.misc source target/linux/config/Config.in.mips source target/linux/config/Config.in.lib source target/linux/config/Config.in.pm +source target/linux/config/Config.in.serial source target/linux/config/Config.in.spi source target/linux/config/Config.in.kvm source target/linux/config/Config.in.debug diff --git a/target/linux/config/Config.in.serial b/target/linux/config/Config.in.serial new file mode 100644 index 000000000..3451046de --- /dev/null +++ b/target/linux/config/Config.in.serial @@ -0,0 +1,8 @@ +config ADK_KERNEL_SERIAL_PXA + boolean + default y if ADK_TARGET_SYSTEM_QEMU_ARM + +config ADK_KERNEL_SERIAL_PXA_CONSOLE + boolean + default y if ADK_TARGET_SYSTEM_QEMU_ARM + diff --git a/target/linux/config/Config.in.spi b/target/linux/config/Config.in.spi index a141f8231..73db5e86d 100644 --- a/target/linux/config/Config.in.spi +++ b/target/linux/config/Config.in.spi @@ -12,3 +12,7 @@ config ADK_KERNEL_SPI_RB4XX config ADK_KERNEL_SPI_RB4XX_CPLD select ADK_KERNEL_SPI boolean + +config ADK_KERNEL_SPI_PXA2XX + select ADK_KERNEL_SPI + boolean diff --git a/target/linux/config/Config.in.systems b/target/linux/config/Config.in.systems index 5c420eb2b..24baa864e 100644 --- a/target/linux/config/Config.in.systems +++ b/target/linux/config/Config.in.systems @@ -35,6 +35,15 @@ config ADK_KERNEL_LEMOTE_MACH2F boolean # arm systems +config ADK_KERNEL_ARCH_PXA + boolean + +config ADK_KERNEL_PXA_SHARPSL + boolean + +config ADK_KERNEL_MACH_SPITZ + boolean + config ADK_KERNEL_ARCH_AT91 boolean |