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

10 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.

10 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.

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

10 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.

10 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

10 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.

10 years agoReplace qemu with qemu-system-i386
Michal Sojka [Wed, 23 Apr 2014 19:18:51 +0000 (21:18 +0200)]
Replace qemu with qemu-system-i386

Even Debian removed backward compatibility symlink from qemu to
qemu-system-i386, so we have to replace the default configuration.

10 years agoexamples: Do not compile buildroot toolchain, just download a pre-built one
Michal Sojka [Mon, 14 Apr 2014 07:54:19 +0000 (09:54 +0200)]
examples: Do not compile buildroot toolchain, just download a pre-built one

10 years agoImplement run keyword
Michal Sojka [Fri, 28 Feb 2014 18:41:02 +0000 (19:41 +0100)]
Implement run keyword

This allows to run arbitrary commands during file generation phase.

10 years agoAMT: Disconnect SOL before power off
Michal Sojka [Thu, 20 Feb 2014 12:06:13 +0000 (13:06 +0100)]
AMT: Disconnect SOL before power off

Otherwise power off fails.

10 years agoDo not run amtterm only after reset and get rid of sleep()
Michal Sojka [Wed, 19 Feb 2014 06:49:18 +0000 (07:49 +0100)]
Do not run amtterm only after reset and get rid of sleep()

This way, amtterm fails is somebody is already connected. Only if amtterm
succeeds, we proceed to reset/poweron.

With recent amttool (at least commit [1]), this works even without sleep
before running amtterm.

[1]: https://www.kraxel.org/cgit/amtterm/log/?h=0ece5135fef56dbd0d94957c334655a57adb7212

10 years agoUpdate comments
Michal Sojka [Mon, 17 Feb 2014 15:36:21 +0000 (16:36 +0100)]
Update comments

10 years agoMake example buildroot use /dev/console for getty
Michal Sojka [Mon, 17 Feb 2014 15:18:55 +0000 (16:18 +0100)]
Make example buildroot use /dev/console for getty

This way, getty appears wherever the user sets console kernel
command line.

10 years agoMerge branch 'amt'
Michal Sojka [Mon, 17 Feb 2014 15:17:20 +0000 (16:17 +0100)]
Merge branch 'amt'

Conflicts:
README.md
novaboot

10 years agoUpdate --amt documentation
Michal Sojka [Mon, 17 Feb 2014 15:13:49 +0000 (16:13 +0100)]
Update --amt documentation

10 years agoDo not read the script if --on or -off is specified
Michal Sojka [Sun, 16 Feb 2014 21:27:29 +0000 (22:27 +0100)]
Do not read the script if --on or -off is specified

This allows running novaboot without any script in which case
novaboot does not block in reading from stdin.

10 years agoAMT: cleanups, simplifications
Michal Sojka [Fri, 14 Feb 2014 17:23:43 +0000 (18:23 +0100)]
AMT: cleanups, simplifications

10 years agoWhitespace and indentation fixes
Michal Sojka [Fri, 14 Feb 2014 16:43:42 +0000 (17:43 +0100)]
Whitespace and indentation fixes

10 years agoMove "use LWP" to amt block
Michal Sojka [Fri, 14 Feb 2014 16:32:25 +0000 (17:32 +0100)]
Move "use LWP" to amt block

Novaboot should not fail when LWP is not installed and AMT is not used.

10 years agoDo not power off during AMT reset
Michal Sojka [Fri, 14 Feb 2014 16:30:23 +0000 (17:30 +0100)]
Do not power off during AMT reset

10 years agoAdded support of Intel AMT
Vaclav Fanfule [Mon, 3 Feb 2014 23:48:02 +0000 (00:48 +0100)]
Added support of Intel AMT

10 years agogen_cpio: Add support for gzip compression
Michal Sojka [Thu, 6 Feb 2014 10:39:28 +0000 (11:39 +0100)]
gen_cpio: Add support for gzip compression

10 years agoUse sterm instead of cu on ryuglab target
Michal Sojka [Tue, 4 Feb 2014 16:05:13 +0000 (17:05 +0100)]
Use sterm instead of cu on ryuglab target

Compared to cu, sterm does not wait 2 seconds after hangup before it exits
(and leaves the port for another user/connection) and can reset the board
via command line switches (no need for --reset-cmd).

Sterm lives at
https://rtime.felk.cvut.cz/gitweb/can-benchmark.git/blob/HEAD:/utils/sterm.c

Additionally, use ssh -tt instead of -t. This causes the sterm to receive
SIGHUP even if ssh does not run on terminal.

10 years agogen_cpio fixes
Michal Sojka [Mon, 20 Jan 2014 13:35:24 +0000 (14:35 +0100)]
gen_cpio fixes

10 years agodoc: Change code to file
Michal Sojka [Sun, 19 Jan 2014 15:46:29 +0000 (16:46 +0100)]
doc: Change code to file

10 years agoAdd Linux example to the documentation
Michal Sojka [Sun, 19 Jan 2014 15:27:13 +0000 (16:27 +0100)]
Add Linux example to the documentation

10 years agoAdd link to novaboot script syntax and fix md formating
Michal Sojka [Sun, 19 Jan 2014 15:19:04 +0000 (16:19 +0100)]
Add link to novaboot script syntax and fix md formating

10 years agoDie if no file name is specified after load
Michal Sojka [Sun, 19 Jan 2014 14:53:35 +0000 (15:53 +0100)]
Die if no file name is specified after load

10 years agoFix heredoc parsing
Michal Sojka [Sun, 19 Jan 2014 14:34:24 +0000 (15:34 +0100)]
Fix heredoc parsing

10 years agoDocumentation update (mainly introduction)
Michal Sojka [Sun, 19 Jan 2014 14:24:39 +0000 (15:24 +0100)]
Documentation update (mainly introduction)

10 years agoMove implementation of --chainloader and --bender to where it is documented
Michal Sojka [Sun, 19 Jan 2014 13:51:03 +0000 (14:51 +0100)]
Move implementation of --chainloader and --bender to where it is documented

i.e. Script preprocessing phase.

Also move --strip-rom documentation to section "File generation phase",
because it is implemented there.

10 years agoAdd --kernel option
Michal Sojka [Sun, 19 Jan 2014 13:24:22 +0000 (14:24 +0100)]
Add --kernel option

10 years agoAdd --help to synopsis
Michal Sojka [Sun, 19 Jan 2014 12:06:17 +0000 (13:06 +0100)]
Add --help to synopsis

... so that people running novaboot -h know there is more to read.

10 years agoIntroduce 'load' keyword to novaboot scripts
Michal Sojka [Sun, 19 Jan 2014 11:47:09 +0000 (12:47 +0100)]
Introduce 'load' keyword to novaboot scripts

THIS IS A BACKWARD INCOMPATIBLE CHANGE!!!

Any file intended to be loaded on the target MUST be prefixed with the
load keyword in the novaboot script. This is done to allow future
extension of novaboot syntax.

Idea by Pavel Píša.

Other changes in this patch:
- sanitized and simplified novaboot script parsing
- --append can be specified multiple times
- documentation fixes