Download

kboot main page

 kboot-11 (11-JAN-2007)
kboot-11.tar.gz (42 kB)

Changes:

  • New features:
    • pressing Ctrl-C before the kboot prompt is shown now starts an emergency shell (based on suggestions by Brent Baude)
    • README: added a troubleshooting section explaining how to get a shell if things turn sour
  • Changes:
    • upgraded to the 2.6.19.2 kernel
    • upgraded to Busybox 1.3.1
    • patches/busybox-noshadow.patch: fix Busybox build without shadow passwords (from PLD Linux)
    • scripts/kboot: start udhcpc with -n instead of --now, since the latter is no longer recognized
    • upgraded to udev 104
    • Makefile: recent versions of udev aren't stripped, so we do this

 kboot-10 (4-APR-2006)
kboot-10.tar.gz (40 kB)

Changes:

  • New features:
    • scripts/find-features: can use /proc/config.gz if no kernel configuration is present
  • Changes:
    • upgraded to the 2.6.16.1 kernel
    • upgraded to gcc 3.4.6
    • upgraded to Busybox 1.1.1
    • upgraded to udev 088
    • upgraded to dropbear 0.48.1
    • patches/asm-param-h-vs-linux-config-h.patch: removed, since the problem is solved in the mainline kernel now
    • changed dropbear download from .tar.bz2 to .tar.gz, because 0.48.1 is only available as .tar.gz
    • scripts/edit-config: new script to edit .config files (kernel: just appending new options no longer overrides previous settings)
    • Busybox configuration is now based on "allnoconfig", not "defconfig"
  • Bug fixes:
    • README: kernel configuration is in config/kernel-config, not ./local-kernel-config
    • scripts/find-shlibs: corrected the title
    • Makefile: many writes to .config files added a trailing double quote
    • Makefile: UDEV_DIR now uses UDEV_VERSION instead of a hard-coded number
    • Makefile: "make spotless" also deleted config/README
    • scripts/kboot: completion of "/dev/foo:" expanded to /dev/...

 kboot-9 (29-OCT-2005)
kboot-9.tar.gz (39 kB)

Changes:

  • Changes:
    • upgraded to the 2.6.14 kernel
    • upgraded to udev 070
    • readline now has a user-configurable cursor marker instead of the ambiguous double space, set with the new option -m
  • Bug fixes:
    • patches/asm-param-h-vs-linux-config-h.patch: make asm-i386/param.h not #include linux/config.h, avoiding countless name clashes with CONFIG_* in BusyBox

 kboot-8 (7-OCT-2005)
kboot-8.tar.gz (39 kB)

Changes:

  • New features:
    • support for non-default keyboard layouts (see README)
    • support for file access through TFTP
  • Changes:
    • added patches/README listing where things come from
    • Busybox: enabled "chmod"
    • Busybox: enabled "tftp"
    • README: documented host:... and protocol:... formats
  • Bug fixes:
    • __wget was defined after being called by __xlat_path

 kboot-7 (7-OCT-2005)
kboot-7.tar.gz (36 kB)

Changes:

  • New features:
    • inbound SSH now works
    • find-features copies and converts SSH keys
    • new configuration variable "authorized_keys" to specify a file with SSH keys
    • new configuration variable "delay" to specify the delay for the first keystroke
  • Changes:
    • a slash is now appended to paths ending in a colon (e.g., "/dev/sda1:")
    • variable assignments are now processed before any other command or path interpretation
    • TCP/IP networking and NFS now default to "yes"
    • if the configuration variable "root" contains a device name beginning with "/dev/", it takes priority over fstab
    • use of configuration files on root file system now defaults to "yes"
    • renamed config/authorized_keys2 to config/authorized_keys
    • kboot-root.cpio.gz is now created with umask 077, to prevent leaking SSH host keys
    • "make try" now also unmounts root/dev/pts and kills dropbear
    • send ifconfig output to /dev/urandom also if not using DHCP, to give dropbear some entropy, too
    • removed "kboot" from prompt (PS1) of sub-shells
    • scripts/kboot: removed comment explaining why chroot doesn't work. It does, after all.
    • utils/readline.c: changed option -d to -i
    • utils/readline.c: new option -d to set the delay
    • an empty input line now also invokes "default"
  • Bug fixes:
    • any command line beginning with a lower-case letter was considered for label expansion, yielding unexpected behaviour in commands with special characters
    • kboot didn't export PATH and PS1 to sub-shells

 kboot-6 (5-OCT-2005)
kboot-6.tar.gz (33 kB)

Changes:

  • New features:
    • NFS client support and SSH client/server support can now be disabled, leading to a smaller user space
    • executables from the booted environment now run under chroot
    • file and directory arguments to "local" executables are now converted
    • added scripts/find-shlibs for future support of builds using the host-local libc
    • README: added a "Known bugs" section
    • added support for manual resolver configuration
  • Changes:
    • upgraded to the 2.6.13.3 kernel
    • scripts/find-features: renamed "enable_ssh" to "ssh_server"
    • update-fstab now creates an empty config/fstab if there is no other choice
  • Bug fixes:
    • "cd //" made kboot think it was at "///"
    • __wget didn't remove wget's standard output, confusing later processing

 kboot-5 (4-OCT-2005)
kboot-5.tar.gz (32 kB)

Changes:

  • New features:
    • new configuration variable "mount_rw" to enable read-write mounting of file systems. Also made mounting read-only by default.
    • temporary mounts are translated back to the source name in the prompt
    • new configuration variable "message" to set the message file name
  • Changes:
    • utils/readline.c: if in unified whitespace mode, insert two spaces at the cursor position when [Tab] is hit
    • utils/readline.c: if in unified whitespace mode and setting a default input that contains two adjacent spaces, these spaces are removed, and the cursor is placed at that position
    • "cd" now uses __xlat_path instead of trying to decode the path on its own
    • __mount_path now passes the "nolock" option if mounting an NFS file system
    • "make try" tries to "rmdir" all subdirectories under root/mnt/tmp
    • kboot shell: generalized checking of boolean configuration variables
    • "cd" now appends a slash before internal processing, to make it clear that it is looking for a directory
    • scripts/common-all: prefixed all function names with a double underscore
    • moved command completion to new functions __complete_label and __complete_path
    • use simple /tmp/tmp (instead of politically more correct $TMPDIR and $$) also in label completion
  • Bug fixes:
    • __xlat_path returned wrong path and return code 1 on successful NFS mount

 kboot-4 (28-SEP-2005)
kboot-4.tar.gz (31 kB)

Changes:

  • New features:
    • labels and UUIDs (untested) are now looked up at boot time (using the new utils/fsbyname)
    • /etc/kboot.conf, /etc/fstab, and /etc/hosts can now be updated from the booted file system
    • kboot does not do above update if kernel boot parameter kboot=local is set
    • when invoking kexec, kboot now looks for a command-line parameter initrd=F, and passes it as --initrd=F option
    • new configuration variable "initrd" to set a global default initrd
  • Changes:
    • upgraded to gcc 3.4.4
    • kboot distribution now extracts into directory kboot-/, not kboot/
    • if __dry_run is set, __boot_kexec now only prints what it would do
    • "make try" now uses settings previously obtained with "stty -g" instead of "stty sane", to keep "erase" from being changed from ^H to ^?
    • "make try" now also tries to unmount root/mnt/tmp/*
    • utils/readline.c and utils/getctty.c didn't have title comments
    • utils/Makefile now supports native and cross-compilation
    • moved all package versions, including kboot's own, into new file VERSIONS
    • removed file VERSION
    • removed file conversion with label lookup from scripts/update-fstab
    • variable names not beginning with a lower case letter are no longer considered for label expansion
    • scripts/find-features: use stat -t instead of the more recent stat -c
  • Bug fixes:
    • set up the cross-compilation context also when installing kexec-tools, to eliminate a stray error message
    • use gcc version number and a wildcard to patch the spec file, so that it is more likely to be found (reported by Rafael Zurita)
    • __mount_path: progress messages were printed to standard output, not standard error
    • utils/readline.c: use tcsetattr(0,TCSADRAIN,...) instead of TCSANOW

 kboot-3 (20-SEP-2005)
kboot-3.tar.gz (29 kB)

Changes:

  • New features:
    • installation now uses ../dl for downloads (instead of ./dl/), if it exists
    • kboot environment now uses the shared uClibc
  • Changes:
    • [Tab] on an empty line at / now only lists variables, not files
    • "make reset" now also does a "make clean" on utils/
    • "make root" now removes old root/dev, root/tmp, and some files from root/etc
    • "make root" now strips readline and getctty
    • kexec installation now strips kexec, removes root/sbin/kdump, root/lib/kexec-tools, and the man pages
    • udev installation now removes root/bin/udevtest, root/bin/udevinfo, root/sbin/udevmonitor, root/sbin/udevcontrol, and the man pages
    • dropbear installation now strips dropbearmulti
    • uclibc installation now removes libdl, libm, libnsl, libpthread, and librt
    • kboot shell now runs on /dev/tty1 instead of /dev/tty0
  • Bug fixes:
    • re-installation of binutils (to build/) would generate additional levels of qualified tool names, e.g., host-host-as
    • "make root" created useless directory root/build
    • kboot shell also tried to run from /dev/tty0 in dry-run mode
    • rearranged "make root" dependencies, such that a build from scratch doesn't build everything twice

 kboot-2 (19-SEP-2005)
kboot-2.tar.gz (28 kB)

Changes:

  • New features:
    • added command-line editing with history
    • added basic command completion
    • added helper "getctty" to get a controlling tty
    • DHCP and outbound SSH now work (didn't realize that udhcpc needs a helper script ...)
    • new configuration variable "timeout" to set the time after which default command is executed
    • new configuration variable "default" to set the default command (executed on timeout, and when pressing [Enter])
    • a banner message can be displayed through the optional file config/message
    • the kboot now displays a short progress message when mounting, even when not in verbose mode
  • Changes:
    • upgraded to the 2.6.13.2 kernel
    • changed many variable names from "foo" to "__foo", to free name space for user-provided configuration
    • renamed "verbose" to "__verbose", to hide it from the user
    • removed unused variable "tail"
    • check that "restricted" is either "true", or "false"
    • Makefile: added target "try" to test-run the kboot shell
    • added option --dry-run to boot shell, to suppress initializations changing administrative settings of the host system
    • now all temporary mounts are kept, so that future versions can also access items on multiple file systems
    • renamed configuration variable "default_root" to "root"
    • "make root" now honors dependencies for items in config/
  • Bug fixes:
    • forgot to include TODO in the distribution
    • update-fstab: some awks don't like the unescaped slash in /[:/]/ (reported by Rafael Zurita)
    • NFS check for invalid "host:" path name was broken (and used an undefined variable)
    • "something:path" checks now require "something" to be at least one character long
    • removed stray debugging "echo" from "something:path" processing
    • "make root" looked for root/dev/console, then created root/dev/null

 kboot-1 (13-SEP-2005)
kboot-1.tar.gz (21 kB)

Changes:

  • New features:
    • added networking setup (only NFS with static IP works so far)
    • new make targets "config" (complement configuration) and "reconfig" (start over)
    • a default setting for the root device is now automatically provided
  • Changes:
    • fstab is now converted when building the root file system, not at boot time
    • scripts/kboot now uses an associative array to store fstab data
    • scripts/kboot now uses an associative array to store known directories
  • Cleanup:
    • moved kexec-tools-1.101-fix-real-mode-entry-vivek.patch into new directory patches/
    • changed location of local-kernel-config to config/kernel-config
    • disentangled fstab lookup logic to use config/fstab, and renamed target file from /fstab.booted to /etc/fstab
    • added /etc/hosts to kboot environment
    • moved description of kboot.conf from README to config/README
    • replaced description of fstab in README with updated description in config/README
    • moved kboot.conf in kboot environment from / to /etc
    • moved "kboot" to new directory scripts/
    • README: mention the names of the output files in section "Build results"
    • moved -/.installed to installed/ under build/ or root-meta/, respectively
    • -/.{extracted,configured,built} are now called .kboot-extracted, etc., to make name clashes less likely
    • each build stage now delete its own state file and the state files of later build stages, to allow for graceful recovery from interrupted builds
  • Bug fixes:
    • udev was lacking dependencies on gcc-uclibc
    • gcc builds ran in source directory, not in build directories
  • Miscellaneous:
    • TODO: added need for password protection and securing "restricted"

 kboot-0 (12-SEP-2005)
kboot-0.tar.gz (16 kB)

Changes:

  • initial release

Last update: 11-JAN-2007   Werner Almesberger