Date: Friday, August 26, 2011 @ 06:46:24 Author: tpowa Revision: 136323
archrelease: copy trunk to extra-i686, extra-x86_64 Added: kexec-tools/repos/extra-i686/PKGBUILD (from rev 136322, kexec-tools/trunk/PKGBUILD) kexec-tools/repos/extra-i686/kexec (from rev 136322, kexec-tools/trunk/kexec) kexec-tools/repos/extra-i686/kexec-tools-2.0.0-purgatory-makefile.patch (from rev 136322, kexec-tools/trunk/kexec-tools-2.0.0-purgatory-makefile.patch) kexec-tools/repos/extra-i686/kexec-vesafb.diff (from rev 136322, kexec-tools/trunk/kexec-vesafb.diff) kexec-tools/repos/extra-i686/kexec.conf.d (from rev 136322, kexec-tools/trunk/kexec.conf.d) kexec-tools/repos/extra-x86_64/PKGBUILD (from rev 136322, kexec-tools/trunk/PKGBUILD) kexec-tools/repos/extra-x86_64/kexec (from rev 136322, kexec-tools/trunk/kexec) kexec-tools/repos/extra-x86_64/kexec-tools-2.0.0-purgatory-makefile.patch (from rev 136322, kexec-tools/trunk/kexec-tools-2.0.0-purgatory-makefile.patch) kexec-tools/repos/extra-x86_64/kexec-vesafb.diff (from rev 136322, kexec-tools/trunk/kexec-vesafb.diff) kexec-tools/repos/extra-x86_64/kexec.conf.d (from rev 136322, kexec-tools/trunk/kexec.conf.d) Deleted: kexec-tools/repos/extra-i686/PKGBUILD kexec-tools/repos/extra-i686/kexec kexec-tools/repos/extra-i686/kexec-vesafb.diff kexec-tools/repos/extra-i686/kexec.conf.d kexec-tools/repos/extra-x86_64/PKGBUILD kexec-tools/repos/extra-x86_64/kexec kexec-tools/repos/extra-x86_64/kexec-vesafb.diff kexec-tools/repos/extra-x86_64/kexec.conf.d ---------------------------------------------------------+ extra-i686/PKGBUILD | 78 +++---- extra-i686/kexec | 90 ++++---- extra-i686/kexec-tools-2.0.0-purgatory-makefile.patch | 20 + extra-i686/kexec-vesafb.diff | 156 +++++++------- extra-i686/kexec.conf.d | 32 +- extra-x86_64/PKGBUILD | 78 +++---- extra-x86_64/kexec | 90 ++++---- extra-x86_64/kexec-tools-2.0.0-purgatory-makefile.patch | 20 + extra-x86_64/kexec-vesafb.diff | 156 +++++++------- extra-x86_64/kexec.conf.d | 32 +- 10 files changed, 400 insertions(+), 352 deletions(-) Deleted: extra-i686/PKGBUILD =================================================================== --- extra-i686/PKGBUILD 2011-08-26 10:44:37 UTC (rev 136322) +++ extra-i686/PKGBUILD 2011-08-26 10:46:24 UTC (rev 136323) @@ -1,37 +0,0 @@ -# $Id$ -# Contributor: Camille Moncelier <p...@devlife.org>, simo <s...@archlinux.org> -# Maintainer: Tobias Powalowski <tp...@archlinux.org> - -pkgname=kexec-tools -pkgver=2.0.2 -pkgrel=3 -pkgdesc="Load another kernel from the currently executing Linux kernel" -arch=('i686' 'x86_64') -url="http://kernel.org/pub/linux/utils/kernel/kexec/" -source=("http://kernel.org/pub/linux/utils/kernel/kexec/kexec-tools-${pkgver}.tar.bz2" - 'kexec' 'kexec.conf.d') -depends=('gawk') -makedepends=('zlib' 'xz') -backup=('etc/conf.d/kexec') -license=('GPL2') -md5sums=('35d05fed1c97008ac34c5bfb929295eb' - '15599234f174ddc4d2611f32effec6ab' - 'b9ddfb9fbcc7e4e7e7294fe94fa60aeb') - -build() { - cd $srcdir/$pkgname-$pkgver - export LDFLAGS+=" -static" - ./configure --prefix=/usr - make -} - -package() { - cd $srcdir/$pkgname-$pkgver - make DESTDIR=$pkgdir install - - mv $pkgdir/usr/sbin $pkgdir/sbin - - install -D -m644 kexec/kexec.8 $pkgdir/usr/share/man/man8/kexec.8 - install -D -m644 $srcdir/kexec.conf.d $pkgdir/etc/conf.d/kexec - install -D -m755 $srcdir/kexec $pkgdir/etc/rc.d/kexec -} Copied: kexec-tools/repos/extra-i686/PKGBUILD (from rev 136322, kexec-tools/trunk/PKGBUILD) =================================================================== --- extra-i686/PKGBUILD (rev 0) +++ extra-i686/PKGBUILD 2011-08-26 10:46:24 UTC (rev 136323) @@ -0,0 +1,41 @@ +# $Id$ +# Contributor: Camille Moncelier <p...@devlife.org>, simo <s...@archlinux.org> +# Maintainer: Tobias Powalowski <tp...@archlinux.org> + +pkgname=kexec-tools +pkgver=2.0.2 +pkgrel=4 +pkgdesc="Load another kernel from the currently executing Linux kernel" +arch=('i686' 'x86_64') +url="http://kernel.org/pub/linux/utils/kernel/kexec/" +source=("http://kernel.org/pub/linux/utils/kernel/kexec/kexec-tools-${pkgver}.tar.bz2" + 'kexec-tools-2.0.0-purgatory-makefile.patch' + 'kexec' + 'kexec.conf.d') +depends=('gawk') +makedepends=('zlib' 'xz') +backup=('etc/conf.d/kexec') +license=('GPL2') +md5sums=('35d05fed1c97008ac34c5bfb929295eb' + 'b96f47c29757fcadfbc50ea6ea22f839' + 'be059a103e5989519d22fca99f860a64' + '9ca7e31d2c5c66c436a9a2baf20ad9b2') + +build() { + cd $srcdir/$pkgname-$pkgver + export LDFLAGS+=" -static" + patch -Np1 -i ../kexec-tools-2.0.0-purgatory-makefile.patch + ./configure --prefix=/usr + make +} + +package() { + cd $srcdir/$pkgname-$pkgver + make DESTDIR=$pkgdir install + + mv $pkgdir/usr/sbin $pkgdir/sbin + + install -D -m644 kexec/kexec.8 $pkgdir/usr/share/man/man8/kexec.8 + install -D -m644 $srcdir/kexec.conf.d $pkgdir/etc/conf.d/kexec + install -D -m755 $srcdir/kexec $pkgdir/etc/rc.d/kexec +} Deleted: extra-i686/kexec =================================================================== --- extra-i686/kexec 2011-08-26 10:44:37 UTC (rev 136322) +++ extra-i686/kexec 2011-08-26 10:46:24 UTC (rev 136323) @@ -1,45 +0,0 @@ -#!/bin/bash - -[ -f /etc/conf.d/kexec ] && . /etc/conf.d/kexec - -. /etc/rc.conf -. /etc/rc.d/functions - -case "$1" in - start) - stat_busy "Enabled loading kernel for Kexec into running kernel on reboot" - add_daemon kexec - stat_done - ;; - - stop|load) - if [ "$RUNLEVEL" = "6" -o "$1" = "load" ]; then - stat_busy "Loading kernel for Kexec into running kernel" - [ -f "$KPATH" ] || stat_fail - [ -f "$INITRD" ] && _INITRD="--initrd=$INITRD" - /sbin/kexec -l $KPATH --append="root=$ROOTPART $KPARAM" $_INITRD > /dev/null 2>&1 - else - stat_busy "Skipping loading kernel for Kexec into running kernel" - fi - if [ $? -eq 0 ] ; then - rm_daemon kexec - stat_done - else - stat_fail - fi - ;; - - unload) - stat_busy "Unloading Kexec kernel from running kernel" - /sbin/kexec -u - if [ $? -eq 0 ] ; then - stat_done - else - stat_fail - fi - ;; - - *) - echo "usage: $0 {start|stop|load|unload}" -esac -exit 0 Copied: kexec-tools/repos/extra-i686/kexec (from rev 136322, kexec-tools/trunk/kexec) =================================================================== --- extra-i686/kexec (rev 0) +++ extra-i686/kexec 2011-08-26 10:46:24 UTC (rev 136323) @@ -0,0 +1,45 @@ +#!/bin/bash + +[ -f /etc/conf.d/kexec ] && . /etc/conf.d/kexec + +. /etc/rc.conf +. /etc/rc.d/functions + +case "$1" in + start) + stat_busy "Enabling kexec on reboot" + add_daemon kexec + stat_done + ;; + + stop|load) + if [ "$RUNLEVEL" = "6" -o "$1" = "load" ]; then + stat_busy "Loading kexec kernel" + [ -f "$KPATH" ] || stat_fail + [ -f "$INITRD" ] && _INITRD="--initrd=$INITRD" + /sbin/kexec -l $KPATH --append="root=$ROOTPART $KPARAM" $_INITRD > /dev/null 2>&1 + else + stat_busy "Disabling kexec on reboot" + fi + if [ $? -eq 0 ] ; then + rm_daemon kexec + stat_done + else + stat_fail + fi + ;; + + unload) + stat_busy "Unloading kexec kernel" + /sbin/kexec -u + if [ $? -eq 0 ] ; then + stat_done + else + stat_fail + fi + ;; + + *) + echo "usage: $0 {start|stop|load|unload}" +esac +exit 0 Copied: kexec-tools/repos/extra-i686/kexec-tools-2.0.0-purgatory-makefile.patch (from rev 136322, kexec-tools/trunk/kexec-tools-2.0.0-purgatory-makefile.patch) =================================================================== --- extra-i686/kexec-tools-2.0.0-purgatory-makefile.patch (rev 0) +++ extra-i686/kexec-tools-2.0.0-purgatory-makefile.patch 2011-08-26 10:46:24 UTC (rev 136323) @@ -0,0 +1,20 @@ +diff -up kexec-tools-2.0.0/purgatory/Makefile.orig kexec-tools-2.0.0/purgatory/Makefile +--- kexec-tools-2.0.0/purgatory/Makefile.orig 2011-03-10 11:39:22.100799291 -0500 ++++ kexec-tools-2.0.0/purgatory/Makefile 2011-03-10 11:39:36.422736886 -0500 +@@ -55,14 +55,14 @@ $(PURGATORY): CPPFLAGS=$($(ARCH)_PURGATO + -I$(srcdir)/util_lib/include \ + -I$(shell $(CC) -print-file-name=include) + $(PURGATORY): LDFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS)\ +- --no-undefined -nostartfiles -nostdlib -nodefaultlibs \ ++ -nostartfiles -nostdlib -nodefaultlibs \ + -e purgatory_start -r + + $(PURGATORY): $(PURGATORY_OBJS) + $(MKDIR) -p $(@D) + $(CC) $(LDFLAGS) -o $@ $^ + +-# $(LD) $(LDFLAGS) $(EXTRA_LDFLAGS) --no-undefined -e purgatory_start -r -o $@ $(PURGATORY_OBJS) $(UTIL_LIB) ++# $(LD) $(LDFLAGS) $(EXTRA_LDFLAGS) -e purgatory_start -r -o $@ $(PURGATORY_OBJS) $(UTIL_LIB) + + echo:: + @echo "PURGATORY_SRCS $(PURGATORY_SRCS)" Deleted: extra-i686/kexec-vesafb.diff =================================================================== --- extra-i686/kexec-vesafb.diff 2011-08-26 10:44:37 UTC (rev 136322) +++ extra-i686/kexec-vesafb.diff 2011-08-26 10:46:24 UTC (rev 136323) @@ -1,78 +0,0 @@ -Index: kexec-tools-1.101/kexec/arch/i386/x86-linux-setup.c -=================================================================== ---- kexec-tools-1.101.orig/kexec/arch/i386/x86-linux-setup.c 2006-03-03 10:51:31.000000000 +0100 -+++ kexec-tools-1.101/kexec/arch/i386/x86-linux-setup.c 2006-03-10 14:02:20.000000000 +0100 -@@ -24,6 +24,8 @@ - #include <sys/stat.h> - #include <sys/mman.h> - #include <fcntl.h> -+#include <sys/ioctl.h> -+#include <linux/fb.h> - #include <unistd.h> - #include <x86/x86-linux.h> - #include "../../kexec.h" -@@ -94,6 +96,56 @@ void setup_linux_bootloader_parameters( - cmdline_ptr[cmdline_len - 1] = '\0'; - } - -+int setup_linux_vesafb(struct x86_linux_param_header *real_mode) -+{ -+ struct fb_fix_screeninfo fix; -+ struct fb_var_screeninfo var; -+ int fd; -+ -+ fd = open("/dev/fb0", O_RDONLY); -+ if (-1 == fd) -+ return -1; -+ -+ if (-1 == ioctl(fd, FBIOGET_FSCREENINFO, &fix)) -+ goto out; -+ if (-1 == ioctl(fd, FBIOGET_VSCREENINFO, &var)) -+ goto out; -+ if (0 != strcmp(fix.id, "VESA VGA")) -+ goto out; -+ close(fd); -+ -+ real_mode->orig_video_isVGA = 0x23 /* VIDEO_TYPE_VLFB */; -+ real_mode->lfb_width = var.xres; -+ real_mode->lfb_height = var.yres; -+ real_mode->lfb_depth = var.bits_per_pixel; -+ real_mode->lfb_base = fix.smem_start; -+ real_mode->lfb_linelength = fix.line_length; -+ real_mode->vesapm_seg = 0; -+ -+ /* fixme: better get size from /proc/iomem */ -+ real_mode->lfb_size = (fix.smem_len + 65535) / 65536; -+ real_mode->pages = (fix.smem_len + 4095) / 4096; -+ -+ if (var.bits_per_pixel > 8) { -+ real_mode->red_pos = var.red.offset; -+ real_mode->red_size = var.red.length; -+ real_mode->green_pos = var.green.offset; -+ real_mode->green_size = var.green.length; -+ real_mode->blue_pos = var.blue.offset; -+ real_mode->blue_size = var.blue.length; -+ real_mode->rsvd_pos = var.transp.offset; -+ real_mode->rsvd_size = var.transp.length; -+ } -+ fprintf(stderr, "%s: %dx%dx%d @ %lx +%lx\n", __FUNCTION__, -+ var.xres, var.yres, var.bits_per_pixel, -+ fix.smem_start, fix.smem_len); -+ return 0; -+ -+ out: -+ close(fd); -+ return -1; -+} -+ - void setup_linux_system_parameters(struct x86_linux_param_header *real_mode) - { - /* Fill in information the BIOS would usually provide */ -@@ -111,6 +163,7 @@ void setup_linux_system_parameters(struc - real_mode->orig_video_ega_bx = 0; - real_mode->orig_video_isVGA = 1; - real_mode->orig_video_points = 16; -+ setup_linux_vesafb(real_mode); - - /* Fill in the memsize later */ - real_mode->ext_mem_k = 0; Copied: kexec-tools/repos/extra-i686/kexec-vesafb.diff (from rev 136322, kexec-tools/trunk/kexec-vesafb.diff) =================================================================== --- extra-i686/kexec-vesafb.diff (rev 0) +++ extra-i686/kexec-vesafb.diff 2011-08-26 10:46:24 UTC (rev 136323) @@ -0,0 +1,78 @@ +Index: kexec-tools-1.101/kexec/arch/i386/x86-linux-setup.c +=================================================================== +--- kexec-tools-1.101.orig/kexec/arch/i386/x86-linux-setup.c 2006-03-03 10:51:31.000000000 +0100 ++++ kexec-tools-1.101/kexec/arch/i386/x86-linux-setup.c 2006-03-10 14:02:20.000000000 +0100 +@@ -24,6 +24,8 @@ + #include <sys/stat.h> + #include <sys/mman.h> + #include <fcntl.h> ++#include <sys/ioctl.h> ++#include <linux/fb.h> + #include <unistd.h> + #include <x86/x86-linux.h> + #include "../../kexec.h" +@@ -94,6 +96,56 @@ void setup_linux_bootloader_parameters( + cmdline_ptr[cmdline_len - 1] = '\0'; + } + ++int setup_linux_vesafb(struct x86_linux_param_header *real_mode) ++{ ++ struct fb_fix_screeninfo fix; ++ struct fb_var_screeninfo var; ++ int fd; ++ ++ fd = open("/dev/fb0", O_RDONLY); ++ if (-1 == fd) ++ return -1; ++ ++ if (-1 == ioctl(fd, FBIOGET_FSCREENINFO, &fix)) ++ goto out; ++ if (-1 == ioctl(fd, FBIOGET_VSCREENINFO, &var)) ++ goto out; ++ if (0 != strcmp(fix.id, "VESA VGA")) ++ goto out; ++ close(fd); ++ ++ real_mode->orig_video_isVGA = 0x23 /* VIDEO_TYPE_VLFB */; ++ real_mode->lfb_width = var.xres; ++ real_mode->lfb_height = var.yres; ++ real_mode->lfb_depth = var.bits_per_pixel; ++ real_mode->lfb_base = fix.smem_start; ++ real_mode->lfb_linelength = fix.line_length; ++ real_mode->vesapm_seg = 0; ++ ++ /* fixme: better get size from /proc/iomem */ ++ real_mode->lfb_size = (fix.smem_len + 65535) / 65536; ++ real_mode->pages = (fix.smem_len + 4095) / 4096; ++ ++ if (var.bits_per_pixel > 8) { ++ real_mode->red_pos = var.red.offset; ++ real_mode->red_size = var.red.length; ++ real_mode->green_pos = var.green.offset; ++ real_mode->green_size = var.green.length; ++ real_mode->blue_pos = var.blue.offset; ++ real_mode->blue_size = var.blue.length; ++ real_mode->rsvd_pos = var.transp.offset; ++ real_mode->rsvd_size = var.transp.length; ++ } ++ fprintf(stderr, "%s: %dx%dx%d @ %lx +%lx\n", __FUNCTION__, ++ var.xres, var.yres, var.bits_per_pixel, ++ fix.smem_start, fix.smem_len); ++ return 0; ++ ++ out: ++ close(fd); ++ return -1; ++} ++ + void setup_linux_system_parameters(struct x86_linux_param_header *real_mode) + { + /* Fill in information the BIOS would usually provide */ +@@ -111,6 +163,7 @@ void setup_linux_system_parameters(struc + real_mode->orig_video_ega_bx = 0; + real_mode->orig_video_isVGA = 1; + real_mode->orig_video_points = 16; ++ setup_linux_vesafb(real_mode); + + /* Fill in the memsize later */ + real_mode->ext_mem_k = 0; Deleted: extra-i686/kexec.conf.d =================================================================== --- extra-i686/kexec.conf.d 2011-08-26 10:44:37 UTC (rev 136322) +++ extra-i686/kexec.conf.d 2011-08-26 10:46:24 UTC (rev 136323) @@ -1,16 +0,0 @@ -# -# Configuration for Kexec -# - -# Path to kernel, default to stock arch kernel -KPATH="/boot/vmlinuz26" - -# Root partition -# The default attempts to autodetect -ROOTPART="$(awk '/^[ \t]*[^#]/ { if ($2 == "/") { print $1; }}' /etc/fstab)" - -# Additional kernel parameters -KPARAM="ro" - -# Path to initrd image, default to stock arch kernel -INITRD="/boot/kernel26.img" Copied: kexec-tools/repos/extra-i686/kexec.conf.d (from rev 136322, kexec-tools/trunk/kexec.conf.d) =================================================================== --- extra-i686/kexec.conf.d (rev 0) +++ extra-i686/kexec.conf.d 2011-08-26 10:46:24 UTC (rev 136323) @@ -0,0 +1,16 @@ +# +# Configuration for Kexec +# + +# Path to kernel, default to stock arch kernel +KPATH="/boot/vmlinuz-linux" + +# Root partition +# The default attempts to autodetect +ROOTPART="$(awk '/^[ \t]*[^#]/ { if ($2 == "/") { print $1; }}' /etc/fstab)" + +# Additional kernel parameters +KPARAM="ro" + +# Path to initrd image, default to stock arch kernel +INITRD="/boot/initramfs-linux.img" Deleted: extra-x86_64/PKGBUILD =================================================================== --- extra-x86_64/PKGBUILD 2011-08-26 10:44:37 UTC (rev 136322) +++ extra-x86_64/PKGBUILD 2011-08-26 10:46:24 UTC (rev 136323) @@ -1,37 +0,0 @@ -# $Id$ -# Contributor: Camille Moncelier <p...@devlife.org>, simo <s...@archlinux.org> -# Maintainer: Tobias Powalowski <tp...@archlinux.org> - -pkgname=kexec-tools -pkgver=2.0.2 -pkgrel=3 -pkgdesc="Load another kernel from the currently executing Linux kernel" -arch=('i686' 'x86_64') -url="http://kernel.org/pub/linux/utils/kernel/kexec/" -source=("http://kernel.org/pub/linux/utils/kernel/kexec/kexec-tools-${pkgver}.tar.bz2" - 'kexec' 'kexec.conf.d') -depends=('gawk') -makedepends=('zlib' 'xz') -backup=('etc/conf.d/kexec') -license=('GPL2') -md5sums=('35d05fed1c97008ac34c5bfb929295eb' - '15599234f174ddc4d2611f32effec6ab' - 'b9ddfb9fbcc7e4e7e7294fe94fa60aeb') - -build() { - cd $srcdir/$pkgname-$pkgver - export LDFLAGS+=" -static" - ./configure --prefix=/usr - make -} - -package() { - cd $srcdir/$pkgname-$pkgver - make DESTDIR=$pkgdir install - - mv $pkgdir/usr/sbin $pkgdir/sbin - - install -D -m644 kexec/kexec.8 $pkgdir/usr/share/man/man8/kexec.8 - install -D -m644 $srcdir/kexec.conf.d $pkgdir/etc/conf.d/kexec - install -D -m755 $srcdir/kexec $pkgdir/etc/rc.d/kexec -} Copied: kexec-tools/repos/extra-x86_64/PKGBUILD (from rev 136322, kexec-tools/trunk/PKGBUILD) =================================================================== --- extra-x86_64/PKGBUILD (rev 0) +++ extra-x86_64/PKGBUILD 2011-08-26 10:46:24 UTC (rev 136323) @@ -0,0 +1,41 @@ +# $Id$ +# Contributor: Camille Moncelier <p...@devlife.org>, simo <s...@archlinux.org> +# Maintainer: Tobias Powalowski <tp...@archlinux.org> + +pkgname=kexec-tools +pkgver=2.0.2 +pkgrel=4 +pkgdesc="Load another kernel from the currently executing Linux kernel" +arch=('i686' 'x86_64') +url="http://kernel.org/pub/linux/utils/kernel/kexec/" +source=("http://kernel.org/pub/linux/utils/kernel/kexec/kexec-tools-${pkgver}.tar.bz2" + 'kexec-tools-2.0.0-purgatory-makefile.patch' + 'kexec' + 'kexec.conf.d') +depends=('gawk') +makedepends=('zlib' 'xz') +backup=('etc/conf.d/kexec') +license=('GPL2') +md5sums=('35d05fed1c97008ac34c5bfb929295eb' + 'b96f47c29757fcadfbc50ea6ea22f839' + 'be059a103e5989519d22fca99f860a64' + '9ca7e31d2c5c66c436a9a2baf20ad9b2') + +build() { + cd $srcdir/$pkgname-$pkgver + export LDFLAGS+=" -static" + patch -Np1 -i ../kexec-tools-2.0.0-purgatory-makefile.patch + ./configure --prefix=/usr + make +} + +package() { + cd $srcdir/$pkgname-$pkgver + make DESTDIR=$pkgdir install + + mv $pkgdir/usr/sbin $pkgdir/sbin + + install -D -m644 kexec/kexec.8 $pkgdir/usr/share/man/man8/kexec.8 + install -D -m644 $srcdir/kexec.conf.d $pkgdir/etc/conf.d/kexec + install -D -m755 $srcdir/kexec $pkgdir/etc/rc.d/kexec +} Deleted: extra-x86_64/kexec =================================================================== --- extra-x86_64/kexec 2011-08-26 10:44:37 UTC (rev 136322) +++ extra-x86_64/kexec 2011-08-26 10:46:24 UTC (rev 136323) @@ -1,45 +0,0 @@ -#!/bin/bash - -[ -f /etc/conf.d/kexec ] && . /etc/conf.d/kexec - -. /etc/rc.conf -. /etc/rc.d/functions - -case "$1" in - start) - stat_busy "Enabled loading kernel for Kexec into running kernel on reboot" - add_daemon kexec - stat_done - ;; - - stop|load) - if [ "$RUNLEVEL" = "6" -o "$1" = "load" ]; then - stat_busy "Loading kernel for Kexec into running kernel" - [ -f "$KPATH" ] || stat_fail - [ -f "$INITRD" ] && _INITRD="--initrd=$INITRD" - /sbin/kexec -l $KPATH --append="root=$ROOTPART $KPARAM" $_INITRD > /dev/null 2>&1 - else - stat_busy "Skipping loading kernel for Kexec into running kernel" - fi - if [ $? -eq 0 ] ; then - rm_daemon kexec - stat_done - else - stat_fail - fi - ;; - - unload) - stat_busy "Unloading Kexec kernel from running kernel" - /sbin/kexec -u - if [ $? -eq 0 ] ; then - stat_done - else - stat_fail - fi - ;; - - *) - echo "usage: $0 {start|stop|load|unload}" -esac -exit 0 Copied: kexec-tools/repos/extra-x86_64/kexec (from rev 136322, kexec-tools/trunk/kexec) =================================================================== --- extra-x86_64/kexec (rev 0) +++ extra-x86_64/kexec 2011-08-26 10:46:24 UTC (rev 136323) @@ -0,0 +1,45 @@ +#!/bin/bash + +[ -f /etc/conf.d/kexec ] && . /etc/conf.d/kexec + +. /etc/rc.conf +. /etc/rc.d/functions + +case "$1" in + start) + stat_busy "Enabling kexec on reboot" + add_daemon kexec + stat_done + ;; + + stop|load) + if [ "$RUNLEVEL" = "6" -o "$1" = "load" ]; then + stat_busy "Loading kexec kernel" + [ -f "$KPATH" ] || stat_fail + [ -f "$INITRD" ] && _INITRD="--initrd=$INITRD" + /sbin/kexec -l $KPATH --append="root=$ROOTPART $KPARAM" $_INITRD > /dev/null 2>&1 + else + stat_busy "Disabling kexec on reboot" + fi + if [ $? -eq 0 ] ; then + rm_daemon kexec + stat_done + else + stat_fail + fi + ;; + + unload) + stat_busy "Unloading kexec kernel" + /sbin/kexec -u + if [ $? -eq 0 ] ; then + stat_done + else + stat_fail + fi + ;; + + *) + echo "usage: $0 {start|stop|load|unload}" +esac +exit 0 Copied: kexec-tools/repos/extra-x86_64/kexec-tools-2.0.0-purgatory-makefile.patch (from rev 136322, kexec-tools/trunk/kexec-tools-2.0.0-purgatory-makefile.patch) =================================================================== --- extra-x86_64/kexec-tools-2.0.0-purgatory-makefile.patch (rev 0) +++ extra-x86_64/kexec-tools-2.0.0-purgatory-makefile.patch 2011-08-26 10:46:24 UTC (rev 136323) @@ -0,0 +1,20 @@ +diff -up kexec-tools-2.0.0/purgatory/Makefile.orig kexec-tools-2.0.0/purgatory/Makefile +--- kexec-tools-2.0.0/purgatory/Makefile.orig 2011-03-10 11:39:22.100799291 -0500 ++++ kexec-tools-2.0.0/purgatory/Makefile 2011-03-10 11:39:36.422736886 -0500 +@@ -55,14 +55,14 @@ $(PURGATORY): CPPFLAGS=$($(ARCH)_PURGATO + -I$(srcdir)/util_lib/include \ + -I$(shell $(CC) -print-file-name=include) + $(PURGATORY): LDFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS)\ +- --no-undefined -nostartfiles -nostdlib -nodefaultlibs \ ++ -nostartfiles -nostdlib -nodefaultlibs \ + -e purgatory_start -r + + $(PURGATORY): $(PURGATORY_OBJS) + $(MKDIR) -p $(@D) + $(CC) $(LDFLAGS) -o $@ $^ + +-# $(LD) $(LDFLAGS) $(EXTRA_LDFLAGS) --no-undefined -e purgatory_start -r -o $@ $(PURGATORY_OBJS) $(UTIL_LIB) ++# $(LD) $(LDFLAGS) $(EXTRA_LDFLAGS) -e purgatory_start -r -o $@ $(PURGATORY_OBJS) $(UTIL_LIB) + + echo:: + @echo "PURGATORY_SRCS $(PURGATORY_SRCS)" Deleted: extra-x86_64/kexec-vesafb.diff =================================================================== --- extra-x86_64/kexec-vesafb.diff 2011-08-26 10:44:37 UTC (rev 136322) +++ extra-x86_64/kexec-vesafb.diff 2011-08-26 10:46:24 UTC (rev 136323) @@ -1,78 +0,0 @@ -Index: kexec-tools-1.101/kexec/arch/i386/x86-linux-setup.c -=================================================================== ---- kexec-tools-1.101.orig/kexec/arch/i386/x86-linux-setup.c 2006-03-03 10:51:31.000000000 +0100 -+++ kexec-tools-1.101/kexec/arch/i386/x86-linux-setup.c 2006-03-10 14:02:20.000000000 +0100 -@@ -24,6 +24,8 @@ - #include <sys/stat.h> - #include <sys/mman.h> - #include <fcntl.h> -+#include <sys/ioctl.h> -+#include <linux/fb.h> - #include <unistd.h> - #include <x86/x86-linux.h> - #include "../../kexec.h" -@@ -94,6 +96,56 @@ void setup_linux_bootloader_parameters( - cmdline_ptr[cmdline_len - 1] = '\0'; - } - -+int setup_linux_vesafb(struct x86_linux_param_header *real_mode) -+{ -+ struct fb_fix_screeninfo fix; -+ struct fb_var_screeninfo var; -+ int fd; -+ -+ fd = open("/dev/fb0", O_RDONLY); -+ if (-1 == fd) -+ return -1; -+ -+ if (-1 == ioctl(fd, FBIOGET_FSCREENINFO, &fix)) -+ goto out; -+ if (-1 == ioctl(fd, FBIOGET_VSCREENINFO, &var)) -+ goto out; -+ if (0 != strcmp(fix.id, "VESA VGA")) -+ goto out; -+ close(fd); -+ -+ real_mode->orig_video_isVGA = 0x23 /* VIDEO_TYPE_VLFB */; -+ real_mode->lfb_width = var.xres; -+ real_mode->lfb_height = var.yres; -+ real_mode->lfb_depth = var.bits_per_pixel; -+ real_mode->lfb_base = fix.smem_start; -+ real_mode->lfb_linelength = fix.line_length; -+ real_mode->vesapm_seg = 0; -+ -+ /* fixme: better get size from /proc/iomem */ -+ real_mode->lfb_size = (fix.smem_len + 65535) / 65536; -+ real_mode->pages = (fix.smem_len + 4095) / 4096; -+ -+ if (var.bits_per_pixel > 8) { -+ real_mode->red_pos = var.red.offset; -+ real_mode->red_size = var.red.length; -+ real_mode->green_pos = var.green.offset; -+ real_mode->green_size = var.green.length; -+ real_mode->blue_pos = var.blue.offset; -+ real_mode->blue_size = var.blue.length; -+ real_mode->rsvd_pos = var.transp.offset; -+ real_mode->rsvd_size = var.transp.length; -+ } -+ fprintf(stderr, "%s: %dx%dx%d @ %lx +%lx\n", __FUNCTION__, -+ var.xres, var.yres, var.bits_per_pixel, -+ fix.smem_start, fix.smem_len); -+ return 0; -+ -+ out: -+ close(fd); -+ return -1; -+} -+ - void setup_linux_system_parameters(struct x86_linux_param_header *real_mode) - { - /* Fill in information the BIOS would usually provide */ -@@ -111,6 +163,7 @@ void setup_linux_system_parameters(struc - real_mode->orig_video_ega_bx = 0; - real_mode->orig_video_isVGA = 1; - real_mode->orig_video_points = 16; -+ setup_linux_vesafb(real_mode); - - /* Fill in the memsize later */ - real_mode->ext_mem_k = 0; Copied: kexec-tools/repos/extra-x86_64/kexec-vesafb.diff (from rev 136322, kexec-tools/trunk/kexec-vesafb.diff) =================================================================== --- extra-x86_64/kexec-vesafb.diff (rev 0) +++ extra-x86_64/kexec-vesafb.diff 2011-08-26 10:46:24 UTC (rev 136323) @@ -0,0 +1,78 @@ +Index: kexec-tools-1.101/kexec/arch/i386/x86-linux-setup.c +=================================================================== +--- kexec-tools-1.101.orig/kexec/arch/i386/x86-linux-setup.c 2006-03-03 10:51:31.000000000 +0100 ++++ kexec-tools-1.101/kexec/arch/i386/x86-linux-setup.c 2006-03-10 14:02:20.000000000 +0100 +@@ -24,6 +24,8 @@ + #include <sys/stat.h> + #include <sys/mman.h> + #include <fcntl.h> ++#include <sys/ioctl.h> ++#include <linux/fb.h> + #include <unistd.h> + #include <x86/x86-linux.h> + #include "../../kexec.h" +@@ -94,6 +96,56 @@ void setup_linux_bootloader_parameters( + cmdline_ptr[cmdline_len - 1] = '\0'; + } + ++int setup_linux_vesafb(struct x86_linux_param_header *real_mode) ++{ ++ struct fb_fix_screeninfo fix; ++ struct fb_var_screeninfo var; ++ int fd; ++ ++ fd = open("/dev/fb0", O_RDONLY); ++ if (-1 == fd) ++ return -1; ++ ++ if (-1 == ioctl(fd, FBIOGET_FSCREENINFO, &fix)) ++ goto out; ++ if (-1 == ioctl(fd, FBIOGET_VSCREENINFO, &var)) ++ goto out; ++ if (0 != strcmp(fix.id, "VESA VGA")) ++ goto out; ++ close(fd); ++ ++ real_mode->orig_video_isVGA = 0x23 /* VIDEO_TYPE_VLFB */; ++ real_mode->lfb_width = var.xres; ++ real_mode->lfb_height = var.yres; ++ real_mode->lfb_depth = var.bits_per_pixel; ++ real_mode->lfb_base = fix.smem_start; ++ real_mode->lfb_linelength = fix.line_length; ++ real_mode->vesapm_seg = 0; ++ ++ /* fixme: better get size from /proc/iomem */ ++ real_mode->lfb_size = (fix.smem_len + 65535) / 65536; ++ real_mode->pages = (fix.smem_len + 4095) / 4096; ++ ++ if (var.bits_per_pixel > 8) { ++ real_mode->red_pos = var.red.offset; ++ real_mode->red_size = var.red.length; ++ real_mode->green_pos = var.green.offset; ++ real_mode->green_size = var.green.length; ++ real_mode->blue_pos = var.blue.offset; ++ real_mode->blue_size = var.blue.length; ++ real_mode->rsvd_pos = var.transp.offset; ++ real_mode->rsvd_size = var.transp.length; ++ } ++ fprintf(stderr, "%s: %dx%dx%d @ %lx +%lx\n", __FUNCTION__, ++ var.xres, var.yres, var.bits_per_pixel, ++ fix.smem_start, fix.smem_len); ++ return 0; ++ ++ out: ++ close(fd); ++ return -1; ++} ++ + void setup_linux_system_parameters(struct x86_linux_param_header *real_mode) + { + /* Fill in information the BIOS would usually provide */ +@@ -111,6 +163,7 @@ void setup_linux_system_parameters(struc + real_mode->orig_video_ega_bx = 0; + real_mode->orig_video_isVGA = 1; + real_mode->orig_video_points = 16; ++ setup_linux_vesafb(real_mode); + + /* Fill in the memsize later */ + real_mode->ext_mem_k = 0; Deleted: extra-x86_64/kexec.conf.d =================================================================== --- extra-x86_64/kexec.conf.d 2011-08-26 10:44:37 UTC (rev 136322) +++ extra-x86_64/kexec.conf.d 2011-08-26 10:46:24 UTC (rev 136323) @@ -1,16 +0,0 @@ -# -# Configuration for Kexec -# - -# Path to kernel, default to stock arch kernel -KPATH="/boot/vmlinuz26" - -# Root partition -# The default attempts to autodetect -ROOTPART="$(awk '/^[ \t]*[^#]/ { if ($2 == "/") { print $1; }}' /etc/fstab)" - -# Additional kernel parameters -KPARAM="ro" - -# Path to initrd image, default to stock arch kernel -INITRD="/boot/kernel26.img" Copied: kexec-tools/repos/extra-x86_64/kexec.conf.d (from rev 136322, kexec-tools/trunk/kexec.conf.d) =================================================================== --- extra-x86_64/kexec.conf.d (rev 0) +++ extra-x86_64/kexec.conf.d 2011-08-26 10:46:24 UTC (rev 136323) @@ -0,0 +1,16 @@ +# +# Configuration for Kexec +# + +# Path to kernel, default to stock arch kernel +KPATH="/boot/vmlinuz-linux" + +# Root partition +# The default attempts to autodetect +ROOTPART="$(awk '/^[ \t]*[^#]/ { if ($2 == "/") { print $1; }}' /etc/fstab)" + +# Additional kernel parameters +KPARAM="ro" + +# Path to initrd image, default to stock arch kernel +INITRD="/boot/initramfs-linux.img"