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

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

10 years agoAdd command line interface to Expect.pm functionality
Michal Sojka [Sun, 19 Jan 2014 09:53:57 +0000 (10:53 +0100)]
Add command line interface to Expect.pm functionality

10 years agoAllow specifying empty target
Michal Sojka [Sat, 18 Jan 2014 15:32:13 +0000 (16:32 +0100)]
Allow specifying empty target

This overrides the default target and is useful mainly for testing.

10 years agogen_cpio: Add support for including whole directory trees
Michal Sojka [Fri, 17 Jan 2014 23:30:42 +0000 (00:30 +0100)]
gen_cpio: Add support for including whole directory trees

(mostly copied from gen_initramfs_list.sh)

10 years agoDocument how to use gen_cpio to produce uBoot images
Michal Sojka [Fri, 17 Jan 2014 12:56:54 +0000 (13:56 +0100)]
Document how to use gen_cpio to produce uBoot images

10 years agoAdd how to use gen_cpio
Michal Sojka [Fri, 17 Jan 2014 12:54:52 +0000 (13:54 +0100)]
Add how to use gen_cpio

10 years agoAdd first version of gen_cpio script
Michal Sojka [Fri, 17 Jan 2014 12:52:13 +0000 (13:52 +0100)]
Add first version of gen_cpio script

10 years agoIncrease uboot timeout
Michal Sojka [Tue, 14 Jan 2014 12:00:21 +0000 (13:00 +0100)]
Increase uboot timeout

Sometimes 1 second was to small, perhaps due to lagging TCP connection.

10 years agoEnclose uboot bootargs in apostrophes
Michal Sojka [Sun, 12 Jan 2014 09:07:33 +0000 (10:07 +0100)]
Enclose uboot bootargs in apostrophes

Needed if bootags contain special characters.

10 years agoRemove debugging messages
Michal Sojka [Fri, 10 Jan 2014 11:50:24 +0000 (12:50 +0100)]
Remove debugging messages

10 years agoDie when asking for interactive mode without being on terminal
Michal Sojka [Fri, 10 Jan 2014 11:36:18 +0000 (12:36 +0100)]
Die when asking for interactive mode without being on terminal

10 years agoTell the user correctly how to interrupt novaboot
Michal Sojka [Fri, 10 Jan 2014 11:35:29 +0000 (12:35 +0100)]
Tell the user correctly how to interrupt novaboot

10 years agoFix interactive mode escape sequence
Michal Sojka [Fri, 10 Jan 2014 11:33:43 +0000 (12:33 +0100)]
Fix interactive mode escape sequence

There were two problems:

1. Escape sequence is a regular expression, therefore '.' must be prefixed
   with '\'.
2. Delete key produces an escape sequence that ends with '~'. Therefor
   pressing Delete followed by '.' exits novaboot.

It would be nice if we can use traditional esscape sequence '~.' at the
beginning of the line (as in ssh or cu), but it seems that Expect.pm cannot
handle the "beginning of the line" in the escape sequence correctly.
Therefore we use "~~." sequence to solve problem 2.

10 years agoAdd interactive mode
Michal Sojka [Fri, 10 Jan 2014 09:19:49 +0000 (10:19 +0100)]
Add interactive mode

10 years agoRemove -i alias of --iso option
Michal Sojka [Fri, 10 Jan 2014 09:02:47 +0000 (10:02 +0100)]
Remove -i alias of --iso option

10 years agoDie when error in command line arguments is detected
Michal Sojka [Tue, 7 Jan 2014 15:05:41 +0000 (16:05 +0100)]
Die when error in command line arguments is detected

10 years agoDie when an unknown target is specified
Michal Sojka [Tue, 7 Jan 2014 15:02:15 +0000 (16:02 +0100)]
Die when an unknown target is specified

10 years agoAdd --exiton option and EXITON variable
Michal Sojka [Mon, 6 Jan 2014 16:41:30 +0000 (17:41 +0100)]
Add --exiton option and EXITON variable

10 years agoSort documentation of variables alphabetically
Michal Sojka [Mon, 6 Jan 2014 16:29:19 +0000 (17:29 +0100)]
Sort documentation of variables alphabetically

10 years agoFix reading of configuration files in symlinked directories
Michal Sojka [Mon, 6 Jan 2014 14:41:04 +0000 (15:41 +0100)]
Fix reading of configuration files in symlinked directories

We want novaboot to follow logical directory structure based on symlinks
and not to follow directories simply using ".." directory entry.

10 years agoImporove documentation
Michal Sojka [Tue, 3 Dec 2013 15:30:06 +0000 (07:30 -0800)]
Imporove documentation

10 years agoAdd one second sleep to powerpc configurations to wait for establishing Ethernet...
Michal Sojka [Thu, 21 Nov 2013 22:52:34 +0000 (23:52 +0100)]
Add one second sleep to powerpc configurations to wait for establishing Ethernet link

Without sleep, we have to wait for a TFTP timeout, which is about 5 seconds.

10 years agoAdd --remote-cmd-expect option
Michal Sojka [Mon, 18 Nov 2013 10:40:24 +0000 (11:40 +0100)]
Add --remote-cmd-expect option

This is necessary for ryuglab target to exit novaboot when serial line is
already used, perhaps by another novaboot instance or user.

10 years agoDo not initialize $exp object if it is not used
Michal Sojka [Fri, 8 Nov 2013 11:36:34 +0000 (12:36 +0100)]
Do not initialize $exp object if it is not used

10 years agoAdd $default_target configuration variable
Michal Sojka [Fri, 8 Nov 2013 11:26:02 +0000 (12:26 +0100)]
Add $default_target configuration variable

10 years agoRun qemu only when --qemu option is present
Michal Sojka [Fri, 8 Nov 2013 10:49:21 +0000 (11:49 +0100)]
Run qemu only when --qemu option is present

The default behavior does not change - see next commit.

10 years agoDo not print short help when an unknown option is found
Michal Sojka [Fri, 8 Nov 2013 11:03:06 +0000 (12:03 +0100)]
Do not print short help when an unknown option is found

It was hard to find the error message printed before the help message.

10 years agoAdd --make option
Michal Sojka [Fri, 8 Nov 2013 10:42:12 +0000 (11:42 +0100)]
Add --make option

10 years agoChomp nproc results before use
Michal Sojka [Fri, 8 Nov 2013 10:41:59 +0000 (11:41 +0100)]
Chomp nproc results before use

10 years agoUse nproc tool to determine the number of parallel jobs for scons
Michal Sojka [Fri, 8 Nov 2013 09:58:40 +0000 (10:58 +0100)]
Use nproc tool to determine the number of parallel jobs for scons

10 years agoExport serial line TTY as env. variable
Michal Sojka [Wed, 6 Nov 2013 12:43:37 +0000 (13:43 +0100)]
Export serial line TTY as env. variable

This is needed for reset command in ryulocal configuration.

Also check whether dtrrts command exists before trying to execute it.

10 years agoFix inviseble text (<...>) in Github markdown
Michal Sojka [Wed, 6 Nov 2013 01:27:47 +0000 (02:27 +0100)]
Fix inviseble text (<...>) in Github markdown

10 years agoUpdate documentation
Michal Sojka [Wed, 6 Nov 2013 00:19:20 +0000 (01:19 +0100)]
Update documentation

10 years agoImprove uBoot support; add two targets that use uBoot
Michal Sojka [Tue, 5 Nov 2013 23:44:33 +0000 (00:44 +0100)]
Improve uBoot support; add two targets that use uBoot

10 years agoAdd options for remote reset target connection and reset
Michal Sojka [Tue, 5 Nov 2013 23:38:12 +0000 (00:38 +0100)]
Add options for remote reset target connection and reset

10 years agoRemove debug message
Michal Sojka [Tue, 5 Nov 2013 16:43:11 +0000 (17:43 +0100)]
Remove debug message

10 years agoFix example sudoers file
Michal Sojka [Tue, 5 Nov 2013 15:43:15 +0000 (16:43 +0100)]
Fix example sudoers file

10 years agoRework interaction with the target
Michal Sojka [Tue, 5 Nov 2013 14:34:41 +0000 (15:34 +0100)]
Rework interaction with the target

Only set up bi-directional communication if run on terminal. Also
specify manual_stty on STDIN to not mess up messages from background
server.

I will need to play more with terminal settings, because currently it is
not ideal. See the comment in the patch.

10 years agoClarify and simplify starting and killing of DHCP and TFTP servers
Michal Sojka [Tue, 5 Nov 2013 14:14:40 +0000 (15:14 +0100)]
Clarify and simplify starting and killing of DHCP and TFTP servers

Because servers run under root, we do not have permissions to kill them.
Normally, this is not a problem, because Ctrl-C kills the servers, because
they are in the same process group and kernel (terminal) don't care
about permissions. If novaboot dies after starting server, we need a way
to kill the servers explicitly. We use pkill command and .pid files
produced by the server. This is quite reliable.

10 years agoAdd initial support for uBoot
Michal Sojka [Tue, 5 Nov 2013 13:05:30 +0000 (14:05 +0100)]
Add initial support for uBoot

10 years agoAdd --stty option to specify serial line configuration
Michal Sojka [Tue, 5 Nov 2013 09:51:05 +0000 (10:51 +0100)]
Add --stty option to specify serial line configuration