Hello, I have recently ported bproc [1] which part of clustermatic [2] suite to xen-2.0 [3] to run on domain0. It was pretty straightforward, that it required few trival hacks to the kernel, few sym-links and remembering to use "ARCH=xen" whenever appropriate.
However, clustermatic does use linuxbios on its nodes for booting and does not use traditional bios at all. This means that the grub (with its multiboot support) with its heavy dependencies on PC-BIOS Is out of window.
Thus I'm trying to figure out how I could boot xen/linux-2.6.8.1-xen0 duo on nodes. Are there any other options to boot it besides using grub[4][5]? and preferably does not rquire multiboot [6].
I figure out I that maybe could load xen.gz [7] using FILO, Kexec, or maybe etherboot but it still would not load linux kernel in turn (because of the dependency on multiboot).
Anyone knows what are my options here? Ideas?
[1] http://bproc.sourceforge.net/ [2] http://www.clustermatic.org/ [3] http://www.cl.cam.ac.uk/Research/SRG/netos/xen/ [4] grub configuration file entry for xen
title Xen 2.0 / XenLinux 2.6.8.1 kernel (hd0,0)/boot/xen.gz dom0_mem=65536 module (hd0,0)/boot/vmlinuz-2.6.8.1-xen0 root=/dev/hda1
[5] grub-multiboot, from info page
- Command: module file ... Load a boot module FILE for a Multiboot format boot image (no interpretation of the file contents are made, so the user of this command must know what the kernel in question expects). The rest of the line is passed as the "module command-line", like the `kernel' command. You must load a Multiboot kernel image before loading any module. See also *Note modulenounzip::.
[6] http://www.gnu.org/software/grub/manual/multiboot/multiboot.html does anyone knows better references to multiboot specs?
[7] /boot/xen.gz
redbull:/etc/clustermatic # file /boot/xen.gz /boot/xen.gz: gzip compressed data, from Unix, max compression
redbull:/etc/clustermatic # file /tmp/xen /tmp/xen: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, stripped
redbull:/etc/clustermatic # readelf -a /tmp/xen ELF Header: Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2's complement, little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: EXEC (Executable file) Machine: Intel 80386 Version: 0x1 Entry point address: 0x100000 Start of program headers: 52 (bytes into file) Start of section headers: 266608 (bytes into file) Flags: 0x0 Size of this header: 52 (bytes) Size of program headers: 32 (bytes) Number of program headers: 1 Size of section headers: 40 (bytes) Number of section headers: 3 Section header string table index: 2
Section Headers: [Nr] Name Type Addr Off Size ES Flg Lk Inf Al [ 0] NULL 00000000 000000 000000 00 0 0 0 [ 1] .text PROGBITS 00100000 000080 0410f0 00 WAX 0 0 64 [ 2] .shstrtab STRTAB 00000000 0411e8 000011 00 0 0 1 Key to Flags: W (write), A (alloc), X (execute), M (merge), S (strings) I (info), L (link order), G (group), x (unknown) O (extra OS processing required) o (OS specific), p (processor specific)
Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x000080 0x00100000 0x00100000 0x410f0 0x764c0 RWE 0x40
Section to Segment mapping: Segment Sections... 00 .text
There is no dynamic segment in this file.
There are no relocations in this file.
There are no unwind sections in this file.
No version information found in this file. redbull:/etc/clustermatic #