2
1

system.mk 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. TARGET_GENERIC_HOSTNAME = $(call qstrip,$(BR2_TARGET_GENERIC_HOSTNAME))
  2. TARGET_GENERIC_ISSUE = $(call qstrip,$(BR2_TARGET_GENERIC_ISSUE))
  3. TARGET_GENERIC_ROOT_PASSWD = $(call qstrip,$(BR2_TARGET_GENERIC_ROOT_PASSWD))
  4. TARGET_GENERIC_PASSWD_METHOD = $(call qstrip,$(BR2_TARGET_GENERIC_PASSWD_METHOD))
  5. TARGET_GENERIC_GETTY_PORT = $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT))
  6. TARGET_GENERIC_GETTY_BAUDRATE = $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_BAUDRATE))
  7. TARGET_GENERIC_GETTY_TERM = $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_TERM))
  8. TARGET_GENERIC_GETTY_OPTIONS = $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_OPTIONS))
  9. ifeq ($(BR2_TARGET_GENERIC_GETTY),y)
  10. define SYSTEM_SECURETTY
  11. grep -q '^$(TARGET_GENERIC_GETTY_PORT)$$' $(TARGET_DIR)/etc/securetty || \
  12. echo '$(TARGET_GENERIC_GETTY_PORT)' >> $(TARGET_DIR)/etc/securetty
  13. endef
  14. TARGET_FINALIZE_HOOKS += SYSTEM_SECURETTY
  15. endif
  16. ifneq ($(TARGET_GENERIC_HOSTNAME),)
  17. define SYSTEM_HOSTNAME
  18. mkdir -p $(TARGET_DIR)/etc
  19. echo "$(TARGET_GENERIC_HOSTNAME)" > $(TARGET_DIR)/etc/hostname
  20. $(SED) '$$a \127.0.1.1\t$(TARGET_GENERIC_HOSTNAME)' \
  21. -e '/^127.0.1.1/d' $(TARGET_DIR)/etc/hosts
  22. endef
  23. TARGET_FINALIZE_HOOKS += SYSTEM_HOSTNAME
  24. endif
  25. ifneq ($(TARGET_GENERIC_ISSUE),)
  26. define SYSTEM_ISSUE
  27. mkdir -p $(TARGET_DIR)/etc
  28. echo "$(TARGET_GENERIC_ISSUE)" > $(TARGET_DIR)/etc/issue
  29. endef
  30. TARGET_FINALIZE_HOOKS += SYSTEM_ISSUE
  31. endif
  32. ifneq ($(TARGET_GENERIC_ROOT_PASSWD),)
  33. TARGETS += host-mkpasswd
  34. endif
  35. ifeq ($(BR2_ROOTFS_SKELETON_DEFAULT),y)
  36. define SYSTEM_ROOT_PASSWD
  37. [ -n "$(TARGET_GENERIC_ROOT_PASSWD)" ] && \
  38. TARGET_GENERIC_ROOT_PASSWD_HASH=$$($(MKPASSWD) -m "$(TARGET_GENERIC_PASSWD_METHOD)" "$(TARGET_GENERIC_ROOT_PASSWD)"); \
  39. $(SED) "s,^root:[^:]*:,root:$$TARGET_GENERIC_ROOT_PASSWD_HASH:," $(TARGET_DIR)/etc/shadow
  40. endef
  41. TARGET_FINALIZE_HOOKS += SYSTEM_ROOT_PASSWD
  42. ifeq ($(BR2_TARGET_GENERIC_GETTY),y)
  43. ifeq ($(BR2_PACKAGE_SYSVINIT),y)
  44. # In sysvinit inittab, the "id" must not be longer than 4 bytes, so we
  45. # skip the "tty" part and keep only the remaining.
  46. define SYSTEM_GETTY
  47. $(SED) '/# GENERIC_SERIAL$$/s~^.*#~$(shell echo $(TARGET_GENERIC_GETTY_PORT) | tail -c+4)::respawn:/sbin/getty -L $(TARGET_GENERIC_GETTY_OPTIONS) $(TARGET_GENERIC_GETTY_PORT) $(TARGET_GENERIC_GETTY_BAUDRATE) $(TARGET_GENERIC_GETTY_TERM) #~' \
  48. $(TARGET_DIR)/etc/inittab
  49. endef
  50. else
  51. # Add getty to busybox inittab
  52. define SYSTEM_GETTY
  53. $(SED) '/# GENERIC_SERIAL$$/s~^.*#~$(TARGET_GENERIC_GETTY_PORT)::respawn:/sbin/getty -L $(TARGET_GENERIC_GETTY_OPTIONS) $(TARGET_GENERIC_GETTY_PORT) $(TARGET_GENERIC_GETTY_BAUDRATE) $(TARGET_GENERIC_GETTY_TERM) #~' \
  54. $(TARGET_DIR)/etc/inittab
  55. endef
  56. endif
  57. TARGET_FINALIZE_HOOKS += SYSTEM_GETTY
  58. endif
  59. ifeq ($(BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW),y)
  60. # Find commented line, if any, and remove leading '#'s
  61. define SYSTEM_REMOUNT_RW
  62. $(SED) '/^#.*# REMOUNT_ROOTFS_RW$$/s~^#\+~~' $(TARGET_DIR)/etc/inittab
  63. endef
  64. else
  65. # Find uncommented line, if any, and add a leading '#'
  66. define SYSTEM_REMOUNT_RW
  67. $(SED) '/^[^#].*# REMOUNT_ROOTFS_RW$$/s~^~#~' $(TARGET_DIR)/etc/inittab
  68. endef
  69. endif
  70. TARGET_FINALIZE_HOOKS += SYSTEM_REMOUNT_RW
  71. endif # BR2_ROOTFS_SKELETON_DEFAULT