Makefile 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. # This file is part of the OpenADK project. OpenADK is copyrighted
  2. # material, please see the LICENCE file in the top-level directory.
  3. include $(TOPDIR)/rules.mk
  4. include $(TOPDIR)/mk/kernel.mk
  5. include $(TOPDIR)/mk/modules.mk
  6. include $(TOPDIR)/mk/kernel-build.mk
  7. include $(TOPDIR)/mk/image.mk
  8. KERNEL:=$(LINUX_DIR)/arch/x86/boot/bzImage
  9. createinitcrypt:
  10. $(SED) 's#^CONFIG_INITRAMFS_SOURCE.*#CONFIG_INITRAMFS_SOURCE="./initramfs_list"#' $(LINUX_DIR)/.config
  11. echo 'CONFIG_INITRAMFS_ROOT_UID=0' >> $(LINUX_DIR)/.config
  12. echo 'CONFIG_INITRAMFS_ROOT_GID=0' >> $(LINUX_DIR)/.config
  13. echo N |$(MAKE) -C $(LINUX_DIR) V=1 CROSS_COMPILE="$(TARGET_CROSS)" ARCH=$(ARCH) \
  14. CC="$(TARGET_CC)" oldconfig $(MAKE_TRACE)
  15. $(MAKE) -C $(LINUX_DIR) V=1 CROSS_COMPILE="$(TARGET_CROSS)" ARCH=$(ARCH) \
  16. CC="$(TARGET_CC)" $(MAKE_TRACE)
  17. @cp $(KERNEL) $(BIN_DIR)/${ADK_TARGET}-${FS}-kernel
  18. ifeq ($(FS),archive)
  19. imageinstall: $(BIN_DIR)/$(ROOTFSTARBALL)
  20. @cp $(KERNEL) ${BIN_DIR}/${ADK_TARGET}-${FS}-kernel
  21. @echo 'The kernel file is: ${BIN_DIR}/${ADK_TARGET}-${FS}-kernel'
  22. @echo "The RootFS tarball is: $(BIN_DIR)/$(ROOTFSTARBALL)"
  23. ifeq ($(ADK_HARDWARE_QEMU_X86),y)
  24. @echo "Use following command to create a QEMU Image:"
  25. @echo "sudo ./scripts/create-image.sh -f ${ADK_TARGET_ROOTFS} qemu-${CPU_ARCH}.img $(BIN_DIR)/$(ROOTFSTARBALL)"
  26. @echo "Start qemu with following command line:"
  27. @echo 'qemu -nographic -net user,hostfwd=tcp::2222-:22 -net nic,model=e1000 -kernel $(BIN_DIR)/${ADK_TARGET}-${FS}-kernel qemu-${CPU_ARCH}.img'
  28. endif
  29. endif
  30. ifeq ($(FS),usb)
  31. imageinstall: $(BIN_DIR)/$(ROOTFSTARBALL)
  32. @echo "The RootFS tarball is: $(BIN_DIR)/$(ROOTFSTARBALL)"
  33. @echo "To install everything to USB use scripts/install.sh"
  34. endif
  35. ifeq ($(FS),initramfs)
  36. imageinstall: $(BIN_DIR)/$(INITRAMFS)
  37. @cp $(KERNEL) $(BIN_DIR)/${ADK_TARGET}-${FS}-kernel
  38. @echo 'The kernel file is: ${BIN_DIR}/${ADK_TARGET}-${FS}-kernel'
  39. @echo 'The initramfs image is: ${BIN_DIR}/${INITRAMFS}'
  40. ifeq ($(ADK_HARDWARE_QEMU_X86),y)
  41. @echo "Start qemu with following command line:"
  42. @echo 'qemu -nographic -net user,hostfwd=tcp::2222-:22 -net nic,model=e1000 -kernel $(BIN_DIR)/${ADK_TARGET}-${FS}-kernel -initrd ${BIN_DIR}/${INITRAMFS}'
  43. endif
  44. endif
  45. ifeq ($(FS),initramfs-piggyback)
  46. imageinstall: ${BUILD_DIR}/${INITRAMFS_PIGGYBACK} createinitramfs
  47. @cp $(KERNEL) ${BIN_DIR}/${ADK_TARGET}-${FS}-kernel
  48. @echo 'The kernel+initramfs file is: ${BIN_DIR}/${ADK_TARGET}-${FS}-kernel'
  49. ifeq ($(ADK_HARDWARE_QEMU_X86),y)
  50. @echo "Start qemu with following command line:"
  51. @echo 'qemu -nographic -net user,hostfwd=tcp::2222-:22 -net nic,model=e1000 -kernel $(BIN_DIR)/${ADK_TARGET}-${FS}-kernel'
  52. endif
  53. endif
  54. ifeq ($(FS),encrypted)
  55. imageinstall: $(BIN_DIR)/$(ROOTFSUSERTARBALL) createinitcrypt
  56. @echo 'The kernel+cryptinit file is: ${BIN_DIR}/${ADK_TARGET}-${FS}-kernel'
  57. @echo "The RootFS tarball is: $(BIN_DIR)/$(ROOTFSUSERTARBALL)"
  58. @echo 'Boot your IBM X40 via NFS or USB.'
  59. @echo 'Then create at least three partitions with fdisk:'
  60. @echo '/dev/sda1 (ext2)'
  61. @echo '/dev/sda2 (encrypted root)'
  62. @echo '/dev/sda3 (swap)'
  63. @echo 'mkdir /mnt/{boot,root}'
  64. @echo 'mke2fs /dev/sda1'
  65. @echo 'cryptsetup luksFormat /dev/sda2'
  66. @echo 'cryptsetup luksFormat /dev/sda3'
  67. @echo 'cryptsetup luksOpen /dev/sda2 root'
  68. @echo 'cryptsetup luksOpen /dev/sda3 swap'
  69. @echo 'mkfs.xfs /dev/mapper/root'
  70. @echo 'mkswap /dev/mapper/swap'
  71. @echo 'mount /dev/sda1 /mnt/boot'
  72. @echo 'mount /dev/mapper/crypt /mnt/root'
  73. @echo 'mkdir /mnt/boot/boot'
  74. @echo 'Copy $(ROOTFSUSERTARBALL) via scp to /mnt/root and extract it'
  75. @echo 'cd /mnt/root ; gunzip $(ROOTFSUSERTARBALL); tar xpvf $(ROOTFSUSERTARBALL)'
  76. @echo 'cd /mnt/root ; mknod -m 644 console c 5 1'
  77. endif