Tobias Waldekranz
9bdf44ad7a
mech: Play around with a native yang model
2023-03-27 10:02:27 +02:00
Joachim Wiberg
cbc0374251
mech: add support for ietf-system:system-restart and system-shutdown
...
Shutdown depends on how the kernel is configured, on most embedded
systems this just means reboot.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-16 19:32:24 +01:00
Joachim Wiberg
2124f27d2c
mech: initial support for ietf-interfaces and ietf-ip
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-16 17:40:39 +01:00
Joachim Wiberg
6df91143ba
board/common: no need to clean up rc.local or /etc/network/*
...
In managed NETCONF mode /etc is always based on the image's read-only
/etc with a read-writable overlay as a RAM disk. We control the image
and know the default rc.local is empty and the interfaces file only
list the loopback interface.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-16 17:38:38 +01:00
Tobias Waldekranz
c74203720a
mech: Compress empty yang containers in CLI
...
E.g. instead of: `set interfaces interface eth0`
We can now say: `set interface eth0`
2023-03-16 16:13:09 +01:00
Joachim Wiberg
74cf105512
mech: fix disabling chronyd when system ntp client is disabled
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-16 15:55:13 +01:00
Joachim Wiberg
0da4578362
board/common: allow lldpd to run by default in NETCONF mode
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-16 15:55:13 +01:00
Joachim Wiberg
24d2f28fb6
board/common: allow default auth:none restconf via nginx to clixon
...
- Only disable default services we don't need, prevents touching
services mid-air in runlevel S. Allow nginx now as well
- Enable fcgi based RESTCONF interface via nginx by default
- Enable auth:none for customer demo
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-16 15:55:13 +01:00
Tobias Waldekranz
3c6c2ec66d
mech: Import ietf-{interface,ip} models
2023-03-16 15:48:38 +01:00
Tobias Waldekranz
f7f6333b6f
mech: Generate a tree representation of the YANG model
...
If pyang is available, generate texual and HTML representations of the
system's YANG model.
2023-03-16 15:48:38 +01:00
Joachim Wiberg
4e46b60b6f
mech: deviation /sys:system/clock/timezone-utc-offset not-supported
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-16 08:26:21 +01:00
Joachim Wiberg
0185efeb3f
mech: add support for setting timezone, e.g. Europe/Stockholm
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-16 08:00:40 +01:00
Joachim Wiberg
f0e659c185
chrony: does not support SIGHUP, requires /var/lib/chrony
...
Chrony drops privs after startup to user chrony, when restarting it
writes its state in /var/lib/chrony, so the directory needs to have
the correct permissions for that user.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-16 07:26:40 +01:00
Joachim Wiberg
4ca2e2d8c4
mech: initial support for ietf-system ntp using chrony
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-16 07:26:40 +01:00
Joachim Wiberg
79f4baf519
board/common: enable syslog LOG_DEBUG messages to /var/log/debug
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-16 06:37:56 +01:00
Joachim Wiberg
fa45015140
mech: debug transactions
...
For observability. All transactions that reach ietf-system are logged
with LOG_DEBUG log level. See /var/log/debug for details.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-16 06:37:56 +01:00
Joachim Wiberg
17424a140f
mech: ensure clixon_backend always use syslog backend
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-16 06:37:56 +01:00
Joachim Wiberg
d130011f96
mech: common convenience library, currently only XML debug fns
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-16 06:37:56 +01:00
Joachim Wiberg
d01617a79e
board/amd64: enable RTC subsystem
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-16 06:37:56 +01:00
Joachim Wiberg
00daab72fc
package/mech: start clixon_backend as 'clixon', redirect stdout/err
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-14 20:32:38 +01:00
Joachim Wiberg
90b4a739b5
mech: always run initctl in batch mode when in non-interactive mode
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-14 20:31:50 +01:00
Joachim Wiberg
28b6cecb73
package/clixon: bump to 6.1.0+kkit
...
Tracking kkit branch (clixon 6.1+) w/a for issue #334 .
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-14 17:05:21 +01:00
Joachim Wiberg
48f819b315
package/cligen: bump to v6.1.0
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-14 17:05:00 +01:00
Joachim Wiberg
e9b252b514
buildroot: bump to 2023.02 LTS
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-14 16:07:15 +01:00
Joachim Wiberg
060af92a29
package/clixon: /var/clixon is a directory
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-14 09:38:08 +01:00
Joachim Wiberg
7a4fe98a3e
mech: remember hard-coded strings
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-14 09:06:22 +01:00
Joachim Wiberg
f43b31b1f5
mech: system headers before clixon, skip sys/ prefix
...
The canonical location for syslog.h is in the root.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-14 09:06:22 +01:00
Joachim Wiberg
1aac798041
mech: must specify model revision
...
Found when debugging output from "show state", which displayed NULL for
the infix model.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-14 09:06:22 +01:00
Joachim Wiberg
77f6d5e82e
mech: use same pager as Clixon by default
...
Add configurable pager support to Clixon later.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-14 09:06:22 +01:00
Joachim Wiberg
cc5453bfbd
mech: use new 'show -n' to skip shell user's help notice
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-14 09:06:22 +01:00
Joachim Wiberg
3c4ff8cabb
board/common: add 'show -n' for no footer output
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-14 09:06:22 +01:00
Joachim Wiberg
6fec738628
board/common: make sure to enable clixon_backend in NETCONF mode
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-14 09:06:22 +01:00
Joachim Wiberg
6a591ddd5a
mech: use NOTICE file and spdx format for Apache 2.0 license
...
Recommendations on how to apply the Apache 2.0 license to a project from
https://www.linkedin.com/pulse/how-apply-apache-20-license-your-open-source-software-vladimír-gorej/
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-14 09:06:22 +01:00
Joachim Wiberg
d8d761bfa4
mech: change license to Apache v2.0, same as Clixon package
...
To facilitate linking and circumvent any possible legal problems.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com >
2023-03-14 09:06:22 +01:00
Joachim Wiberg
2f7dbe110a
src/mech: add some basic 'show' commands
...
- Example of optional args (show log [FILE])
- Example of dynamic expansion
- Example of how to re-enable signals for external commands
- Example of hidden commands
- Add basic 'help' command for the current level
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-14 09:06:22 +01:00
Joachim Wiberg
9041c54dbd
README: mention Clixon and add Qeneth as alternative to GNS3
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-14 09:06:22 +01:00
Joachim Wiberg
9f74bac06c
README: fix footnote link
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-14 09:06:22 +01:00
Joachim Wiberg
70a393ec99
package/mech: minor, for Buildroot conformance
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2023-03-14 09:06:22 +01:00
Tobias Waldekranz
77d94e0ffd
doc: Expand boot procedure documentation
...
Provide more details on the boot procedure, different image types
used, how to configure the bootloader, and how to perform system
upgrades.
2023-03-13 23:20:01 +01:00
Tobias Waldekranz
19672fcc58
rauc: Initial support
...
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.
2023-03-13 14:46:37 +01:00
Tobias Waldekranz
e7112ca0c9
qemu: Support mounting host filesystem inside guest
...
This is mounted at /mnt/host in the guest. By default the images
directory is mounted.
2023-03-13 13:53:12 +01:00
Tobias Waldekranz
162f019574
aarch64: Remove U-Boot envimage generation from defconfig
...
This created a circular dependency that caused the build to fail. This
is now handled by the mkdisk.sh script instead.
2023-03-13 10:21:08 +01:00
Tobias Waldekranz
bf240e0d89
amd64: Update GNS3 appliance generation to use the disk image
...
The appliance now uses the same QEMU setup as when using `make run`
with OVMF loader.
2023-03-13 09:57:04 +01:00
Tobias Waldekranz
6cc26307b7
common: Mark output from Infix shell scripts similarly to Make
...
Similarly to how $(call IXMSG,"hello world") outputs a blue
information line from a makefile, provide `ixmsg` to accomplish the
same thing in shell scripts.
Use a different prefix (`#!:` vs `>>>`) to differentiate it from
makefile output.
2023-03-13 09:57:04 +01:00
Tobias Waldekranz
d777d59ee2
common: Prettify output from Infix extensions to the build system
...
This makes it easier to spot where we've added things (that might not
work :))
2023-03-13 09:57:04 +01:00
Tobias Waldekranz
3c720892dc
aarch64: Cleanup unused stuff from defconfig
...
Config options are now loaded internally by the post-image script.
We never use the EXT image for anything.
2023-03-13 09:57:04 +01:00
Tobias Waldekranz
f3304a6539
common: Unify disk image generation across aarch64 and amd64
...
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).
2023-03-13 09:57:03 +01:00
Tobias Waldekranz
515d9f6e84
config: Replace $() with ${}
...
This lets us source .config from shell scripts
2023-03-13 09:56:37 +01:00
Tobias Waldekranz
96af542d40
qemu: Consolidate DTB extension handling in qemu.sh
2023-03-13 09:55:16 +01:00
Tobias Waldekranz
e9adde4100
qemu: Add option to start with UEFI instead of BIOS
2023-03-13 09:55:16 +01:00