Extended evaluation of sysrepo due to problems parsing yang v1.1 models
with the built-in yang parser in Clixon. Problems not seen with libyang
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Add support for firmware updates via RAUC on aarch64. The created RAUC
bundle (images/infix-$BR2_ARCH.pkg) is signed with the same key used
to sign the raw FIT image.
On amd64, we use grub instead of U-Boot, because yours truly can't
figure out how to handle ACPI handover to the kernel.
The resulting image is now called disk.img instead of the old mmc.img,
since we can use it over any interface (e.g. virtio or SCSI).
This is not the full environment used by U-Boot, just the bits needed
for U-Boot to know which slot to boot and for Infix to know how the
boot process went.
U-Boot will selectively import/export only these keys during boot,
which avoids a malicious user from altering the boot in a way that
might bypass signature validation.
- Drop unused com32 modules
- Fix duplicate prompt output (serial not needed)
- Reduce timeout before booting default to 0.5 sec
- UI or DEFAULT must be set, otherwise isolinux complains
so replace ONTIMEOUT with DEFAULT
- Increase user-walked-away timeout to 5 minutes
- Always show the prompt
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Now that we only support mmc and squash in `make run` we should make
sure the reference platform works as well as aarch64.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
mkimage will generate an FIT image containing a signature of the
rootfs, where the data is kept out of the DTB data structure, i.e.:
.---------.
| DTB |
:---------:
| Padding |
:---------:
| |
| |
| rootfs |
| |
| |
'---------'
This is the on-disk format of Infix. At boot, we extract kernel and
device trees from the rootfs, and then use Linux's device mapper to
create a virtual block device that exposes the rootfs (squash).
This ensures that U-Boot images that we build can always:
- Rely on the environment extensions in env.dtsi being available
- Access the configured signing keys
- Use SD/eMMC cards
- Extract files from SquashFS filesystems
All of which are foundations that we intend to design our image
loading around.
Also add libcurl so all Clixon utility functions and apps are build with
full support for RESTCONF.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Primarily for evaluating OSPF in customer's use-case. Preparing for
some (static) multicast routing tests as well.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
- pdmenu for the made-easy management tool for Infix
- neofetch is just for demo purposes, we can add KernelKit logo
- pwgen is for basic help, like netcalc
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
- fping is better for checking multiple hosts
- OpenBSD netcat has more features and is generally better for multiple
network testing scenarios
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
- Default to start pager (most), fall back to less/more/cat
- Drop : from sub-headings
- Repeat 'See Also' section
- Relocate network section's Interesting Files to end
- Add dhcpcd.conf to list of interesting files
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This patch drops our use of mdnsd and mdev in regular Infix builds, yet
keeping them in the config and repo for smaller builds, e.g. endpoints.
Also, enable dbus to increase level of integration between compoents.
The dbus-test-tool is included for debugging connections.
Since it's about the tenth time I've been missing strace on target, it
too is added in this commit.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
- Replace ISC dhclient with dhcpcd => IPv4 link-local address
- Enable openresolv to handle /etc/resolv.conf for us
- iproute2 was a dependency of ifupdown2, but now we need to
enable it explicitly
- Ensure we have the same default system interface in infix
- Reenable BusyBox applets disabled when enabling ifupdown2, for
infix derivatives that may prefer a smaller base image.
Note: ifupdown-ng prefers dhcpcd over udhcpc, so no risk for conflict by
reenabling udhcpc.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This change adds a `factory` tool, and login shell, that schedules a
reset of all writable (overlay) filesystems. The tool is set up with
the suid gid flag to allow all members of the wheel group to perform
the reset.
The login method only allows reset from /dev/console, to prevent any
malicious reset over SSH. This should be further constrained later
when PAM is introduced.
To initiate factory reset from the login prompt, use login/pass:
factory/reset
To initiate factory reset from the shell, call
factory
Both methods are interactive by default, but two command line options
can be used to modify the behavior:
-r Skip reboot, and "reboot now?" question
-y Assume yes to all questions, for non-interactive use
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Needed by, e.g., new swup script, but also everything else we might want
to do with jq in any sane way.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Latest Buildroot now has mdio-tools in mainline. This is useful when
debugging devices attaced over MDIO interfaces, eg. switches.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This change replaces the BusyBox ifup/ifdown applets with the full-blown
ifupdown2 package. To get it fully working we also need to enable a few
missing kernel features: ipv4 + ipv6, multiple routing tables, and some
netfilter features. We take the opportunity to sync kernel features in
between the two archs as well.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
- Drop Cortex A72 in favor of more general A53 images
- Enable device trees for all supported EspressoBIN models
- Bump kernel to latest 6.0
- Currently only starts from SD card, so add genimage to post-build
- Create Ext2/4 disk image for SD card
- Add infix-rw partition to sd-card image
- The genimage tool needs genext2fs to create rw.ext4
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>