]> rtime.felk.cvut.cz Git - novaboot.git/log
novaboot.git
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.

9 years agoUpdate changelog for 20141031 release 20141031
Michal Sojka [Fri, 31 Oct 2014 09:06:36 +0000 (10:06 +0100)]
Update changelog for 20141031 release

9 years agouboot: Add default addresses for --uboot-addr
Michal Sojka [Fri, 31 Oct 2014 09:00:20 +0000 (10:00 +0100)]
uboot: Add default addresses for --uboot-addr

9 years agoFix typo
Michal Sojka [Fri, 31 Oct 2014 08:46:37 +0000 (09:46 +0100)]
Fix typo

9 years agoFix ramdisk timeout in uboot
Michal Sojka [Fri, 31 Oct 2014 08:40:12 +0000 (09:40 +0100)]
Fix ramdisk timeout in uboot

This happen whan '#' character is a part of U-Boot prompt.

9 years agouboot: Make boot command configurable
Michal Sojka [Wed, 29 Oct 2014 12:37:35 +0000 (13:37 +0100)]
uboot: Make boot command configurable

U-Boot offers several ways how an OS can be run. For example one can
choose between go, bootm or bootz commands. The bootm command itself has
a handful of variants [1]. This change adds a possibility for the user
to configure which command or variant shall be used.

[1] http://git.denx.de/cgi-bin/gitweb.cgi?p=u-boot.git;a=blob;f=doc/uImage.FIT/command_syntax_extensions.txt;hb=v2014.10

9 years agouboot: Get rid of temporary variables
Michal Sojka [Wed, 29 Oct 2014 12:28:04 +0000 (13:28 +0100)]
uboot: Get rid of temporary variables

Without them, the code is simpler.

9 years agodoc: Improve Configuration file section
Michal Sojka [Mon, 27 Oct 2014 18:39:35 +0000 (19:39 +0100)]
doc: Improve Configuration file section

9 years agoImprove initial part of documentation
Michal Sojka [Mon, 27 Oct 2014 18:30:49 +0000 (19:30 +0100)]
Improve initial part of documentation

9 years agoAdd --exiton-timeout option
Michal Sojka [Tue, 21 Oct 2014 22:06:15 +0000 (00:06 +0200)]
Add --exiton-timeout option

9 years agoImprove --exiton doc
Michal Sojka [Tue, 21 Oct 2014 22:06:01 +0000 (00:06 +0200)]
Improve --exiton doc

9 years agoAdd --exiton-re option
Michal Sojka [Tue, 21 Oct 2014 13:02:35 +0000 (15:02 +0200)]
Add --exiton-re option

9 years agoIncrease timeout for --remote-expect
Michal Sojka [Tue, 21 Oct 2014 09:22:10 +0000 (11:22 +0200)]
Increase timeout for --remote-expect

If the remote target is connected over slow TCP connection, it may take
long time for the connection to be established. According to tcp(7) the
default value of tcp_syn_retries corresponds to 180 seconds so we should
wait the same time here.

9 years agoExtent novaboot mode for Emacs
Michal Sojka [Thu, 16 Oct 2014 13:54:36 +0000 (15:54 +0200)]
Extent novaboot mode for Emacs

9 years agoMake tests not read the system configuration from /etc
Michal Sojka [Thu, 16 Oct 2014 13:53:53 +0000 (15:53 +0200)]
Make tests not read the system configuration from /etc

9 years agoPrint meaningful error message when serial connection is not established
Michal Sojka [Thu, 16 Oct 2014 13:51:32 +0000 (15:51 +0200)]
Print meaningful error message when serial connection is not established

9 years agoDebian release 20140910-1
Michal Sojka [Wed, 10 Sep 2014 13:42:53 +0000 (15:42 +0200)]
Debian release

9 years agoAllow specifying timeout for U-Boot commands
Michal Sojka [Wed, 10 Sep 2014 13:28:35 +0000 (15:28 +0200)]
Allow specifying timeout for U-Boot commands

9 years agoFix typo
Michal Sojka [Wed, 10 Sep 2014 13:01:29 +0000 (15:01 +0200)]
Fix typo

9 years agoDo not make README.txt executable 20140910
Michal Sojka [Wed, 10 Sep 2014 11:44:03 +0000 (13:44 +0200)]
Do not make README.txt executable

9 years agoDebian release
Michal Sojka [Wed, 10 Sep 2014 11:41:18 +0000 (13:41 +0200)]
Debian release

9 years agoAdd NO_BOOT variable
Michal Sojka [Wed, 10 Sep 2014 11:39:19 +0000 (13:39 +0200)]
Add NO_BOOT variable

9 years agoExpand $NB_PREFIX in U-Boot commands
Michal Sojka [Wed, 10 Sep 2014 11:31:09 +0000 (13:31 +0200)]
Expand $NB_PREFIX in U-Boot commands

9 years agoAdd support for uboot keyword in novaboot scripts
Michal Sojka [Wed, 10 Sep 2014 11:30:25 +0000 (13:30 +0200)]
Add support for uboot keyword in novaboot scripts

9 years agoAdd an option to disable reseting of the target
Michal Sojka [Wed, 10 Sep 2014 09:24:01 +0000 (11:24 +0200)]
Add an option to disable reseting of the target

9 years agoAdd novaboot-mode for Emacs
Michal Sojka [Fri, 15 Aug 2014 00:32:33 +0000 (02:32 +0200)]
Add novaboot-mode for Emacs

9 years agoImprove U-Boot-related error messages
Michal Sojka [Thu, 14 Aug 2014 19:56:11 +0000 (21:56 +0200)]
Improve U-Boot-related error messages

9 years agoDebian release 20140730
Michal Sojka [Wed, 30 Jul 2014 14:39:22 +0000 (16:39 +0200)]
Debian release

9 years agoU-Boot: Extend kernel command line handling
Michal Sojka [Wed, 30 Jul 2014 14:27:15 +0000 (16:27 +0200)]
U-Boot: Extend kernel command line handling

In order to be compatible with a standard U-Boot way of having
variables containin U-Boot commands and using 'run' to expand variable
references in them, we check kernel command line if it starts with
'setenv bootargs'. If yes, we simply run this command, otherwise, we
preprend 'setenv bootargs' ourselves.

Examples:

1) Novaboot script contains:

       load linux console=${console} quiet

   U-Boot is instructed to run:

       setenv bootargs console=${console} quiet

2) Novaboot script contains:

       load linux ${netargs} quiet

   and the U-Boot variable netargs contsins "setenv bootargs console=${console}"
   U-Boot is instructed to run:

       setenv bootargs console=${console} quiet

Note that in case 1) novaboot prepends "setenv bootargs" itselv
whereas in 2) inly executes the command line as is.

9 years agoImprove documentation and fix some types in code
Michal Sojka [Wed, 23 Jul 2014 11:57:36 +0000 (13:57 +0200)]
Improve documentation and fix some types in code

Also add Emacs spellchecker exceptions at the end of the file.

9 years agoDebian release 20140723
Michal Sojka [Wed, 23 Jul 2014 10:22:31 +0000 (12:22 +0200)]
Debian release

9 years agoUse recursive target definition for ryu boards
Michal Sojka [Wed, 23 Jul 2014 10:09:26 +0000 (12:09 +0200)]
Use recursive target definition for ryu boards

The ryu target specifies properties of the U-Boot bootloader on the board
and ryuglab and ryulocal targets extent this with different possibilities
of how the board can be reached.

9 years agoAdd --uboot-addr, i.e. generic way to specify U-Boot load addresses
Michal Sojka [Wed, 23 Jul 2014 10:04:10 +0000 (12:04 +0200)]
Add --uboot-addr, i.e. generic way to specify U-Boot load addresses

9 years agoAdd --prefix - a more generic variant of --grub-prefix
Michal Sojka [Wed, 23 Jul 2014 10:02:56 +0000 (12:02 +0200)]
Add --prefix - a more generic variant of --grub-prefix

--grub-prefix is now alias to --prefix.

9 years agoAdd support for $NB_MYIP in --uboot-init
Michal Sojka [Tue, 22 Jul 2014 09:10:16 +0000 (11:10 +0200)]
Add support for $NB_MYIP in --uboot-init

9 years agoImprove detection of U-Boot prompt after tftpboot command
Michal Sojka [Tue, 22 Jul 2014 09:08:05 +0000 (11:08 +0200)]
Improve detection of U-Boot prompt after tftpboot command

If the uboot prompt contains '#' character, it might not be detected
properly.

9 years agoInitialize some variables even if /dev/null is passed as novaboot script
Michal Sojka [Tue, 22 Jul 2014 07:31:31 +0000 (09:31 +0200)]
Initialize some variables even if /dev/null is passed as novaboot script

9 years agoSet $builddir to invocation dir if it is not specified by other means
Michal Sojka [Tue, 22 Jul 2014 07:21:26 +0000 (09:21 +0200)]
Set $builddir to invocation dir if it is not specified by other means

This fixes undefined variable in --tftp handling when novaboot it run as

  novabot ... -- /dev/null

9 years agoGet rid of trailing newlines in --uboot-init commands
Michal Sojka [Tue, 22 Jul 2014 07:10:01 +0000 (09:10 +0200)]
Get rid of trailing newlines in --uboot-init commands

They break our "wait for prompt" logic.

9 years agoSimplify --uboot-init handling
Michal Sojka [Tue, 22 Jul 2014 07:08:51 +0000 (09:08 +0200)]
Simplify --uboot-init handling

9 years agoUpdate README.md
Michal Sojka [Mon, 21 Jul 2014 22:38:34 +0000 (00:38 +0200)]
Update README.md

9 years agoSupport both old and new isolinux versions
Michal Sojka [Mon, 21 Jul 2014 22:12:57 +0000 (00:12 +0200)]
Support both old and new isolinux versions

9 years agoAdd support for configuration directory
Michal Sojka [Mon, 21 Jul 2014 22:09:21 +0000 (00:09 +0200)]
Add support for configuration directory

9 years agoRemove forgotten comment
Michal Sojka [Mon, 21 Jul 2014 21:16:44 +0000 (23:16 +0200)]
Remove forgotten comment

9 years agoAdd support for recursive target definitions
Michal Sojka [Thu, 17 Jul 2014 21:27:20 +0000 (23:27 +0200)]
Add support for recursive target definitions

I.e. one target definition can contain another --target option.

9 years agoOne more fix for ISO image creation
Michal Sojka [Thu, 17 Jul 2014 20:27:16 +0000 (22:27 +0200)]
One more fix for ISO image creation

9 years agoSupport new version of syslinux
Michal Sojka [Thu, 17 Jul 2014 20:19:21 +0000 (22:19 +0200)]
Support new version of syslinux

Support for older version was dropped. Let me know if somebody needs it.

9 years agoAMT IDE-R implementation
Michal Sojka [Thu, 17 Jul 2014 20:09:10 +0000 (22:09 +0200)]
AMT IDE-R implementation

This change is based on work by Václav Fanfule.

9 years agoAdd --tftp-port option
Michal Sojka [Thu, 17 Jul 2014 16:05:49 +0000 (18:05 +0200)]
Add --tftp-port option

9 years agoInform the user in interaction is only onedirectional
Michal Sojka [Thu, 17 Jul 2014 14:02:35 +0000 (16:02 +0200)]
Inform the user in interaction is only onedirectional

9 years agoDetect errors when starting tftpd
Michal Sojka [Thu, 17 Jul 2014 11:46:57 +0000 (13:46 +0200)]
Detect errors when starting tftpd

No we start tftpd without forking in novaboot (but in tftpd itself), which
allows us to detect when it does not start correctly. For example when
a system daemon already runs.

9 years agoImprove U-Boot support
Michal Sojka [Thu, 17 Jul 2014 11:10:33 +0000 (13:10 +0200)]
Improve U-Boot support

- U-Boot prompt is configurable
- Allow multiple --uboot-init options
- Do not try to boot if there is nothing to boot specified

9 years agoAdd --tftp option
Michal Sojka [Thu, 17 Jul 2014 11:08:41 +0000 (13:08 +0200)]
Add --tftp option

9 years agoIgnore test directories
Michal Sojka [Thu, 17 Jul 2014 11:06:04 +0000 (13:06 +0200)]
Ignore test directories

9 years agoAdd sudoers template
Michal Sojka [Thu, 17 Jul 2014 11:05:25 +0000 (13:05 +0200)]
Add sudoers template

9 years agodebian: Do not recommend servers that are started automatically 20140513
Michal Sojka [Tue, 13 May 2014 13:32:46 +0000 (15:32 +0200)]
debian: Do not recommend servers that are started automatically

Replace the dependency with "Suggest".

Wheezy compatibility:
- Allow iproute package as an alternative to ipreoute2.
- Recommend qemy-system rather than qemu-system-x86.

9 years agoRequire LWP module at run time rather than at compile time
Michal Sojka [Tue, 13 May 2014 13:18:49 +0000 (15:18 +0200)]
Require LWP module at run time rather than at compile time

This module is only needed with --amt.

9 years agoAdd Debian packaging
Michal Sojka [Tue, 13 May 2014 12:55:14 +0000 (14:55 +0200)]
Add Debian packaging

9 years agoSupport booting Linux with isolinux
Michal Sojka [Tue, 13 May 2014 11:01:15 +0000 (13:01 +0200)]
Support booting Linux with isolinux

isolinux configuration must be different for Linux and for Multiboot
kernels.

9 years agoFix the name of ISO image when it is booted under qemu
Michal Sojka [Tue, 13 May 2014 10:45:57 +0000 (12:45 +0200)]
Fix the name of ISO image when it is booted under qemu

9 years agoUse syslinux bootloader to create bootable ISO images
Michal Sojka [Tue, 13 May 2014 10:45:16 +0000 (12:45 +0200)]
Use syslinux bootloader to create bootable ISO images

Previously, we used Grub 1, which was problematic, because it is not
available on modern distributions.