blob: 34337250e41dd077602bc1da91377dd7fec2a83a (
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
|
SUMMARY = "Basic console-based gateway image"
IMAGE_FEATURES += "splash package-management ssh-server-openssh hwcodecs"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
inherit core-image distro_features_check extrausers
SRC_URI = "\
file://25-bt-6lowpan.network \
file://modules-gateway.conf \
file://sysctl-gateway.conf \
"
# let's make sure we have a good image..
REQUIRED_DISTRO_FEATURES = "pam systemd"
# Base packages
CORE_IMAGE_BASE_INSTALL += " \
96boards-tools \
coreutils \
cpufrequtils \
gptfdisk \
hostapd \
htop \
iptables \
kernel-modules \
networkmanager \
networkmanager-nmtui \
${@bb.utils.contains("MACHINE_FEATURES", "optee", "optee-test optee-client", "", d)} \
rsync \
sshfs-fuse \
"
CORE_IMAGE_BASE_INSTALL += " \
docker \
bluez5-noinst-tools \
linux-firmware-ar3k \
linux-firmware-ath9k \
linux-firmware-ath10k \
linux-firmware-qca \
linux-firmware-wl18xx \
openssh-sftp-server \
packagegroup-core-full-cmdline-utils \
packagegroup-core-full-cmdline-extended \
packagegroup-core-full-cmdline-multiuser \
python3-compression \
python3-distutils \
python3-docker \
python3-json \
python3-netclient \
python3-pkgutil \
python3-shell \
python3-subprocess \
python3-unixadmin \
pciutils \
strace \
tcpdump \
vim-tiny \
"
fakeroot do_populate_rootfs_src () {
# Allow sudo group users to use sudo
echo "%sudo ALL=(ALL) ALL" >> ${IMAGE_ROOTFS}/etc/sudoers
# Local configs that are specific to this image
cp ${WORKDIR}/25-bt-6lowpan.network ${IMAGE_ROOTFS}/etc/systemd/network/
cp ${WORKDIR}/modules-gateway.conf ${IMAGE_ROOTFS}/etc/modules-load.d/
cp ${WORKDIR}/sysctl-gateway.conf ${IMAGE_ROOTFS}/etc/sysctl.d/
# Disable bluetooth service by default (allow to be contained in docker)
ln -sf /dev/null ${IMAGE_ROOTFS}/etc/systemd/system/bluetooth.service
# Useful for development
echo 'export PATH=$PATH:/sbin' >> ${IMAGE_ROOTFS}/home/osf/.bashrc
}
IMAGE_PREPROCESS_COMMAND += "do_populate_rootfs_src; "
addtask rootfs after do_unpack
python () {
# Ensure we run these usually noexec tasks
d.delVarFlag("do_fetch", "noexec")
d.delVarFlag("do_unpack", "noexec")
}
# docker pulls runc/containerd, which in turn recommend lxc unecessarily
BAD_RECOMMENDATIONS_append = " lxc"
EXTRA_USERS_PARAMS = "\
useradd -P osf osf; \
usermod -a -G docker,sudo,users,plugdev osf; \
"
|