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
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
5f64928
setup.sh: switch to Langdale
htot Dec 2, 2023
c58b347
CCFLAGS: remove -mstackrealign
htot Dec 4, 2023
8454877
zlib: remove recipe as meta-oe provides newer
htot Dec 4, 2023
99a9257
Merge Langdale into master
htot Dec 4, 2023
93f8945
setup.sh: switch to Micledore
htot Dec 5, 2023
c933c1b
setup: drop mingw support
htot Dec 5, 2023
bc0f75b
ninja: enable jobserver support
htot Dec 5, 2023
2b70f4f
make: jobserver support update for make 4.4 named pipes
htot Dec 5, 2023
ace6ce8
ninja: enable jobserver support for make 4.4 named pipes
htot Dec 5, 2023
de079a6
Merge Mickledore into master
htot Dec 22, 2023
f7be78a
setup.sh: switch to Nanbield
htot Dec 22, 2023
bbab648
bcm43340-fw: don't hardcode libdir as needed for usrmerge
htot Dec 23, 2023
1a2260b
sof-fw: don't hardcode libdir as needed for usrmerge
htot Dec 23, 2023
b03a7a3
systemd: add patch upstream status
htot Dec 23, 2023
1bfd224
u-boot-mkimage: host gcc does not always support -fcanon-prefix-map
htot Dec 23, 2023
5b4338b
ninja: open jobserver FIFO as O_NONBLOCK
htot Dec 23, 2023
b7202dc
libgpiod: remove recipe as meta-oe provides newer
htot Dec 24, 2023
09f6773
python3-gpiod: remove recipe as meta-python provides newer
htot Dec 24, 2023
98a1c17
post-install: don't hardcode sbindir as needed for usrmerge
htot Dec 24, 2023
69b2a57
poky-edison: enable usrmerge
htot Dec 24, 2023
104f888
meta-qt5: [revertme] checkout master while nanbield awaits release
htot Dec 24, 2023
b0add1b
postbuild: fix image names now include rootfs
htot Dec 24, 2023
fb9b213
bluez5: shared/shell: Fix --init-script commandline option
htot Dec 28, 2023
2e815c5
inputrc: use a inputrc with sane defaults
htot Dec 28, 2023
02d2b2f
docs: fix meta-intel-edison.sources [deb822 format]
htot Dec 28, 2023
7f9a77e
bottle: update to 0.12.25
htot Dec 28, 2023
de3b352
Merge commit Nanbield
htot Dec 28, 2023
c9b8aed
xapian-core: add xapian-core from meta-qt5-extra
htot Jan 25, 2024
e8d81ba
cwidget: package sources from debian
htot Jan 31, 2024
b841380
aptitude: package sources from debian
htot Jan 31, 2024
f1c5ed8
edison-image: add aptitude TUI package manager
htot Jan 31, 2024
df7e867
Merge branch 'aptitude'
htot Jan 31, 2024
b942217
setup.sh: switch to Scarthgap
htot May 19, 2024
f7c8e96
bluez: patch no longer needed
htot May 21, 2024
2e6c438
core-image-minimal-initramfs: clobber unused python
htot May 21, 2024
9268ad7
layer.conf: change BBFILES := to +=
htot May 24, 2024
4a1c05f
linux-yocto: update 6.1.y LTS to 6.6.y
htot Feb 1, 2024
27a7683
linux-yocto: update 6.1.y-rt LTS to 6.6.y-rt
htot Feb 1, 2024
bbd653b
linux-yocto: update testing from 6.6.0 to 6.9.0
htot Feb 1, 2024
9123f0f
linux-yocto: fix current kernel
htot May 25, 2024
97b836e
linux-yocto: clean up unneeded patches
htot Mar 11, 2024
8a84db5
linux-yocto: update kernel
htot May 25, 2024
8c340e0
inputrc: fix inputrc
htot May 25, 2024
913275a
8250_mid: all rx dma patch refresh
htot Jul 30, 2024
63ae5a4
linux: change naming scheme
htot Jul 30, 2024
31a63cc
bluetooth_bd_addr: fix bluez tools hang when stdin is /dev/null
htot Oct 20, 2024
1cbd697
battery-voltage: use libiio to acces the ADC
htot Oct 21, 2024
279977e
CONFIG: move CONFIG_I2C_DESIGNWARE_CORE to INTEL_MID
htot Oct 29, 2024
dcfe9df
CONFIG: CONFIG_DW_DMA built-in
htot Oct 29, 2024
ca05295
bluetooth_bd_addr: fix bluez tools hang when stdin is /dev/null
htot Oct 29, 2024
764d2da
linux-yocto: change naming scheme
htot Nov 1, 2024
d349fd8
linux-yocto: intel_scu_ipc fixes for v6.12
htot Nov 1, 2024
5997701
linux-yocto: clean up unneeded patches
htot Nov 1, 2024
a942079
linux-yocto: change naming scheme
htot Nov 1, 2024
4de46dc
poky-edison: make PREEMPT-RT a DISTRO_FEATURES option
htot Nov 1, 2024
1778047
btrfsFlashOta: print build_dir
htot Nov 1, 2024
45c0317
u-boot: update to v2024.10
htot Nov 3, 2024
f27d400
fstab: fix errors from systemd
htot Nov 18, 2024
9e6ffa2
xlt2pd: convert to systemd service and disable
htot Nov 18, 2024
2e9c3ee
clean_journal: fix ref to partition
htot Nov 24, 2024
2e784d8
systemd: stop journald service before reboot
htot Nov 24, 2024
64098e4
INIT_MANAGER: get rid of SysV traces
htot Dec 6, 2024
9d80092
btrfsSnapshot.sh: clean left over dirs
htot Dec 7, 2024
946c1f9
xfstk: force build with make files
htot Dec 8, 2024
d9a6846
systemd: Make sure udevd releases files on /usr/lib/modules before um…
htot Dec 8, 2024
d13fd6c
base-files: add some shortcuts to quickly view journal
htot Dec 8, 2024
f86e86a
linux-yocto: update 6.6.y LTS to 6.12.y
htot Dec 16, 2024
cfafdcd
linux-yocto: add support for UTS namespaces
htot Dec 16, 2024
b7e89a8
linux-yocto: drop PREEMPT-RT recipe
htot Dec 16, 2024
ad514e3
poky-edison: update comment on PREEMPT_RT
htot Dec 16, 2024
8b8e8a8
oobe: configure_edison: fix invalid escape sequence '\.'
htot Dec 16, 2024
eabef3c
utils: altboot.sh to switch between kernels
htot Dec 16, 2024
5d439ce
docs: when sharing the network from the host add a dns server
htot Dec 16, 2024
0646fbf
debian: switch to bookworm
htot Dec 21, 2024
89c9395
u-boot: Fix path to merge_config.sh
htot Dec 22, 2024
7c59449
gadget: power up usb0 on create
htot Dec 22, 2024
76c3cdb
post-install: try to create cdc connection
htot Dec 22, 2024
b8ed4de
docs: update to Scarthgap
htot Dec 23, 2024
af066a2
docs: update manifests
htot Dec 23, 2024
3df37f7
docs: README.md for Scarthgap release
htot Dec 23, 2024
629ce81
Merge commit Scarthgap
htot Dec 24, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 2 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,26 +18,10 @@ Currently we have Intel's original (factory) firmware: original and created addi
* **dizzy-uptodate** tracks origin/dizzy with 3.10.98 kernel. This branch pulls [https://github.com/htot/meta-intel-iot-middleware.git](URL) branch dizzy-uptodate with fixes for paho-mqtt relocated and iotkit-comm-js no longer supported.
* **dizzy-latest** tracks origin/master as much as possible with 3.10.98 kernel. This branch pulls [https://github.com/htot/meta-intel-iot-middleware.git](URL) branch dizzy-latest with fixes for paho-mqtt relocated and iotkit-comm-js no longer supported + java support removed. This gives mraa 0.9.0, upm 0.4.1 and mosquitto 1.4.
* **dizzy-rt** same as dizzy-latest but with **real time** kernel. Switches the kernel to the PREEMPT_RT 3.10.17-rt kernel.
* **morty** experimental branch based on Yocto Morty, vanilla kernel 4.13.
* **morty-64** experimental branch based on Yocto Morty, vanilla kernel 4.13 (64 bit).
* **pyro64** experimental branch based on Yocto Pyro, vanilla kernel 4.13 (64 bit). This version actually builds u-boot with `bitbake -R conf/u-boot.conf lib32-u-boot` (wiki to be updated).
* **rocko32** and **rocko64-acpi** based on Yocto Rocko with kernel 4.16.
* **sumo32** and **sumo64-acpi** based on Yocto Sumo with kernel 4.18
* **thud** (64 bit) based on Yocto Thud with kernel 5.2.
* **warrior** (64 bit) based on Yocto Warrior with kernel 5.4. This image now allows building Debian Buster as well.
* **zeus** (64 bit) based on Yocto Warrior with kernel 5.6.
* **dunfell** (64 bit) based on Yocto Dunfell with kernel 5.11.
* **gatesgarth** (64 bit) based on Yocto Gatesgarth with LTS kernel 5.10, PREEMPT_RT kernel 5.10 and current kernel 5.14
* **hardknott** (64 bit) based on Yocto Hardknott with LTS kernel 5.15.25, PREEMPT_RT kernel 5.15.25-rt33 and testing kernel 5.16.0
* **honister** (64 bit) based on Yocto Honister with LTS kernel 5.15.81, PREEMPT_RT kernel 5.15.79-rt54 and testing kernel 6.0.0
* * **kirkstone** (64 bit) based on Yocto Honister with LTS kernel v6.1.55, PREEMPT_RT kernel v6.1.54-rt15 and testing kernel 6.6.0
* **morty** to **kirkstone** check out kirkstone and read this file if you are interested in older versions that likely no longer buidl

See https://wiki.yoctoproject.org/wiki/Releases on Yocto releases and support status.

# What to choose

Yocto Morty will build on Ubuntu Artful (17.10) while Kirkstone (the Yocto project LTS version) builds on Ubuntu Jammy (22.10).

Generally **sumo32** will give best results if you rely on MRAA and UPM. In all other cases, use the latest, **kirkstone**.

**kirkstone** has a 64 bit kernel because we can, but may sometimes be actually slower than the 32bit kernel. **master** has the same as kirkstone, but 32 bits.
Yocto Scarthgap (the Yocto project LTS version) builds on Ubuntu Noble (24.04) but read [Building the Scarthgap branche on Ubuntu Noble](https://edison-fw.github.io/meta-intel-edison/1.1-Prerequisites-for-building.html) how to resolve Unprivileged user namespace restrictions imposed by Apparmor.
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,9 @@ product: Edison
{:toc}
## Building the kernel

In the past we built 2 kernels `bzImage-edison.bin` and `bzImage-initramfs-edison.bin`
In the past we built a kernel with a built-in `initramfs`. The initramsfs is a cpio built into the kernel containg kernel modules that are needed to boot from SDHC.

The kernel with the built-in `initramfs` was called `bzImage-initramfs-edison.bin`. The initramsfs is a cpio built into the kernel containg kernel modules that are needed to boot from SDHC.

This is not longer the case.

We now use a separate cpio. The reason is that U-Boot seems not to support loading a kernel larger then 15MB.
This is not longer the case. We now use a separate cpio. The reason is that U-Boot seems not to support loading a kernel larger then 15MB.

Even though we call the file initrd (as everybody seems to be doing), it is really an initramfs.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ product: Edison
{:toc}

## What's in the rootfs and the initramfs images
Your mileage may vary. Roughly (updated 21-10-2021) in the gategarth branch:
Yocto LTS does receive point releases, so if you build your own you will likely have updated pacakges. Roughly (updated 23-12-2024) in the Scarthgap has:

[Initramfs Manifest](core-image-minimal-initramfs-edison.manifest)

Expand Down
2 changes: 1 addition & 1 deletion docs/_docs/Edison/Building/2.6-Building-Debian.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ product: Edison
{:toc}

# Debian
Currently Debian will only build correct for x86_64 builds. That means it will only build correctly if you checkout `kirkstone` and not `master`. The reason is the `debian_1_create.sh` script misses to pick up all needed kernel modules.
Currently Debian will only build correct for x86_64 builds. That means it will only build correctly if you checkout `scarthgap` and not `master`, unless you manually set to build x86_64. The reason is the `debian_1_create.sh` script misses to pick up all needed kernel modules.

{% include warning.html content="This image is not intended to be used for IOT but rather to use Edison board as a small server (Jenkins, Gerrit, web server, ...). It should be easier to install these packages on Debian rather than on Yocto image. If you want to use Edison for IOT, stick to Yocto image!" %}

Expand Down
14 changes: 13 additions & 1 deletion docs/_docs/Edison/Current State/4.2-networking.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,14 +74,26 @@ enable gadget
services
connect gadget_aabbccddeef1_usb
```
To make a shared network you need to configure the host computer. On KDE5 (Kubuntu 18.10) create a new connection using Plasma Network Manager:
To make a shared network you need to configure the host computer. On KDE5/6 (Kubuntu 18.10 - 24.04) create a new connection using Plasma Network Manager:
{% include image.html file="net1.png" alt="Make a new network connection" border="true" max-width="90%" %}
Make this network active only on the shared network device:
{% include image.html file="net2.png" alt="Restrict to Edison only" border="true" max-width="90%" %}
Select shared with other computers:
{% include image.html file="net3.png" alt="Make the connection shared" border="true" max-width="90%" %}
Other network manager based desktops will require similar steps.

You will likely want to run a DNS server on this shared connection. This appears to be simple, install `dnsmasq` on the host and let Network Manager handle it.
```
sudo apt-fet instaldnsmasq

sudo vi /etc/NetworkManager/NetworkManager.conf
```
and put under [main]
```
[main]
dns=dnsmasq
```

## Openvpn
Create a directory `/var/lib/connman-vpn/` containing your myhost.config file. myhost can be whatever you like, the extension must be .config. If you have a working `openvpn` connection (f.i. on your desktop) you already have working certificate files. Place them under `/etc/openvpn/`.

Expand Down
4 changes: 2 additions & 2 deletions docs/_docs/Edison/Hacking/5.0-Creating-a-deb-repository.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,8 @@ vi /etc/apt/sources.list.d/meta-intel-edison.sources
X-Repolib-Name: meta-intel-edison
Enabled: yes
Types: deb
URIs: http://delfion:8000/
Suites: all/ corei7-64/ edison/
URIs: http://delfion:8000/all http://delfion:8000/edison http://delfion:8000/corei7-64
Suites: ./
Signed-By: /etc/apt/keyrings/meta-intel-edison.gpg

(save and close, i.e. shift-ZZ)
Expand Down
14 changes: 7 additions & 7 deletions docs/_docs/Edison/Introduction/0.1-A-word-of-warning.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@ sidebar: edison
product: Edison
---
## Not breaking things
The Morty, Pyro, Rocko, Sumo, Thud, Warrior, Zeus, Dunfell, Gatesgarth, Hardknott, Honister and Kirkstone branches are community supported. There is no warranty of any kind. At the time of creation they built, install and boot. However, only Kirkstone is a current Yocto LTS version. For Morty the separate parts (u-boot, kernel and rootfs) must be installed manually. After Pyro this is optional, you can use flashall or Flash Tool Lite and overwrite your factory image.
You can still checkout Morty, Pyro, Rocko, Sumo, Thud, Warrior, Zeus, Dunfell, Gatesgarth, Hardknott, Honister and Kirkstone branches. There is no warranty of any kind. At the time of creation they built, installed and booted. However, only Kirkstone is a current Yocto LTS version (see for Yocto support plans [https://wiki.yoctoproject.org/wiki/Releases](https://wiki.yoctoproject.org/wiki/Releases). For Morty the separate parts (u-boot, kernel and rootfs) must be installed manually. After Pyro this is optional, you can use flashall or Flash Tool Lite and overwrite your factory image.

In the following we assume you want to use the latest (Kirkstone) and will only mention deviations for the older versions when absolutely needed.
In the following we assume you want to use the latest (Scarthgap) and will only mention deviations for the older versions when absolutely needed.

When you install everything manually, the only permanent change is the u-boot update (but you might need to update IFWI as well), and that should not affect your ability to run your factory Edison Image. The kernel will be installed in a partition that is currently unused (the oversized OTA partition) and the rootfs on an external sd card or USB stick.

With the manual installation and the rootfs on external card or disk you must press ESC during boot and type a command to boot the external Sumo image. If you don't the factory image will boot automatically.
With the manual installation and the rootfs on external card or disk you must press ESC during boot and type a command to boot the external Scarthgap image. If you don't the factory image will boot automatically.

If you use flashall or Flash Tool Lite the factory image is gone, but your new Hardknott will boot automatically.
If you use flashall or Flash Tool Lite the factory image is gone, but your new Scarthgap will boot automatically.

We recommend trying the manual installation first and after you have established that you like it better then factory, then make the changes permanent.

Expand All @@ -30,10 +30,10 @@ Consider that the Edison allows you only to log in as root, and no root password

In case things go wrong, you can take the SD card, plug it in your computer (it is formatted as ext4, so under Windows that might not be so easy) and fix things from there.

If you really mess up the device, for instance by installing a broken u-boot (I did this), or break the u-boot environment variables in such a way that nothing boots, I provide the recovery tools and an image (or you can recover your own if you like). Note that recovery here means recover the Edison so that it will boot again. All the partitions (except the factory partition) will be wiped, so if you have anything important on the device, you might want to back that up in advance. In particular, the factory partition contains the address for the Bluetooth device, and if you manage to loose that there is now way to get it back. Make a copy of the files in /factory and save them in a safe place, whatever you do next.
If you really mess up the device, for instance by installing a broken u-boot (I did this), or break the u-boot environment variables in such a way that nothing boots, I provide the recovery tools and an image (or you can recover your own if you like). Note that recovery here means recover the Edison so that it will boot again. All the partitions (except the factory partition) will be wiped, so if you have anything important on the device, you might want to back that up in advance. In particular, the factory partition contains the address for the Bluetooth device, and if you manage to loose that there is no way to get it back. Make a copy of the files in /factory and save them in a safe place, whatever you do next.

Nevertheless, you might find ways to break the Edison that nobody thought off. In that case, I told you so, and you get to keep the pieces.
Nevertheless, you might find ways to break the Edison that nobody thought off. In that case, I ~~told you so~~ informed you thusly, and you get to keep the pieces.

## Not upgrading

With that out the way: the original Edison kernel has the same potential to break things, is badly secured and the image software is based on sources that are many years old (i.e. has many known security issues). At least Yocto Dunfell and later are being actively maintained. And the kernel applied here is for now not more than 10 weeks behind the latest official Vanilla release.
With that out the way: the original Edison image has the same potential to break things, is badly secured and the image software is based on sources that are many years old (i.e. has many known security issues). At least Yocto Scarthgap is being actively maintained. And the kernel applied here is for now not more than 10 weeks behind the latest official Vanilla release.
4 changes: 3 additions & 1 deletion docs/_docs/Edison/Introduction/0.2-About-me.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,6 @@ Fortunately, I'm not on this alone on this project.

Andy Shevshenko (andy-shev) is a renowned Intel kernel developer, he has done all the heavy lifting to upstream Edison kernel patches, U-Boot patches, fix and create kernel drivers, add ACPI support and more.

Alex Tereschenko (alext-mkrs) is also working for Intel, and involved with Edison and Galileo as a volunteer from the beginning, figuring out how to boot from SD card, building the opkg library, providing support in the forums. Fortunately he knows how to fix my half baked recipies.
Alex Tereschenko (alext-mkrs) is also working for Intel, and involved with Edison and Galileo as a volunteer from the beginning, figuring out how to boot from SD card, building the opkg library, providing support in the forums. Initially he has helped me a lot to fix my half baked recipies.

You: You might also be a great help, finding new applications for Edison that nobody thought of, fixing bugs, improving documentation, creating recipes for your particular application.
Loading