Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scarthgap #160

Open
wants to merge 81 commits into
base: master
Choose a base branch
from
Open

Scarthgap #160

wants to merge 81 commits into from

Conversation

htot
Copy link
Member

@htot htot commented Jan 27, 2025

This updates from Yocto Kirkstone -> Langdale -> Mickledore -> Nanbield -> Scarthgap which is a LTS .

What's new is here.

htot added 30 commits December 4, 2023 22:06
This flag is not standard for Yocto and for "Langdale" breaks building libgcc-initial:
unwind.inc:141:1: sorry, unimplemented: Stack realignment not supported with '__builtin_eh_return'
As it only causes unnecessary overhead drop it globally.

Signed-off-by: Ferry Toth <[email protected]>
Support for building Yocto under windows is not available anyway

Signed-off-by: Ferry Toth <[email protected]>
This fork of ninja it participate in the make jobserver pool.

Signed-off-by: Ferry Toth <[email protected]>
While here rename wifi firmware to
'brcmfmac43340-sdio.Intel Corporation-Merrifield.bin' as kernel prefers.

Signed-off-by: Ferry Toth <[email protected]>
It appears HOSTGCC is ignored which should be calling gcc-native. So
-fcanon-prefix-map is not always supported as it is introduced in gcc 13.
Override LDFLAGS by BUILD_LDFLAGS to suppress it.

Signed-off-by: Ferry Toth <[email protected]>
Sometimes the non-blocking writer is closed. Open one to make there is
at least one available.

Signed-off-by: Ferry Toth <[email protected]>
This applies only to 5.69 as used in nanbield. This fixes our
bluetooth_bd_addr.sh that loads the correct public-addr into the
BCM43341B0 bluetooth module. Without a valid public-addr the
kernel driver will not initialize.

Signed-off-by: Ferry Toth <[email protected]>
This make bash goto begin/end line with Home/End and
move word forward/backeward with c-arrowleft/c-arrowright.
Works on both Gtkterm and xterm.

Signed-off-by: Ferry Toth <[email protected]>
Signed-off-by: Ferry Toth <[email protected]>
htot added 26 commits December 21, 2024 21:39
The script looks for files in build_dir, print it so the user is aware
of the location.

Signed-off-by: Ferry Toth <[email protected]>
U-boot has picked up detection of uncommited changes from Linux. Switch to
using git instead of quilt to apply patches, and disable localversion to
prevent the version to be extended with the last patches hash.

Signed-off-by: Ferry Toth <[email protected]>
xlt2tpd is pulled in by connman-vpn but as it is not correctly configured
it errors and the service won't start. This append makes it a systemd service and
then disables that.

If needed in the future configuration bits should be added here.

Signed-off-by: Ferry Toth <[email protected]>
The shell script broke long ago due to the change to btrfs.
This fix should restore the original behavior by checking
the free space on /. This is assuming /var/log is on / which
is currently the case.

Signed-off-by: Ferry Toth <[email protected]>
In our default configuration the journal is not persistant
so this issue remains under the radar. However when making the journal
persistant (by `mkdir /var/log/journal`) it fill up on each reboot.
In the original behavior the journal got shutdown before reboot.
That got dropped by 6724d49 when fixing reboot params behavior.

Signed-off-by: Ferry Toth <[email protected]>
It appears somewhere since Dunfell selection of init manager was
simplified, but we missed that. As result SysV initscripts
are also being installed. Now it seems these scripts are conflicting
systemd in some cases (umountfs and umountnfs).
Setting INIT_MANAGER to systemd fixes this and also sets certain
DISTRO_FEATURES that we do no longer need to explicitely set.

Signed-off-by: Ferry Toth <[email protected]>
Currently makeing a snapshot of a dir with a subvolume in it
leave a empty directory with the name of the subvolume.
Delete it. While here, current filesystem hierarchy has an
additional /srv dir, that should be removed from the top level
sub volume.

Signed-off-by: Ferry Toth <[email protected]>
Yocto switched to using Ninja by default, however that is broken
for xfstk

Signed-off-by: Ferry Toth <[email protected]>
…ount

udevd stubbornly holds files open on /usr/lib/modules causing umounting
to fail cleanly. This kills the sockets that trigger udevd to (re)start
then stops systemd-udevd.

Not the nicest solution. Suggestions for improvement welcome.

Signed-off-by: Ferry Toth <[email protected]>
errors - show lines marked as error in the journal
warnings - show lines marked as warning in the journal

Signed-off-by: Ferry Toth <[email protected]>
This silences a warning:
systemd-udevd.service: ProtectHostname=yes is configured, but the kernel
does not support UTS namespaces, ignoring namespace setup.
This also bring support for other name spaces (TIME, IPC, PID, NET)
It supposedly brings security advantages hopefully without substantial
costs.

Signed-off-by: Ferry Toth <[email protected]>
As PREEMPT-RT is now in mainline we can enable it with a DISTRO_FEATURES
("rt"). The extra recipe was to distinguish between special SRC_URI which
is no longer needed (for X86).

Signed-off-by: Ferry Toth <[email protected]>
Move altboot.sh to the proper location. While here
expand the syntax to make it suitable for variant (preempt-rt)
kernels with the same version number.

Signed-off-by: Ferry Toth <[email protected]>
Signed-off-by: Ferry Toth <[email protected]>
Patch refresh for scarthgap

Signed-off-by: Ferry Toth <[email protected]>
Need to wait a bit longer

Signed-off-by: Ferry Toth <[email protected]>
After flashall likely the usb cable is still connected so
if the host has network sharing configured we might be able
to create a cdc (network over usb) connection.

Signed-off-by: Ferry Toth <[email protected]>
Signed-off-by: Ferry Toth <[email protected]>
Signed-off-by: Ferry Toth <[email protected]>
@htot htot requested a review from andy-shev January 27, 2025 21:36
@htot htot self-assigned this Jan 27, 2025
@@ -21,6 +21,7 @@
NewArgv.append(i)

if seen:
w = os.open(fifoname, os.O_WRONLY|os.O_NONBLOCK)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But is this w used anywhere? You can run pylint to see the warning it issues on this line (of course it may be more on the rest).

Copy link
Contributor

@andy-shev andy-shev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have done a brief review, comments here and there and some can be addressed.


# Disable sysvinit for recipes with systemd support
DISTRO_FEATURES_BACKFILL_CONSIDERED += "sysvinit"
VIRTUAL-RUNTIME_initscripts = ""
VIRTUAL-RUNTIME_init_manager = "systemd"

# This builds tools and python3 bindings for libgpiod
PREFERRED_VERSION_libgpiod = "2.0"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't this line be in one of the previous patches (WRT libgpiod removal)?

setup.sh Outdated
@@ -320,7 +320,8 @@ COPYLEFT_LICENSE_INCLUDE = 'GPL* LGPL*'
echo "Cloning meta-qt5 layer to ${oe_dir} directory from local cache"
git clone ${my_dl_dir}/meta-qt5-mirror.git meta-qt5
cd ${oe_dir}
git checkout ${yocto_tag}
# git checkout ${yocto_tag}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this a temporary w/a?

@@ -7,7 +7,7 @@

dirs="bin boot dev etc home lib media mnt opt proc run sbin sketch sys tmp usr var"
deploy_dir=tmp/deploy/images/edison
image_name=edison-image-edison
image_name=edison-image-edison.rootfs
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Commit message doesn't explain why. What will this help with?

@@ -70,7 +70,7 @@ SRC_URI:append = " file://0044-REVERTME-usb-dwc3-gadget-skip-endpoints-ep-18-in-
SRC_URI:append = " file://0001-8250_mid-arm-rx-dma-on-all-ports-with-dma-continousl.patch"
SRC_URI:append = " file://0001a-serial-8250_dma-use-linear-buffer-for-transmit.patch"
SRC_URI:append = " file://0001-serial-8250_port-when-using-DMA-do-not-split-writes-.patch"
SRC_URI:append = " file://0001-usb-dwc3-core-Fix-dwc3_core_soft_reset-before-anythi.patch"
SRC_URI:append = " file://0001a-usb-dwc3-core-Fix-dwc3_core_soft_reset-before-anythi.patch"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, hopefully we will have eventually proper solution in v6.15-rc1.

StandardOutput=journal+console
StandardError=journal
# Redirect stdin to ensure btmgmt doesn't hang
StandardInput=tty
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, it would be nice to understand the root cause. I believe systemd has another (out of zillion) configuration parameter for such a case (like you don't need to specify tty explicitly). But it's all based on my pure speculation.

@@ -19,6 +19,7 @@ TARGET_CC_ARCH += "${LDFLAGS}"
EXTRA_OECMAKE += " -DWARNING_AS_ERROR=OFF -DOE_QMAKE_PATH_EXTERNAL_HOST_BINS='${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}'"

OECMAKE_TARGET_COMPILE = "xfstk-dldr-solo"
OECMAKE_GENERATOR = "Unix Makefiles"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AFAIU this doesn't need to be handled in xFSTK project itself, correct?


Current u-boot recipe in kirkstone fails during do_configure because
Current u-boot recipe in scarthgap fails during do_configure because
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm... Shouldn't be this fixed in the Yocto Poky? Or did I get this incorrectly?

@@ -74,5 +74,5 @@ echo 120 > configs/c.1/MaxPower

# Activate gadgets
echo dwc3.0.auto > UDC
sleep 1
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Basically you need to watch for a file in sysfs to appear (but which file, I don't know, perhaps the one that gives a new interface under net?).

    # Wait until the interface has come up
    for pass in $(seq 3); do
        for eth in $(find /sys/class/net -type l -name 'eth*' -exec basename {} \;); do

win32)
extra_conf="SDKMACHINE = \"i686-mingw32\""
;;
win64)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does anybody try to build it under WSL2? I am just curious...

install -v -d ${D}/lib/firmware/brcm/
install -m 0755 edison-firmware/broadcom_cws/wlan/firmware/bcmdhd_aob.cal_4334x_b0 ${D}/lib/firmware/brcm/brcmfmac43340-sdio-fr.txt
install -m 0755 edison-firmware/broadcom_cws/wlan/firmware/bcmdhd.cal_4334x_b0 '${D}/lib/firmware/brcm/brcmfmac43340-sdio.Intel Corporation-Merrifield.txt'
install -m 0755 linux-firmware/cypress/cyfmac43340-sdio.bin ${D}/lib/firmware/brcm/brcmfmac43340-sdio.bin
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Cypress FW are available in linux-firmware repository, I'm wondering why we don't use them directly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants