]> rtime.felk.cvut.cz Git - novaboot.git/log
novaboot.git
6 years agoserver: Give configuration variables more descriptive names
Michal Sojka [Fri, 25 Aug 2017 20:00:30 +0000 (22:00 +0200)]
server: Give configuration variables more descriptive names

6 years agoMove systemd files from contrib/ to server/
Michal Sojka [Fri, 25 Aug 2017 19:50:28 +0000 (21:50 +0200)]
Move systemd files from contrib/ to server/

Also perform small modifications.

6 years agoserver: Implement add-key command
Michal Sojka [Fri, 25 Aug 2017 16:21:27 +0000 (18:21 +0200)]
server: Implement add-key command

6 years agoAdd more tests for remote config
Michal Sojka [Fri, 25 Aug 2017 15:17:25 +0000 (17:17 +0200)]
Add more tests for remote config

6 years agoImplement reading of configuration from remote server
Michal Sojka [Fri, 25 Aug 2017 15:10:46 +0000 (17:10 +0200)]
Implement reading of configuration from remote server

Only "safe" configuration values are allowed to be sent by the server.

6 years agoMove handle_novaboot_server() to other place
Michal Sojka [Fri, 25 Aug 2017 09:55:31 +0000 (11:55 +0200)]
Move handle_novaboot_server() to other place

In next commits, we will want to refer to %opt_spec variable so we need
to move the function below the definition of that variable to avoid
warnings.

6 years agoAdd initial implementation of --ssh option to connect to novaboot-shell
Michal Sojka [Fri, 25 Aug 2017 06:16:14 +0000 (08:16 +0200)]
Add initial implementation of --ssh option to connect to novaboot-shell

6 years agoshell: Fix/extend rsync handling
Michal Sojka [Fri, 25 Aug 2017 05:54:32 +0000 (07:54 +0200)]
shell: Fix/extend rsync handling

6 years agoshell: Do not pre-reset on console connection
Michal Sojka [Fri, 25 Aug 2017 05:54:01 +0000 (07:54 +0200)]
shell: Do not pre-reset on console connection

We will need a separate command (e.g. console+prereset) for that.

6 years agoshell: Improve error messages
Michal Sojka [Fri, 25 Aug 2017 05:53:13 +0000 (07:53 +0200)]
shell: Improve error messages

6 years agoRename novabot-server to novaboot-shell
Michal Sojka [Fri, 25 Aug 2017 05:17:24 +0000 (07:17 +0200)]
Rename novabot-server to novaboot-shell

6 years agoserver: Restructure command handling
Michal Sojka [Fri, 25 Aug 2017 04:42:31 +0000 (06:42 +0200)]
server: Restructure command handling

6 years agoImprove server tests
Michal Sojka [Thu, 24 Aug 2017 18:52:10 +0000 (20:52 +0200)]
Improve server tests

6 years agoserver: Improve commens
Michal Sojka [Thu, 24 Aug 2017 18:51:51 +0000 (20:51 +0200)]
server: Improve commens

6 years agoserver: Distinguish between normal and admin users
Michal Sojka [Thu, 24 Aug 2017 18:51:35 +0000 (20:51 +0200)]
server: Distinguish between normal and admin users

6 years agowvtest: Do not exit on first failure
Michal Sojka [Thu, 24 Aug 2017 18:48:31 +0000 (20:48 +0200)]
wvtest: Do not exit on first failure

6 years agoserver: Add tests of username handling
Michal Sojka [Thu, 24 Aug 2017 13:52:42 +0000 (15:52 +0200)]
server: Add tests of username handling

... and prepare for admin user tag.

6 years agotests: Update wvtool
Michal Sojka [Tue, 22 Aug 2017 08:40:41 +0000 (10:40 +0200)]
tests: Update wvtool

6 years agoUpdated version of systemd units
Michal Sojka [Tue, 22 Aug 2017 08:30:20 +0000 (10:30 +0200)]
Updated version of systemd units

This is what I currently use for TX1, but it will need to be modified
to work with novaboot-server. This is planned after novaboot-server is
finished.

6 years agoAdd initial version of novaboot-server
Michal Sojka [Tue, 22 Aug 2017 08:23:54 +0000 (10:23 +0200)]
Add initial version of novaboot-server

7 years agoAdd systemd units to power-on/off the target
Michal Sojka [Wed, 10 May 2017 09:01:49 +0000 (11:01 +0200)]
Add systemd units to power-on/off the target

The idea is that whenever somebody logs as a certain user, systemd switches
the target on. After all sessions of that user are closed, systemd starts
a timer and after its expiration, the target is switched off.

Not that power-on is not always working correctly. The reason is that
we would want the novaboot-target-on@XXX.service to finish before the user
is logged. This can be achieved by adding Before= directive to it, but the
problem is that user units do have UIDs and not names, so we cannot simply
write Before=user@%i.service.

Currently, I'm not sure how to properly solve this issue so the power-on
command is commented out. Power-off, however, work correctly.

7 years agoDo not skip first argument when printing effective options
Michal Sojka [Fri, 5 May 2017 22:14:19 +0000 (00:14 +0200)]
Do not skip first argument when printing effective options

The mistake was that Perl's @ARGV is not the same as C's argv, i.e.
Perl's @ARGV does not contain command name.

7 years agoProduce better error messages on expect() failures
Michal Sojka [Thu, 27 Apr 2017 14:02:43 +0000 (16:02 +0200)]
Produce better error messages on expect() failures

7 years agoUpdate changelog for 20170424 release 20170424
Michal Sojka [Mon, 24 Apr 2017 08:20:10 +0000 (10:20 +0200)]
Update changelog for 20170424 release

7 years agoAdd -tt switch to ssh command for novabox target
Michal Sojka [Mon, 24 Apr 2017 08:04:51 +0000 (10:04 +0200)]
Add -tt switch to ssh command for novabox target

This ensures that all target processes are properly killed.

7 years agoChange novabox target configuration to take advantage of --novabox-cmd
Michal Sojka [Sun, 23 Apr 2017 19:35:52 +0000 (21:35 +0200)]
Change novabox target configuration to take advantage of --novabox-cmd

Now, everything related to novabox "goes" through a single ssh account,
which makes it easier to allow new people to work with the box.

7 years agoAdd --iprelay-cmd option
Michal Sojka [Sun, 23 Apr 2017 19:33:15 +0000 (21:33 +0200)]
Add --iprelay-cmd option

7 years agoDocument (for myself) how to do releases
Michal Sojka [Sun, 23 Apr 2017 10:51:25 +0000 (12:51 +0200)]
Document (for myself) how to do releases

7 years agoUpdate changelog for 20170423 release 20170423
Michal Sojka [Sun, 23 Apr 2017 10:35:33 +0000 (12:35 +0200)]
Update changelog for 20170423 release

7 years agouboot: Empty FDT address if no device tree is loaded
Michal Sojka [Sun, 23 Apr 2017 10:30:38 +0000 (12:30 +0200)]
uboot: Empty FDT address if no device tree is loaded

Without that, depending on configuration, novaboot can pass Linux the
device tree address without the device tree to be present at that address.

7 years agoImplement --remote-expect-timeout
Michal Sojka [Sun, 23 Apr 2017 10:15:01 +0000 (12:15 +0200)]
Implement --remote-expect-timeout

7 years agoFix test
Michal Sojka [Fri, 17 Feb 2017 20:54:47 +0000 (21:54 +0100)]
Fix test

It seems that at least Perl 5.24.1, if the parameter of 'do' (which we
use to read the configuration file) is relative patch that does not start
with ./, the file is only searched in Perl @INC path. This results in
test failure, because our configuration file in not in @INC.

7 years agoImprove documentation of --interative
Michal Sojka [Fri, 17 Feb 2017 20:39:52 +0000 (21:39 +0100)]
Improve documentation of --interative

7 years agodoc: U-Boot implementation is no-longer tied to one board
Michal Sojka [Wed, 18 May 2016 15:09:42 +0000 (17:09 +0200)]
doc: U-Boot implementation is no-longer tied to one board

We have already used it with at least four different boards (and U-Boot
versions).

7 years agodoc: More grammar fixes
Michal Sojka [Wed, 18 May 2016 15:09:16 +0000 (17:09 +0200)]
doc: More grammar fixes

7 years agoFix typos and grammar
Michal Sojka [Mon, 16 May 2016 08:32:49 +0000 (10:32 +0200)]
Fix typos and grammar

7 years agoSuppress Expect warning: handle id(3) is not a tty...
Michal Sojka [Sun, 15 May 2016 08:56:47 +0000 (10:56 +0200)]
Suppress Expect warning: handle id(3) is not a tty...

7 years agoSupport 'chld' lines in Emacs novaboot-mode.el
Michal Sojka [Sun, 15 May 2016 08:55:53 +0000 (10:55 +0200)]
Support 'chld' lines in Emacs novaboot-mode.el

8 years agoAdd support for chainloading another bootloader
Michal Sojka [Wed, 4 May 2016 13:16:07 +0000 (15:16 +0200)]
Add support for chainloading another bootloader

8 years agoUpdate changelog for 20160503 release 20160503
Michal Sojka [Tue, 3 May 2016 08:07:06 +0000 (10:07 +0200)]
Update changelog for 20160503 release

8 years agoPrint effective command line option (after target expansion)
Michal Sojka [Tue, 3 May 2016 07:51:54 +0000 (09:51 +0200)]
Print effective command line option (after target expansion)

8 years agoAppend -serial flags to qemu only if it is not already on the command line
Michal Sojka [Tue, 3 May 2016 07:51:18 +0000 (09:51 +0200)]
Append -serial flags to qemu only if it is not already on the command line

8 years agoUpdate iprelay IP address
Michal Sojka [Mon, 2 May 2016 11:28:17 +0000 (13:28 +0200)]
Update iprelay IP address

8 years agoTeach --make and --scons to into account 'copy' lines
Michal Sojka [Sun, 13 Sep 2015 06:36:37 +0000 (08:36 +0200)]
Teach --make and --scons to into account 'copy' lines

8 years agodoc: Add complex example of U-Boot interaction
Michal Sojka [Tue, 8 Sep 2015 10:57:55 +0000 (12:57 +0200)]
doc: Add complex example of U-Boot interaction

8 years agoAllow redirecting U-Boot command output to a file
Michal Sojka [Tue, 8 Sep 2015 10:56:46 +0000 (12:56 +0200)]
Allow redirecting U-Boot command output to a file

8 years agoMake @uboot_init elements be always hashrefs
Michal Sojka [Tue, 8 Sep 2015 09:15:16 +0000 (11:15 +0200)]
Make @uboot_init elements be always hashrefs

8 years agoAdd "<" syntax for uboot lines in novaboot script
Michal Sojka [Tue, 8 Sep 2015 08:58:45 +0000 (10:58 +0200)]
Add "<" syntax for uboot lines in novaboot script

8 years agoGive more structure to syntax documentation
Michal Sojka [Tue, 8 Sep 2015 08:27:58 +0000 (10:27 +0200)]
Give more structure to syntax documentation

8 years agoAdd "copy" keyword to novaboot script syntax
Michal Sojka [Tue, 8 Sep 2015 08:12:09 +0000 (10:12 +0200)]
Add "copy" keyword to novaboot script syntax

8 years agoImprove IP address error message
Michal Sojka [Tue, 8 Sep 2015 08:04:16 +0000 (10:04 +0200)]
Improve IP address error message

8 years agoPreparation for storing U-Boot output to local files
Michal Sojka [Mon, 7 Sep 2015 21:12:13 +0000 (23:12 +0200)]
Preparation for storing U-Boot output to local files

8 years agoClarify --bender doc
Michal Sojka [Sun, 6 Sep 2015 10:40:45 +0000 (12:40 +0200)]
Clarify --bender doc

8 years agoAdd --reset-send option
Michal Sojka [Wed, 19 Aug 2015 22:17:45 +0000 (00:17 +0200)]
Add --reset-send option

9 years agodoc: Fix typo
Michal Sojka [Mon, 4 May 2015 08:31:14 +0000 (10:31 +0200)]
doc: Fix typo

9 years agodoc: Add link to novaboot homepage
Michal Sojka [Mon, 4 May 2015 08:26:35 +0000 (10:26 +0200)]
doc: Add link to novaboot homepage

9 years agoMinor doc updates
Michal Sojka [Mon, 4 May 2015 08:26:13 +0000 (10:26 +0200)]
Minor doc updates

9 years agodoc: Add encoding directive
Michal Sojka [Mon, 23 Mar 2015 08:17:55 +0000 (09:17 +0100)]
doc: Add encoding directive

POD manual says: if your encoding isn't US-ASCII or Latin-1, then put a
    "=encoding encodingname" command early in the document so that pod
    formatters will know how to decode the document.

Hopefully, this makes GitHub displaying en-dashes correctly.

9 years agoMinor documentation updates
Michal Sojka [Mon, 23 Mar 2015 08:13:21 +0000 (09:13 +0100)]
Minor documentation updates

9 years agoDo not run --uboot-cmd if it is empty string
Michal Sojka [Tue, 10 Feb 2015 13:58:38 +0000 (14:58 +0100)]
Do not run --uboot-cmd if it is empty string

9 years agoUpdate changelog for 20150127a release 20150127a
Michal Sojka [Tue, 27 Jan 2015 13:49:29 +0000 (14:49 +0100)]
Update changelog for 20150127a release

9 years agouboot: Make loading files and booting independent
Michal Sojka [Tue, 27 Jan 2015 12:38:44 +0000 (13:38 +0100)]
uboot: Make loading files and booting independent

When I want to boot the system from flash, I don't need to load
anything, but I need to run a boot command (UBOOT_CMD). This was not
possible without this change.

9 years agoDo not invoke rsync if there is nothing to copy
Michal Sojka [Tue, 27 Jan 2015 12:24:41 +0000 (13:24 +0100)]
Do not invoke rsync if there is nothing to copy

9 years agoUpdate changelog for 20150127 release 20150127
Michal Sojka [Tue, 27 Jan 2015 11:20:50 +0000 (12:20 +0100)]
Update changelog for 20150127 release

9 years agoAdd --netif option
Michal Sojka [Tue, 20 Jan 2015 20:52:22 +0000 (21:52 +0100)]
Add --netif option

9 years agoUpdate changelog for 20141216 release 20141216
Michal Sojka [Tue, 16 Dec 2014 12:45:56 +0000 (13:45 +0100)]
Update changelog for 20141216 release

9 years agoGenerate README in POD format
Michal Sojka [Tue, 16 Dec 2014 12:38:22 +0000 (13:38 +0100)]
Generate README in POD format

POD format seems to be also supported by Github and we don't need to use
fragile and constantly evolving pod2markdown script.

9 years agoAdd --no-final-eol option
Michal Sojka [Tue, 16 Dec 2014 12:30:13 +0000 (13:30 +0100)]
Add --no-final-eol option

9 years agoDoc: Rename CONFIGURATION FILE to CONFIGURATION FILES
Michal Sojka [Tue, 16 Dec 2014 12:14:43 +0000 (13:14 +0100)]
Doc: Rename CONFIGURATION FILE to CONFIGURATION FILES

9 years agoDoc: Add a concise list of execution phases
Michal Sojka [Tue, 16 Dec 2014 12:13:56 +0000 (13:13 +0100)]
Doc: Add a concise list of execution phases

9 years agoDo not use nproc to determine the number of processors
Michal Sojka [Mon, 15 Dec 2014 15:24:48 +0000 (16:24 +0100)]
Do not use nproc to determine the number of processors

On some systems (e.g. with busybox) nproc is not available. Instead use
sysconf(). The only problem is that the _SC_NPROCESSORS_CONF constant is
not defined in the Perl POSIX module. We define it here only for Linux.

9 years agoUpdate changelog for 20141215 release 20141215
Michal Sojka [Mon, 15 Dec 2014 14:21:39 +0000 (15:21 +0100)]
Update changelog for 20141215 release

9 years agotests: Do not run the tests two times
Michal Sojka [Mon, 15 Dec 2014 14:20:05 +0000 (15:20 +0100)]
tests: Do not run the tests two times

9 years agoqemu is no longer hardcoded as default target
Michal Sojka [Mon, 15 Dec 2014 14:07:50 +0000 (15:07 +0100)]
qemu is no longer hardcoded as default target

This was here only for compatibility with origin novaboot from the NUL
project. As this project seems to be no longer developed, we can
hopefully get rid of it.

9 years agoAllow specifying target in NOVABOOT_TARGET environment variable
Michal Sojka [Mon, 15 Dec 2014 14:16:07 +0000 (15:16 +0100)]
Allow specifying target in NOVABOOT_TARGET environment variable

9 years agotests: Add WVPASSSH function to wvtest.sh
Michal Sojka [Mon, 15 Dec 2014 14:13:25 +0000 (15:13 +0100)]
tests: Add WVPASSSH function to wvtest.sh

9 years agoAlways finish novaboot output with new line character
Michal Sojka [Mon, 15 Dec 2014 12:41:13 +0000 (13:41 +0100)]
Always finish novaboot output with new line character

Previously, printed the character only when --exiton was in effect. It
is necessary to print it even in other cases, for example when novaboot
is started with --no-interaction.

The previous print command was erroneously changed to STDERR, so we
change it back to STDOUT.

9 years agoExecute --uboot-cmd even if there are no files to boot
Michal Sojka [Mon, 15 Dec 2014 12:35:44 +0000 (13:35 +0100)]
Execute --uboot-cmd even if there are no files to boot

This is useful in certain situations, for example when we want to
execute custom U-Boot command end exit novaboot without waiting for next
U-Boot prompt.

We also wrap kernel loading in an if block to suppress Perl warnings
about undefined $kbin.

9 years agoUpdate changelog for 20141209-1 release 20141209-1
Michal Sojka [Tue, 9 Dec 2014 12:21:52 +0000 (13:21 +0100)]
Update changelog for 20141209-1 release

9 years agoAdd --remote-expect-silent option
Michal Sojka [Tue, 9 Dec 2014 12:00:45 +0000 (13:00 +0100)]
Add --remote-expect-silent option

9 years agoUpdate changelog for 20141209 release 20141209
Michal Sojka [Tue, 9 Dec 2014 09:21:44 +0000 (10:21 +0100)]
Update changelog for 20141209 release

9 years agoFlush serial line output after reset
Michal Sojka [Tue, 9 Dec 2014 09:17:53 +0000 (10:17 +0100)]
Flush serial line output after reset

This caused some problems when novaboot was used in other scripts and
those scripts looked for certain strings in novaboot output. It happened
that the string was found in the output before reset and therefore, the
whole thing didn't work correctly.

9 years agoMinor refactoring
Michal Sojka [Tue, 9 Dec 2014 08:36:07 +0000 (09:36 +0100)]
Minor refactoring

9 years agoUpdate wvtool
Michal Sojka [Fri, 5 Dec 2014 22:42:39 +0000 (23:42 +0100)]
Update wvtool

9 years agoUpdate changelog for 20141202 release 20141202
Michal Sojka [Tue, 2 Dec 2014 15:52:57 +0000 (16:52 +0100)]
Update changelog for 20141202 release

9 years agoAlways use bi-direction target communication
Michal Sojka [Tue, 2 Dec 2014 14:50:24 +0000 (15:50 +0100)]
Always use bi-direction target communication

I don't remember what was the reason for setting up bi-directional
interaction only when on terminal. It seems, it is useful to have also
when not on terminal - for example when running under socat.

With this change, I'm able to use novaboot with socat to load u-boot
to the target using X-modem protocol:

    socat EXEC:"novaboot -t mytarget --no-uboot --no-reset /dev/null" EXEC:"sx -kbvv -t 10 ./images/u-boot-spl.bin"

9 years agoPrint all novaboot messages to stderr
Michal Sojka [Tue, 2 Dec 2014 13:53:19 +0000 (14:53 +0100)]
Print all novaboot messages to stderr

This is an attempt to leave stdin/out solely for target serial line.

9 years agoAdd --no-interaction option
Michal Sojka [Tue, 2 Dec 2014 13:33:54 +0000 (14:33 +0100)]
Add --no-interaction option

9 years agoAdd --no-uboot option
Michal Sojka [Tue, 2 Dec 2014 13:33:14 +0000 (14:33 +0100)]
Add --no-uboot option

9 years agoUpdate changelog for 20141125 release 20141125
Michal Sojka [Tue, 25 Nov 2014 11:11:06 +0000 (12:11 +0100)]
Update changelog for 20141125 release

9 years agoChange target connection warning to error
Michal Sojka [Tue, 25 Nov 2014 11:01:25 +0000 (12:01 +0100)]
Change target connection warning to error

In the previous commit I argued that it is a valid use case to override
target connection option from command line. I realized that this is not
true, because the implementation does not know which option was given
last and the effective option is determined by the implementation and
not by the position on the command line. Therefore, it is almost always
an error to specify target connection option multiple times.

9 years agoWarn when multiple target connection options are given
Michal Sojka [Mon, 24 Nov 2014 09:53:51 +0000 (10:53 +0100)]
Warn when multiple target connection options are given

This may be problem when --remote-expect is used, but the expected string
is not produced by all connection methods. Then, --remote-expect will may
cause indefinite blocking. For example, when

   --remote-cmd 'sterm ...' --remote-exepect Connected

is overridedn with --serial ..., then the "Connected" may not be
received.

Since this override may behave correctly in certain cases, we only warn
here.

Thanks to Michal Vokáč for reporting this.

9 years agodoc: Be more explicit in the introduction to "Configuration reading phase"
Michal Sojka [Mon, 24 Nov 2014 08:53:24 +0000 (09:53 +0100)]
doc: Be more explicit in the introduction to "Configuration reading phase"

9 years agoDo not read user config during tests
Michal Sojka [Sun, 23 Nov 2014 23:29:33 +0000 (00:29 +0100)]
Do not read user config during tests

This is to make the tests independent of settings of the user running
the tests.

9 years agoImplement user configuration file
Michal Sojka [Sun, 23 Nov 2014 23:18:34 +0000 (00:18 +0100)]
Implement user configuration file

Previously, it was recommended to use ~/.novaboot as user configuration
file, but this didn't work when working other directory, such as in
/tmp. Therefore a new configuration file ~/.config/novaboot is
introduced, which is read always when it exists.

Thanks to Michal Vokac for figuring out this problem.

9 years agoUpdate changelog for 20141111 release 20141111
Michal Sojka [Tue, 11 Nov 2014 15:22:25 +0000 (16:22 +0100)]
Update changelog for 20141111 release

9 years agoUpdate wvtool
Michal Sojka [Tue, 11 Nov 2014 00:27:33 +0000 (01:27 +0100)]
Update wvtool

9 years agoUse wvtool instead of wvtestrun for testing
Michal Sojka [Tue, 11 Nov 2014 00:20:30 +0000 (01:20 +0100)]
Use wvtool instead of wvtestrun for testing

9 years agoPrint newline after --exiton triggered exit
Michal Sojka [Tue, 4 Nov 2014 14:35:20 +0000 (15:35 +0100)]
Print newline after --exiton triggered exit

Otherwise, cursor might end up in the middle of a line and text printed
after novaboot exits starts there. As this might break various things such
as test protocol parses, we always end with a new line.

9 years agouboot: Do not analyze expanded kernel command line
Michal Sojka [Fri, 31 Oct 2014 13:32:00 +0000 (14:32 +0100)]
uboot: Do not analyze expanded kernel command line

Previously, novaboot asked U-Boot to expand the kernel command line
before using it. If the expanded command line started with 'setenv
bootargs', it executed this command, otherwise, it prepended 'setenv
bootargs' and executed it.

This was present to allow using U-Boot environment variables that were
meant to be used with the "run" command in the kernel command line. As
those variables can contain other commands than just "setenv bootargs",
this didn't always work correctly. Therefore, we remove this
functionality. If users are need this functionality, they can use the
uboot lines in the novaboot script to explicitly invoke the run command.

For example, the following novaboot script

    load linux/arch/arm/boot/uImage ${netargs} myparam=1

should be rewritten as follows:

    uboot run netargs
    load linux/arch/arm/boot/uImage ${bootargs} myparam=1

The "run netargs" command sets the bootargs variable and this variable
is mentioned explicitly in the command line.