From: Henning Schild <work@hennsch.de>
To: isar-users@googlegroups.com
Cc: vijaikumar.kanagarajan@gmail.com,
Henning Schild <henning.schild@siemens.com>
Subject: [PATCH 1/2] meta-isar/raspbios: get rid of distro config script
Date: Thu, 3 Mar 2022 14:24:24 +0100 [thread overview]
Message-ID: <20220303132425.31172-1-work@hennsch.de> (raw)
From: Henning Schild <henning.schild@siemens.com>
All the steps are actually related to "imaging" and not to the rootfs.
Move stuff to imaging class and out of configure script.
Signed-off-by: Henning Schild <henning.schild@siemens.com>
---
meta-isar/classes/rpi-sdimg.bbclass | 31 ++++++++++++++++++-
meta-isar/conf/distro/raspios-bullseye.conf | 1 -
meta-isar/conf/distro/raspios-configscript.sh | 29 -----------------
3 files changed, 30 insertions(+), 31 deletions(-)
delete mode 100644 meta-isar/conf/distro/raspios-configscript.sh
diff --git a/meta-isar/classes/rpi-sdimg.bbclass b/meta-isar/classes/rpi-sdimg.bbclass
index 1efc1c405d9b..dde121d2616e 100644
--- a/meta-isar/classes/rpi-sdimg.bbclass
+++ b/meta-isar/classes/rpi-sdimg.bbclass
@@ -17,6 +17,7 @@ IMAGE_ROOTFS_ALIGNMENT = "4096"
SDIMG = "${DEPLOY_DIR_IMAGE}/${IMAGE_FULLNAME}.sdimg"
SDIMG_ROOTFS = "${DEPLOY_DIR_IMAGE}/${EXT4_IMAGE_FILE}"
+do_rpi_sdimg[cleandirs] = "${WORKDIR}/rpi_sdimg/"
do_rpi_sdimg () {
# Align partitions
ROOTFS_SIZE=$(du -b ${SDIMG_ROOTFS} | cut -f 1)
@@ -47,7 +48,22 @@ do_rpi_sdimg () {
BOOT_BLOCKS=$(LC_ALL=C parted -s ${SDIMG} unit b print | awk '/ 1 / { print substr($4, 1, length($4 -1)) / 512 /2 }')
rm -f ${WORKDIR}/boot.img
mkfs.vfat -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS
- mcopy -i ${WORKDIR}/boot.img -s ${IMAGE_ROOTFS}/boot/* ::/
+ cp -a ${IMAGE_ROOTFS}/boot ${WORKDIR}/rpi_sdimg/
+ cat > ${WORKDIR}/rpi_sdimg/boot/config.txt << EOF
+[pi3]
+# Restore UART0/ttyAMA0 over GPIOs 14 & 15
+dtoverlay=miniuart-bt
+
+[all]
+EOF
+
+ cat > ${WORKDIR}/rpi_sdimg/boot/cmdline.txt << EOF
+console=${MACHINE_SERIAL},${BAUDRATE_TTY} console=tty1 \
+root=/dev/mmcblk0p2 rootfstype=ext4 fsck.repair=yes \
+rootwait quiet
+EOF
+
+ mcopy -i ${WORKDIR}/boot.img -s ${WORKDIR}/rpi_sdimg/boot/* ::/
# Burn Partitions
dd if=${WORKDIR}/boot.img of=${SDIMG} conv=notrunc seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
@@ -55,3 +71,16 @@ do_rpi_sdimg () {
}
addtask rpi_sdimg before do_build after do_ext4_image
+
+do_ext4_image[prefuncs] += " append_boot_fstab"
+do_ext4_image[postfuncs] += " restore_fstab"
+
+append_boot_fstab() {
+ grep boot ${IMAGE_ROOTFS} && return 0
+ cp -f ${IMAGE_ROOTFS}/etc/fstab ${WORKDIR}/fstab.orig
+ echo "/dev/mmcblk0p1 /boot vfat defaults 0 2" | sudo tee -a ${IMAGE_ROOTFS}/etc/fstab
+}
+
+restore_fstab() {
+ sudo cp -f ${WORKDIR}/fstab.orig ${IMAGE_ROOTFS}/etc/fstab
+}
diff --git a/meta-isar/conf/distro/raspios-bullseye.conf b/meta-isar/conf/distro/raspios-bullseye.conf
index cf8cb8996d86..5e4a09c9d941 100644
--- a/meta-isar/conf/distro/raspios-bullseye.conf
+++ b/meta-isar/conf/distro/raspios-bullseye.conf
@@ -16,7 +16,6 @@ DISTRO_APT_SOURCES_arm64 ?= "conf/distro/raspios-bullseye-64.list"
DISTRO_BOOTSTRAP_KEYS = "http://raspbian.raspberrypi.org/raspbian.public.key;sha256sum=ca59cd4f2bcbc3a1d41ba6815a02a8dc5c175467a59bd87edeac458f4a5345de"
DISTRO_BOOTSTRAP_KEYS_arm64 = ""
-DISTRO_CONFIG_SCRIPT ?= "${LAYERDIR_isar}/conf/distro/raspios-configscript.sh"
DISTRO_KERNELS ?= "kernel kernel7 kernel7l kernel8"
THIRD_PARTY_APT_KEYS += "http://archive.raspberrypi.org/debian/raspberrypi.gpg.key;sha256sum=76603890d82a492175caf17aba68dc73acb1189c9fd58ec0c19145dfa3866d56"
diff --git a/meta-isar/conf/distro/raspios-configscript.sh b/meta-isar/conf/distro/raspios-configscript.sh
deleted file mode 100644
index 6120a379c75e..000000000000
--- a/meta-isar/conf/distro/raspios-configscript.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-#
-# This software is a part of ISAR.
-# Copyright (C) 2022 ilbers GmbH
-
-set -e
-
-readonly MACHINE_SERIAL="$1"
-readonly BAUDRATE_TTY="$2"
-
-cat > /boot/config.txt << EOF
-[pi3]
-# Restore UART0/ttyAMA0 over GPIOs 14 & 15
-dtoverlay=miniuart-bt
-
-[all]
-EOF
-
-cat > /boot/cmdline.txt << EOF
-console=${MACHINE_SERIAL},${BAUDRATE_TTY} console=tty1 \
-root=/dev/mmcblk0p2 rootfstype=ext4 fsck.repair=yes \
-rootwait quiet
-EOF
-
-cat > /etc/fstab << EOF
-proc /proc proc defaults 0 0
-/dev/mmcblk0p1 /boot vfat defaults 0 2
-/dev/mmcblk0p2 / ext4 defaults,noatime 0 1
-EOF
--
2.34.1
next reply other threads:[~2022-03-03 13:24 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-03 13:24 Henning Schild [this message]
2022-03-03 13:24 ` [PATCH 2/2] meta-isar/rpi-sdimg: take boot content out of rootfs Henning Schild
2022-03-03 13:47 ` [PATCH 1/2] meta-isar/raspbios: get rid of distro config script Henning Schild
2022-03-17 13:51 ` Anton Mikanovich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220303132425.31172-1-work@hennsch.de \
--to=work@hennsch.de \
--cc=henning.schild@siemens.com \
--cc=isar-users@googlegroups.com \
--cc=vijaikumar.kanagarajan@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox