aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-bsp/bootfiles/rpi-cmdline.bb
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-bsp/bootfiles/rpi-cmdline.bb')
-rw-r--r--recipes-bsp/bootfiles/rpi-cmdline.bb74
1 files changed, 74 insertions, 0 deletions
diff --git a/recipes-bsp/bootfiles/rpi-cmdline.bb b/recipes-bsp/bootfiles/rpi-cmdline.bb
new file mode 100644
index 0000000..a22f50d
--- /dev/null
+++ b/recipes-bsp/bootfiles/rpi-cmdline.bb
@@ -0,0 +1,74 @@
+SUMMARY = "cmdline.txt file used to boot the kernel on a Raspberry Pi device"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+COMPATIBLE_MACHINE = "^rpi$"
+INHIBIT_DEFAULT_DEPS = "1"
+inherit deploy nopackages
+
+CMDLINE_DWC_OTG ?= "dwc_otg.lpm_enable=0"
+
+CMDLINE_ROOT_FSTYPE ?= "rootfstype=ext4"
+CMDLINE_ROOT_PARTITION ?= "/dev/mmcblk0p2"
+
+CMDLINE_ROOTFS ?= "root=${CMDLINE_ROOT_PARTITION} ${CMDLINE_ROOT_FSTYPE} rootwait"
+
+CMDLINE_SERIAL ?= "${@oe.utils.conditional("ENABLE_UART", "1", "console=serial0,115200", "", d)}"
+
+CMDLINE_PITFT ?= "${@bb.utils.contains("MACHINE_FEATURES", "pitft", "fbcon=map:10 fbcon=font:VGA8x8", "", d)}"
+
+# Add the kernel debugger over console kernel command line option if enabled
+CMDLINE_KGDB ?= '${@oe.utils.conditional("ENABLE_KGDB", "1", "kgdboc=serial0,115200", "", d)}'
+
+# Disable rpi logo on boot
+CMDLINE_LOGO ?= '${@oe.utils.conditional("DISABLE_RPI_BOOT_LOGO", "1", "logo.nologo", "", d)}'
+
+# You can define CMDLINE_DEBUG as "debug" in your local.conf or distro.conf
+# to enable kernel debugging.
+CMDLINE_DEBUG ?= ""
+
+# Add a request to isolate processors from the Linux scheduler. ISOLATED_CPUS
+# may have the form of a comma separated list of processor numbers "0,1,3", a
+# range "0-2", a combination of the two "0-1,3", or a single processor you may
+# not specify ALL processors simultaneously
+def setup_isolcpus(d):
+ string = ""
+ if d.getVar('ISOLATED_CPUS'):
+ string = 'isolcpus=' + d.getVar('ISOLATED_CPUS')
+ return string
+
+CMDLINE_ISOL_CPUS ?= "${@setup_isolcpus(d)}"
+
+# Add RNDIS capabilities (must be after rootwait)
+# example:
+# CMDLINE_RNDIS = "modules-load=dwc2,g_ether g_ether.host_addr=<some MAC
+# address> g_ether.dev_addr=<some MAC address>"
+# if the MAC addresses are omitted, random values will be used
+CMDLINE_RNDIS ?= ""
+
+CMDLINE = " \
+ ${CMDLINE_ISOL_CPUS} \
+ ${CMDLINE_DWC_OTG} \
+ ${CMDLINE_SERIAL} \
+ ${CMDLINE_ROOTFS} \
+ ${CMDLINE_CMA} \
+ ${CMDLINE_KGDB} \
+ ${CMDLINE_LOGO} \
+ ${CMDLINE_PITFT} \
+ ${CMDLINE_DEBUG} \
+ ${CMDLINE_RNDIS} \
+ "
+
+do_compile() {
+ echo "${@' '.join(d.getVar('CMDLINE').split())}" > "${WORKDIR}/cmdline.txt"
+}
+
+do_deploy() {
+ install -d "${DEPLOYDIR}/${BOOTFILES_DIR_NAME}"
+ install -m 0644 "${WORKDIR}/cmdline.txt" "${DEPLOYDIR}/${BOOTFILES_DIR_NAME}"
+}
+
+addtask deploy before do_build after do_install
+do_deploy[dirs] += "${DEPLOYDIR}/${BOOTFILES_DIR_NAME}"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"