surpport seeking the recorded video
[vuplus_openembedded] / recipes / images / base-image.bb
1 # This image is intended to provide a basic configuration that allows
2 # you to access a newly flashed device over the network or via the
3 # native console, and use ipkg to install (from feeds accessible via
4 # the network) any further features you require into internal flash
5 # memory or onto attached storage.
6
7 # It should be as small as possible, while still achieving that goal.
8
9 # The rationale for naming it 'base-image' is that this image is the
10 # base upon which you can install any other functionality you desire.
11
12 # See the end of this file for further rationale and policy regarding
13 # the contents of this image, and the criteria which are used to make
14 # decisions about adding and removing packages from this image.
15
16 # Although it is only fully tested with the Angstrom distro, this
17 # image is intended to be distro-agnostic.
18
19 IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
20
21 DISTRO_SSH_DAEMON ?= "dropbear"
22
23 DISTRO_PACKAGE_MANAGER ?= "ipkg ipkg-collateral"
24
25 # FIXME: We need a distro-indendent way of specifying feed configs.
26 # Once the RFC for the DISTRO_FEED_CONFIGS variable name is approved,
27 # we can remove this default definition and set it in the distro config.
28 DISTRO_FEED_CONFIGS ?= "${ANGSTROM_FEED_CONFIGS}"
29
30 DEPENDS = "\
31         task-boot \
32         ${DISTRO_SSH_DAEMON} \
33         ${DISTRO_PACKAGE_MANAGER} \
34         ${DISTRO_FEED_CONFIGS} \
35         ${@base_contains('MACHINE_FEATURES', 'ext2', 'task-base-ext2', '', d)} \
36         ${@base_contains('MACHINE_FEATURES', 'usbhost', 'task-base-usbhost', '', d)} \
37         "
38
39 IMAGE_INSTALL = "\
40         task-boot \
41         ${DISTRO_SSH_DAEMON} \
42         ${DISTRO_PACKAGE_MANAGER} \
43         ${DISTRO_FEED_CONFIGS} \
44         ${@base_contains('MACHINE_FEATURES', 'ext2', 'task-base-ext2', '', d)} \
45         ${@base_contains('MACHINE_FEATURES', 'usbhost', 'task-base-usbhost', '', d)} \
46         "
47
48 export IMAGE_BASENAME = "base-image"
49 IMAGE_LINGUAS = ""
50
51 inherit image
52
53 # Key features of this image are:
54
55 # 1) Must be able to mount attached storage devices like SD cards, CF
56 # cards, internal disks, external USB disks, etc.  Should support
57 # various filesystem choices, but ext2 at a minimum.  The rationale
58 # for this is that you need storage to be able to install significant
59 # new functionality.
60
61 # 2) Must be able to boot from internal flash, or directly from a
62 # filesystem stored on the attached storage.  The rationale for this
63 # is that you will want to boot from attached storage instead of
64 # messing around with ipkg-link.
65
66 # Rationale and policy:
67
68 # 'base-image' is the smallest possible image which allows you to ssh
69 # into a device via it's native network interface, and install
70 # packages from feeds across the network into internal flash or onto
71 # an attached storage device.
72
73 # It is "larger" than minimal-image (which is strictly only that which
74 # is required to boot and get ssh access to the device, and nothing
75 # else), but is "smaller" than console-image (which has a whole lot of
76 # stuff in it which could easily be ipkg installed after boot rather
77 # than being in the initial rootfs).
78
79 # It is required to always be small enough to fit in the internal
80 # flash rootfs partition of an NSLU2 (as an example of the smaller end
81 # of flash sizes that OE supports), and features will be removed from
82 # the image to ensure that this is always the case.  Any feature that
83 # can be installed over the network using the package manager after
84 # the first boot is always fair game for removal at any time, and
85 # patches are welcome to make base-image as small as possible while
86 # still retaining the ability to subsequently install that feature.