basic Helium distro config
This commit is contained in:
parent
022217c1e2
commit
b5a3287410
39
conf/distro/helium.conf
Normal file
39
conf/distro/helium.conf
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
DISTRO = "helium"
|
||||||
|
DISTRO_NAME = "helium-linux"
|
||||||
|
DISTRO_VERSION = "0.0.1"
|
||||||
|
DISTRO_CODENAME = "abisko"
|
||||||
|
|
||||||
|
TARGET_VENDOR = "-helium"
|
||||||
|
MACHINE_SANE = "${@d.getVar('MACHINE').replace('-', '_')}"
|
||||||
|
SDK_VENDOR = "-helium.${MACHINE_SANE}_sdk"
|
||||||
|
SDK_VERSION = "${@d.getVar('DISTRO_VERSION').replace('snapshot-${METADATA_REVISION}', 'snapshot')}"
|
||||||
|
SDK_VERSION[vardepvalue] = "${SDK_VERSION}"
|
||||||
|
|
||||||
|
MAINTAINER = "Grzegorz Kowalski <g.kowalski@isbt.se>"
|
||||||
|
|
||||||
|
IMAGE_FSTYPES = "cpio.gz"
|
||||||
|
QB_DEFAULT_FSTYPE = "cpio.gz"
|
||||||
|
|
||||||
|
# C Library
|
||||||
|
TCLIBC = "musl"
|
||||||
|
TCLIBCAPPEND = ""
|
||||||
|
|
||||||
|
# drop native language support
|
||||||
|
USE_NLS="no"
|
||||||
|
IMAGE_LINGUAS = ""
|
||||||
|
|
||||||
|
VIRTUAL-RUNTIME_init_manager ?= "busybox"
|
||||||
|
VIRTUAL-RUNTIME_login_manager ?= "busybox"
|
||||||
|
|
||||||
|
# distro config
|
||||||
|
DISTRO_FEATURES += "ipv4 ipv6 nfs seccomp ldconfig"
|
||||||
|
PACKAGE_CLASSES ?= "package_ipk"
|
||||||
|
require conf/distro/include/no-static-libs.inc
|
||||||
|
require conf/distro/include/security_flags.inc
|
||||||
|
require conf/distro/include/yocto-uninative.inc
|
||||||
|
INHERIT += "uninative"
|
||||||
|
|
||||||
|
# SDK
|
||||||
|
SDK_NAME = "${DISTRO}-${MACHINE}-${SDK_ARCH}-${TARGET_ARCH}"
|
||||||
|
SDKPATHINSTALL = "/opt/isbt/${DISTRO}-sdk/${MACHINE}/${SDK_VERSION}"
|
||||||
|
SDKMACHINE ?= "x86_64"
|
||||||
18
conf/layer.conf
Normal file
18
conf/layer.conf
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# We have a conf and classes directory, add to BBPATH
|
||||||
|
BBPATH .= ":${LAYERDIR}"
|
||||||
|
|
||||||
|
# We have recipes-* directories, add to BBFILES
|
||||||
|
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
|
||||||
|
${LAYERDIR}/recipes-*/*/*.bbappend"
|
||||||
|
|
||||||
|
BBFILE_COLLECTIONS += "helium"
|
||||||
|
BBFILE_PATTERN_helium = "^${LAYERDIR}/"
|
||||||
|
BBFILE_PRIORITY_helium = "6"
|
||||||
|
|
||||||
|
# This should only be incremented on significant changes that will
|
||||||
|
# cause compatibility issues with other layers
|
||||||
|
LAYERVERSION_helium = "2"
|
||||||
|
|
||||||
|
|
||||||
|
LAYERDEPENDS_helium = "core openembedded-layer networking-layer"
|
||||||
|
LAYERSERIES_COMPAT_helium = "langdale mickledore"
|
||||||
@ -0,0 +1,5 @@
|
|||||||
|
# Missing dependency
|
||||||
|
DEPENDS += " nss"
|
||||||
|
|
||||||
|
# WiFi is machine feature, not distro one
|
||||||
|
PACKAGECONFIG += "${@bb.utils.contains('MACHINE_FEATURES', 'wifi', ' wifi', '', d)}"
|
||||||
75
recipes-core/images/helium-image-default.bb
Normal file
75
recipes-core/images/helium-image-default.bb
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
SUMMARY = "Helium default image"
|
||||||
|
LICENSE = "MIT"
|
||||||
|
|
||||||
|
#DISTRO := "helium"
|
||||||
|
|
||||||
|
inherit core-image
|
||||||
|
inherit image-buildinfo
|
||||||
|
|
||||||
|
# base system packages
|
||||||
|
OS_BASE = " \
|
||||||
|
base-files \
|
||||||
|
base-passwd \
|
||||||
|
busybox \
|
||||||
|
busybox-syslog \
|
||||||
|
initscripts \
|
||||||
|
netbase \
|
||||||
|
networkmanager \
|
||||||
|
networkmanager-nmtui \
|
||||||
|
init-ifupdown \
|
||||||
|
tzdata \
|
||||||
|
"
|
||||||
|
|
||||||
|
# standard userspace tools
|
||||||
|
OS_TOOLS = " \
|
||||||
|
dropbear \
|
||||||
|
less \
|
||||||
|
htop \
|
||||||
|
screen \
|
||||||
|
nano \
|
||||||
|
"
|
||||||
|
|
||||||
|
# helium base packages
|
||||||
|
HELIUM_BASE = " \
|
||||||
|
"
|
||||||
|
|
||||||
|
# helium extra tools
|
||||||
|
HELIUM_TOOLS = " \
|
||||||
|
"
|
||||||
|
|
||||||
|
IMAGE_INSTALL += " \
|
||||||
|
${OS_BASE} \
|
||||||
|
${OS_TOOLS} \
|
||||||
|
${HELIUM_BASE} \
|
||||||
|
${HELIUM_TOOLS} \
|
||||||
|
"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
IMAGE_FEATURES += "\
|
||||||
|
ssh-server-dropbear \
|
||||||
|
package-management \
|
||||||
|
"
|
||||||
|
|
||||||
|
# default user/password config
|
||||||
|
inherit extrausers
|
||||||
|
HELIUM_UID = "1000"
|
||||||
|
HELIUM_GID = "1000"
|
||||||
|
HELIUM_PASSWD = "\$1\$BFS1T2Yb\$umbig5XRyIOVrFGS1phly0"
|
||||||
|
HELIUM_ROOT_PASSWD = "\$1\$IgVsR0cM\$WUkg3Nd.1bAGLWjf9.t.3/"
|
||||||
|
EXTRA_USERS_PARAMS = "\
|
||||||
|
groupadd -g ${HELIUM_GID} helium; \
|
||||||
|
useradd -p '${HELIUM_PASSWD}' -g helium -u ${HELIUM_UID} helium; \
|
||||||
|
usermod -p '${HELIUM_ROOT_PASSWD}' root; \
|
||||||
|
"
|
||||||
|
|
||||||
|
# image manifest - list of installed packages
|
||||||
|
ROOTFS_POSTUNINSTALL_COMMAND += ";add_image_manifest"
|
||||||
|
add_image_manifest() {
|
||||||
|
cp ${IMAGE_MANIFEST} ${IMAGE_ROOTFS}/etc/image_manifest
|
||||||
|
}
|
||||||
|
|
||||||
|
IMAGE_FSTYPES = "cpio.gz"
|
||||||
|
# Apparently we're using initamfs as rootfs (?)
|
||||||
|
# Allow it to grow big (limited to 4GB for now)
|
||||||
|
INITRAMFS_MAXSIZE = "4194304"
|
||||||
13
recipes-core/initscripts/initscripts/hidepid.sh
Normal file
13
recipes-core/initscripts/initscripts/hidepid.sh
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
. /etc/init.d/functions
|
||||||
|
|
||||||
|
# remount /proc with hidepid option making other users' processes invisible
|
||||||
|
# additionaly harden /proc a little bit more
|
||||||
|
PROCOPTS="rw,nosuid,nodev,noexec,relatime,hidepid=2"
|
||||||
|
if mount -o remount,$PROCOPTS /proc; then
|
||||||
|
success()
|
||||||
|
echo " /proc remouted with $PROCOPTS"
|
||||||
|
else
|
||||||
|
failure()
|
||||||
|
echo "/proc not remounted, hidepid not enabled"
|
||||||
|
fi
|
||||||
9
recipes-core/initscripts/initscripts_%.bbappend
Normal file
9
recipes-core/initscripts/initscripts_%.bbappend
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
|
||||||
|
|
||||||
|
SRC_URI = "file://hidepid.sh"
|
||||||
|
S = "${WORKDIR}"
|
||||||
|
|
||||||
|
do_install:append () {
|
||||||
|
install -m 0755 ${WORKDIR}/hidepid.sh ${D}${sysconfdir}/init.d
|
||||||
|
update-rc.d -r ${D} hidepid.sh start 10 S .
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user