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

Dunfell #126

Closed
wants to merge 37 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
627d561
setup.sh: switch to dunfell
htot Dec 6, 2020
568f010
setup.sh: remove darwin support
htot Dec 6, 2020
49738b3
utils: clean up unused patches
htot Dec 6, 2020
e43b691
python2: remove dependancies
htot Dec 6, 2020
e207631
perf: drop recipe as already provided by zeus
htot Dec 15, 2020
f23a0a5
u-boot: update to 2021-01
htot Nov 12, 2020
c49b240
linux: update to 5.10.0
htot Nov 12, 2020
1f53d32
linux-yocto: add 5.10.1-rt20 PREEMPT_RT kernel
htot Dec 29, 2020
85f652f
meta-acpi: switch to dunfell
htot Dec 23, 2020
e9ea816
edison-image-minimal: add dependence on libgpiod-tools
htot Dec 23, 2020
d48f268
debian: switch to btrfs snapshot
htot Dec 18, 2020
3056ac2
btrfsFlashOta.sh: purge packages
htot Dec 21, 2020
47e17a5
btrfsFlashOta.sh: install all kernel packages
htot Jan 5, 2021
3b181ed
btrfsFlashOta.sh: fix alt destination
htot Jan 11, 2021
0d43383
btrfsSnapshot.sh: fix deploy dir
htot Dec 21, 2020
b6918e9
btrfsSnapshot.sh: fix fstab
htot Dec 28, 2020
f265061
poky-edison.conf: fixes for dunfell
htot Dec 6, 2020
a52efc3
bootsuccess: confirm reboot alt kernel
htot Dec 29, 2020
1a06042
simple-agent: fixup deprecated libs and beautify
htot Feb 6, 2021
a1e5982
blink-led: remove user space flashing in favor of kernel ledtrig
htot Feb 7, 2021
4625da8
flash-led: service that shows a quick flash pattern based on blink-led
htot Feb 7, 2021
1f61635
pwr-button-handler: depend on flash-led
htot Feb 7, 2021
272b5b1
blink-led: init the led pin on boot
htot Mar 15, 2021
42ada36
clloader: don't enable service by default
htot Mar 14, 2021
1ef90bf
sketch-check: don't enable service by default
htot Mar 14, 2021
4061907
mcu-fw: remove from edison-image
htot Mar 15, 2021
7886c75
oobe: clean up on rewrite
mwallnoefer Feb 8, 2021
cada8ed
oobe: python3 provider is in core
htot Feb 4, 2020
c873513
oobe: checkout fixed version
htot Mar 14, 2021
b59d8a3
linux: update to 5.11.0
htot Mar 2, 2021
a74bc6c
linux-yocto: add 5.11.4-rt11 PREEMPT_RT kernel
htot Mar 13, 2021
353c250
docs: prepare for Dunfell release
htot Mar 13, 2021
68af2c8
docs: README.md for Dunfell release
htot Mar 13, 2021
508ba10
linux-yocto: make 5.10.27 LTS the default kernel
htot Mar 25, 2021
1b916b3
oobe: fixes to cli
htot Apr 2, 2021
f9ec6be
btrfsFlashOta.sh: better handle failure
htot Apr 2, 2021
e329486
Revert "image: switch 32 bits"
htot Jul 1, 2018
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
9 changes: 5 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,13 @@ Currently we have Intel's original (factory) firmware: orignal and created four
* **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.
* **zeus** (64 bit) based on Yocto Warrior with kernel 5.6.
* * **dunfell** (64 bit) based on Yocto Dunfell with kernel 5.11.

# What to choose

Yocto Morty will build on Ubuntu Artful (17.10) while Zeus builds up to at least Disco (19.04).
Yocto Morty will build on Ubuntu Artful (17.10) while Dunfell builds on Ubuntu Groovy (20.10).

Generally **sumo32** will give best results if you rely on MRAA and UPM. If you want highly configurable hardware and don't need MRAA, then **thud** enabled version is best. In all other cases, use the latest, **zeus**.
Generally **sumo32** will give best results if you rely on MRAA and UPM. In all other cases, use the latest, **dunfell**.

**zeus** has a 64 bit kernel because we can, but may be actually slower than the 32bit kernel. **master** has the same as zeus, but 32 bits.
**dunfell** has a 64 bit kernel because we can, but may be actually slower than the 32bit kernel. **master** has the same as dunfell, but 32 bits.
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 13-12-2020) in the zeus branch:
Your mileage may vary. Roughly (updated 18-02-2021) in the dunfell branch:

[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 `zeus` 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 `dunfell` and not `master`. 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
4 changes: 2 additions & 2 deletions docs/_docs/Edison/Current State/4.6-contact.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,13 @@ In [gadget](4.4-hsu-i2c-spi.html#gadget-device-mode) mode, the Edison USB port w
{% include note.html content="We intend to improve this by making the gadget to either power on automatically, or by pressing the Power Button." %}

## Wifi AP
Pressing the Power Button shortly (less then 2 sec.) with turn the Edison Wifi AP on. The Access Point will appear as EDISON-xx-xx with xx-xx depending on the hardware address of the wlan0 device and the passphrase identical to the serial number (on the label of the Edison module).
Pressing the Power Button shortly (more then 2 sec. but less then 10) with turn the Edison Wifi AP on. The Access Point will appear as EDISON-xx-xx with xx-xx depending on the hardware address of the wlan0 device and the passphrase identical to the serial number (on the label of the Edison module).

A web server for further configuration is started that you can access for further configuration. Point you web browser to either http://edison or http://edison.local.

{% include warning.html content="In AP mode the Wifi Access Point is routed to whatever other (Ethernet, Bluetooth Tether) upstream net you may have. This may be useful, while at the same time might be a security risk. You might want to change the passphrase to a secret one." %}

{% include note.html content="Pressing the Power Button runs `configure_edison` from the oobe (Out Of the Box Experience), which is currently not working. We intend to fix this shortly." %}
{% include note.html content="Pressing the Power Button runs `configure_edison` from the oobe (Out Of the Box Experience)" %}

## Bluetooth (tether)
3 quick pushes of the power button (3rd button from the left marked as PWR on the Edison Arduino) makes the LED blink fast and enables bluetooth pairing without further intervention.
Expand Down
6 changes: 3 additions & 3 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 branches are community supported. There is no warranty of any kind. Currently they build. install and boot. 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.
The Morty, Pyro, Rocko, Sumo, Thud, Warrior, Zeus, Dunfell branches are community supported. There is no warranty of any kind. Currently they build. install and boot. 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 (Zeus) and will only mention deviations for the older versions when absolutely needed.
In the following we assume you want to use the latest (Dunfell) 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.

If you use flashall or Flash Tool Lite the factory image is gone, but your new Zeus will boot automatically.
If you use flashall or Flash Tool Lite the factory image is gone, but your new Dunfell 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 Down
5 changes: 3 additions & 2 deletions docs/_docs/Edison/Introduction/0.5-Road-map.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,6 @@ product: Edison
11. Update to thud (done).
12. Make bluetooth tethering work (done).
13. Update to warrior (done)
14. Fix oobe (out-of-the-box-experience) allowing configuration using a web browser.
15. Update to zeus (done)
14. Fix oobe (out-of-the-box-experience) allowing configuration using a web browser (done)
15. Update to Dunfell (done)
16. Onward to Gatesgarth
24 changes: 7 additions & 17 deletions docs/_docs/Edison/Introduction/0.6-News.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,11 @@ sidebar: edison
product: Edison
---
## What's new for this release
1. Linux upgrade to 5.6.0 and U-Boot to v2020.04
We have now switched to upstream U-Boot while just applying a few not required patched.
Thanks Andy for all the hard work you put into this!
2. Update to Yocto Zeus.
1. Linux make 5.10.27 LTS the default kernel, upgrade U-Boot to v2021.01
We also provide v5.11.0 and v5.11.4-rt11 (preeempt-rt kernel) for development purposes.
2. Update to Yocto Dunfell.
3. We now build an image ext4 image that will boot directly off the sd card.
4. Dropped support for booting from usb. This required manual step any way, so if you
want this add variables to edison.env as you please.
5. Increased space on the emmc to accommodate a larger kernel.
6. Separated initramfs as initrd from kernel as U-Boot refuses to boot kernels larger than 15MB.
7. Added btrfs support to U-Boot and kernel
8. Added`btrfs-tools` and `parted` and friends to initrd as well as other disk tools to initrd.
This allows us to boot initrd as rescue image (using `run do_rescue`) to repair images offline.
9. Enabled SOF (Sound Open Firmware) which enables the sound dsp, after you add a codec and enable it via acpi.
10. If you want to play `wav` or `mp3` without a codec, the UAC2 gadget has been enabled to play via your linux host connected via USB (see [Gadget (device) mode](4.4-hsu-i2c-spi#4-sound-source-and-sink-over-usb-uac2).
11. Added support to [switch the file system entirely to btrfs](6.1-How-to-switch-to-btrfs#automatic-conversion) so emmc space is more efficiently used [as well as other advantages](6.4-Installing-an-updated-U-Boot).
12. Add support to [add/remove/upgrade a second kernel](6.3-Installing-an-alternate-kernel) over the air. This allows easy experimenting with rc kernels, and updating Edison remote without a physical (usb) connection.
13. Add support to add a [second image over the air](6.2-Transferring-a-new-btrfs-image). This allows easy experimenting with new images, and updating Edison remote without a physical (usb) connection. The process of adding a second image is faster than the `flashall.sh` of USB and doesn't touch the existing image.
14. Add support to update [U-Boot and the U-Boot environment](6.4-Installing-an-updated-U-Boot) over the air.
4. Fixes to btrfsFlashOta
5. Blink-led user space blinking removed in favor of kernel ledtrig.
6. Oobe completely rewritten to remove nodejs dependency and moved to python3.
7. Debian is now provided as a btrfs snapshot that can be present as an alternative image alongside Yocto Dunfell.
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ This is what we want to accomplish:

The following is intended more to document what's going on in the process then to really do the conversion this way. But if you really want to, you can.

### 1 - 3. Starting point: ext4 Zeus image with `btrfs` patches
### 1 - 3. Starting point: ext4 Dunfell image with `btrfs` patches

If you already had this flashed you can skip directory to step 4.

Expand Down Expand Up @@ -107,9 +107,9 @@ press <ESC> during boot to enter U-Boot
run do_rescue
```

### 4. Boot into ext4 Zeus image
### 4. Boot into ext4 Dunfell image

Rebooting Edison should take you into Zeus on mmcblk0p8 (`rootfs`).
Rebooting Edison should take you into Dunfell on mmcblk0p8 (`rootfs`).

The first time it will run the /sbin/post-install.sh script, let it complete.
It may be that the `update` partition has been fat32 formatted earlier, or maybe it's corrupt. If it's fat formatted and you are connected over `usb` this partition maybe mounted on your host (as a gadget), you might want to unmount it now.
Expand Down
8 changes: 4 additions & 4 deletions docs/_docs/Edison/SDK/3-Building-the-SDK.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,21 +26,21 @@ Instead you can do the following:
Now you probably have a work directory where you keep your project sources:

cd <your work dir>
ln /opt/poky-edison/2.4.2 ./2.4.2
ln /opt/poky-edison/3.1.4 ./3.1.4

Now it will appear as if the SDK is installed into <your work dir>/2.4.2
Now it will appear as if the SDK is installed into <your work dir>/3.1.4

### Using the SDK

The SDK is initialized by running the script:

source <your work dir>/2.4.2/environment-setup-core2-64-poky-linux
source <your work dir>/3.1.4/environment-setup-core2-64-poky-linux

(for 64 bit target)

or

source <your work dir>/2.4.2/environment-setup-core2-32-poky-linux
source <your work dir>/3.1.4/environment-setup-core2-32-poky-linux

(for 32 bit target)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,16 @@ In case for some reason the partition is lost, post-install.sh will create dummy

The serial_number can be reclaimed from the label on the Intel Edison, but the bluetooth_address needs to be recovered from backup. You might want go to /factory and make a copy of the files there before you proceed.

## Building the Zeus branches on Ubuntu Groovy
## Building the Dunfell branches on Ubuntu Groovy

Yocto Zeus will build on Ubuntu Groovy (20.10) but requires python-is-python2 to make python2.7 default. At the same time it requires python3.8 so Ubuntu Ubuntu Focal (20.04) is minimum.
Yocto Dunfell will build on Ubuntu Groovy (20.10).

Install the required build environment:

sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat cpio python python3 libsdl1.2-dev xterm
sudo apt-get install python-is-python2 p7zip-full

## Building the Zeus branches from an Ubuntu LTS container (Bionic)
## Building the Dunfell branches from an Ubuntu LTS container (Bionic)
{% include note.html content="These instructions are based on [Linux Containers](https://linuxcontainers.org/lxd/getting-started-cli/) but with additional configuration (`ssh` access) that you will likely need to build Yocto." %}

Yocto builds almost everything it needs itself. But not everything. So if you upgrade your distribution to a newer version you may find that things are temporarily broken. If you want to prevent that, you might want to build Yocto from a container with LTS (Long Term Support). The nice thing about a container is that it's a lot smaller than a virtual machine and will build stuff a lot faster as it doesn't virtualize the kernel or the file system.
Expand Down
2 changes: 1 addition & 1 deletion docs/_docs/Edison/Setting Up/1.2-Setting-up.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ product: Edison

git checkout master

You can also checkout dizzy-uptodate, dizzy-latest, dizzy-rt or morty, pyro64, pyro64-acpi, rocko32, rocko64-acpi, sumo32 and sumo64-acpi, thud, warrior (all frozen) or zeus.
You can also checkout dizzy-uptodate, dizzy-latest, dizzy-rt or morty, pyro64, pyro64-acpi, rocko32, rocko64-acpi, sumo32 and sumo64-acpi, thud, warrior, zeus (all frozen) or dunfell.

5- Download all the needed dependencies:

Expand Down
2 changes: 1 addition & 1 deletion docs/_docs/Edison/Setting Up/1.4-i686-or-x86_64.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,4 +45,4 @@ It appears the LSD can kick in for short loops, and after a certain amount of lo
### Enabling x86_64 mode
In `meta-intel-edison/meta-intel-edison-bsp/conf/machine/edison.conf` change `KBUILD_DEFCONFIG="x86_64_defconfig"` and set `DEFAULTTUNE = "core2-64"`.

Alternatively you can checkout `zeus` which will build a x86_64 acpi enabled version.
Alternatively you can checkout `dunfell` which will build a x86_64 acpi enabled version.
73 changes: 49 additions & 24 deletions docs/core-image-minimal-initramfs-edison.manifest
Original file line number Diff line number Diff line change
@@ -1,34 +1,59 @@
acpi-tables edison 1.0-r0
base-passwd corei7-64 3.5.29-r0
busybox corei7-64 1.30.1-r0
busybox-udhcpc corei7-64 1.30.1-r0
btrfs-tools corei7-64 5.4.1-r0
busybox corei7-64 1.31.1-r0
busybox-udhcpc corei7-64 1.31.1-r0
e2fsprogs-e2fsck corei7-64 1.45.4-r0
e2fsprogs-mke2fs corei7-64 1.45.4-r0
initramfs-framework-base all 1.0-r4
initramfs-module-rootfs all 1.0-r4
initramfs-module-setup-live all 1.0-r4
initramfs-module-udev all 1.0-r4
kernel-5.4.0-edison-acpi-standard edison 5.4.0-r0
kernel-image-5.4.0-edison-acpi-standard edison 5.4.0-r0
kernel-image-bzimage-5.4.0-edison-acpi-standard edison 5.4.0-r0
kernel-module-cqhci-5.4.0-edison-acpi-standard edison 5.4.0-r0
kernel-module-extcon-intel-mrfld-5.4.0-edison-acpi-standard edison 5.4.0-r0
kernel-module-intel-soc-pmic-mrfld-5.4.0-edison-acpi-standard edison 5.4.0-r0
kernel-module-led-class-5.4.0-edison-acpi-standard edison 5.4.0-r0
kernel-module-mmc-block-5.4.0-edison-acpi-standard edison 5.4.0-r0
kernel-module-mmc-core-5.4.0-edison-acpi-standard edison 5.4.0-r0
kernel-module-sdhci-5.4.0-edison-acpi-standard edison 5.4.0-r0
kernel-module-sdhci-acpi-5.4.0-edison-acpi-standard edison 5.4.0-r0
kernel-module-sdhci-pci-5.4.0-edison-acpi-standard edison 5.4.0-r0
libacl1 corei7-64 2.2.52-r0
libattr1 corei7-64 2.4.47-r0
libblkid1 corei7-64 2.32.1-r0
libc6 corei7-64 2.29-r0
libcap2 corei7-64 2.26-r0
libgpiod-tools corei7-64 1.3-r0
libgpiod2 corei7-64 1.3-r0
kernel-5.11.0-edison-acpi-standard edison 5.11.0-r0
kernel-image-5.11.0-edison-acpi-standard edison 5.11.0-r0
kernel-image-bzimage-5.11.0-edison-acpi-standard edison 5.11.0-r0
kernel-module-btrfs-5.11.0-edison-acpi-standard edison 5.11.0-r0
kernel-module-cqhci-5.11.0-edison-acpi-standard edison 5.11.0-r0
kernel-module-extcon-intel-mrfld-5.11.0-edison-acpi-standard edison 5.11.0-r0
kernel-module-intel-soc-pmic-mrfld-5.11.0-edison-acpi-standard edison 5.11.0-r0
kernel-module-led-class-5.11.0-edison-acpi-standard edison 5.11.0-r0
kernel-module-libcrc32c-5.11.0-edison-acpi-standard edison 5.11.0-r0
kernel-module-mmc-block-5.11.0-edison-acpi-standard edison 5.11.0-r0
kernel-module-mmc-core-5.11.0-edison-acpi-standard edison 5.11.0-r0
kernel-module-raid6-pq-5.11.0-edison-acpi-standard edison 5.11.0-r0
kernel-module-sdhci-5.11.0-edison-acpi-standard edison 5.11.0-r0
kernel-module-sdhci-acpi-5.11.0-edison-acpi-standard edison 5.11.0-r0
kernel-module-sdhci-pci-5.11.0-edison-acpi-standard edison 5.11.0-r0
kernel-module-xor-5.11.0-edison-acpi-standard edison 5.11.0-r0
kernel-module-zlib-deflate-5.11.0-edison-acpi-standard edison 5.11.0-r0
kernel-module-zstd-compress-5.11.0-edison-acpi-standard edison 5.11.0-r0
ldconfig corei7-64 2.31+git0+6fdf971c9d-r0
libblkid1 corei7-64 2.35.1-r0
libbz2-1 corei7-64 1.0.8-r0
libc6 corei7-64 2.31+git0+6fdf971c9d-r0
libcap2 corei7-64 2.32-r0
libcom-err2 corei7-64 1.45.4-r0
libe2p2 corei7-64 1.45.4-r0
libext2fs2 corei7-64 1.45.4-r0
libgcc1 corei7-64 9.3.0-r0
libgpiod corei7-64 1.4.3-r0
libgpiod-tools corei7-64 1.4.3-r0
libkmod2 corei7-64 26-r0
libuuid1 corei7-64 2.32.1-r0
liblzma5 corei7-64 5.2.4-r0
liblzo2-2 corei7-64 2.10-r0
libpython3.8-1.0 corei7-64 3.8.2-r0
libreadline8 corei7-64 8.0-r0
libsmartcols1 corei7-64 2.35.1-r0
libstdc++6 corei7-64 9.3.0-r0
libtinfo5 corei7-64 6.2-r0
libuuid1 corei7-64 2.35.1-r0
libz1 corei7-64 1.2.11-r0
ncurses-terminfo-base corei7-64 6.2-r0
parted corei7-64 3.3-r0
python3-core corei7-64 3.8.2-r0
run-postinsts all 1.0-r10
udev corei7-64 1:241+0+511646b8ac-r0
u-boot-fw-utils edison 1:2021.01-r0
udev corei7-64 1:244.3-r0
udev-extraconf corei7-64 1.1-r0
update-alternatives-opkg corei7-64 0.4.0-r0
update-alternatives-opkg corei7-64 0.4.2-r0
util-linux-partx corei7-64 2.35.1-r0
Loading