summaryrefslogtreecommitdiffstats
path: root/meta-raptor/meta-asus/recipes-core/images/asus-image.bb
blob: b623f38cb8bc91c7433940768386c8e18fec1439 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
inherit asus_uboot_image

# /dev
require recipes-core/images/aspeed-dev.inc

# Base this image on core-image-minimal
include recipes-core/images/core-image-minimal.bb

# Changing the image compression from gz to lzma achieves 30% saving (~3M).
# However, the current u-boot does not have lzma enabled. Stick to gz
# until we generate a new u-boot image.
IMAGE_FSTYPES += "squashfs"

PYTHON_PKGS = " \
  python-core \
  python-io \
  python-json \
  python-shell \
  python-subprocess \
  python-argparse \
  python-ctypes \
  python-datetime \
  python-email \
  python-threading \
  python-mime \
  python-pickle \
  python-misc \
  python-netserver \
  "

NTP_PKGS = " \
  ntp \
  ntp-utils \
  sntp \
  ntpdate \
  "

# Include modules in rootfs
IMAGE_INSTALL += " \
  kernel-modules \
  u-boot \
  u-boot-fw-utils \
  openbmc-utils \
  openbmc-gpio \
  fan-ctrl \
  watchdog-ctrl \
  i2c-tools \
  sensor-setup \
  lldp-util \
  lmsensors-sensors \
  sms-kcsd \
  rest-api \
  bottle \
  ipmid \
  po-eeprom \
  bitbang \
  ${PYTHON_PKGS} \
  ${NTP_PKGS} \
  iproute2 \
  dhcp-client \
  jbi \
  flashrom \
  cherryPy \
  screen \
  "

IMAGE_FEATURES += " \
  ssh-server-openssh \
  "

DISTRO_FEATURES += " \
  ext2 \
  nfs \
  usbgadget \
  "

# IPv6 deactivated due to lack of memory.  If you need IPv6 please deactivate IPv4
# DISTRO_FEATURES += " ipv6"
disable_ipv6() {
	rm -f ${IMAGE_ROOTFS}/etc/network/if-up.d/dhcpv6_*
}
ROOTFS_POSTPROCESS_COMMAND += "disable_ipv6;"

# Flash space is limited and PIP will not be run
# However, it does not appear there is a way to prevent ensurepip from being installed,
# so simply delete it before the rootfs is packaged / compressed...
# Same goes for the various Python module test suites...
# ...and tutorial PDFs...
remove_spurious_files() {
	rm -rf ${IMAGE_ROOTFS}/usr/lib/python2.7/ensurepip
	rm -rf ${IMAGE_ROOTFS}/usr/lib/python2.7/ctypes/test
	rm -rf ${IMAGE_ROOTFS}/usr/lib/python2.7/email/test
	rm -rf ${IMAGE_ROOTFS}/usr/lib/python2.7/json/tests
	rm -rf ${IMAGE_ROOTFS}/usr/lib/python2.7/site-packages/cherrypy/test
	rm -rf ${IMAGE_ROOTFS}/usr/share/cherrypy/tutorial/
}

ROOTFS_POSTPROCESS_COMMAND += "remove_spurious_files;"

# Our root filesystem is read-only, so some directories need to be created before the
# rootfs is flashed onto the system
create_missing_directories() {
	mkdir ${IMAGE_ROOTFS}/mnt/data
}

ROOTFS_POSTPROCESS_COMMAND += "create_missing_directories;"
OpenPOWER on IntegriCloud