○ Kernel再構築のための修正 4 XEN

:xen-4.1-testing.hg/Makefile
:xen-4.1-testing.hg/config/x86_32.mk
:xen-4.1-testing.hg/buildconfigs/src.git-clone
:linux-2.6.18-xen.hg/Makefile
:linux-2.6.18-xen.hg/.config
:/boot/grub/grub.conf



○xen-Makefile の修正

:xen-4.1-testing.hg/Makefile

・stubdom、docの作成を止めます (必要な場合は修正しない)
・kernelは同時にインストールしません
色修正部分

・省略

# build and install everything into the standard system directories
.PHONY: install
install: install-xen install-tools

・省略

# build and install everything into local dist directory
.PHONY: dist
dist: DESTDIR=$(DISTDIR)/install
dist: dist-xen dist-tools

・省略

:xen-4.1-testing.hg/config/x86_32.mk

・該当しない場合は変更しない
色修正部分

・省略

CONFIG_IOEMU := n

CFLAGS += -m32 -march=pentium3

・省略

:xen-4.1-testing.hg/buildconfigs/src.git-clone

・gitレポジトリを作り直すので修正します
・gitレポジトリは手動でupdateします
色修正部分

・省略

$(LINUX_SRCDIR)/.valid-src: $(__XEN_LINUX_UPDATE)
	set -ex; \
#       if ! [ -d $(LINUX_SRCDIR) ]; then \
#               rm -rf $(LINUX_SRCDIR) $(LINUX_SRCDIR).tmp; \
#               mkdir $(LINUX_SRCDIR).tmp; rmdir $(LINUX_SRCDIR).tmp; \
#               $(GIT) clone -o $(XEN_GIT_ORIGIN) -n $(XEN_LINUX_GIT_URL) $(LINUX_SRCDIR).tmp; \
#               (cd $(LINUX_SRCDIR).tmp; git checkout -b $(XEN_LINUX_GIT_LOCALBRANCH) $(XEN_LINUX_GITREV) ); \
#               mv $(LINUX_SRCDIR).tmp $(LINUX_SRCDIR); \
#       fi
	touch $@



○linux-Makefileの修正

:linux-2.6.18-xen.hg/Makefile

紫色修正部分

001
002
003
004
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 18
EXTRAVERSION = .8-xen



○menuconfigの設定

linux-2.6.18-xen.hg/.config

・kernelサイズの調整

  General setup  --->
    [*] Optimize for size (Look out for broken compilers!)

・サイズを押えるため、debug情報を組み込まないようにしています

  Kernel hacking --->
    [ ] Compile the kernel with debug info

・デフォルトの言語をCentOSに合わせます

  File systems  --->
        DOS/FAT/NT Filesystems  --->
          (ascii) Default iocharset for FAT
        Native Language Support  --->
          <*> Base native language support
          (utf8) Default NLS Option
          <*>   Codepage 437 (United States, Canada)
          <*>   ASCII (United States)
          <M>   NLS ISO 8859-1  (Latin 1; Western European Languages)
          <M>   NLS UTF8

・XENのモデュールを部分的に<*>にしています
・モデュールを静的にkernelに組みこみます
・xen-3.1.0以上に対応するように変更しています

  XEN  --->
    [*] Privileged Guest (domain 0)
    <*> Backend driver support
    <*>   Block-device backend driver
    <*>   Block-device tap backend driver
    <*>   Block-device tap backend driver 2
    <*>   Network-device backend driver
    [ ]     Pipelined transmitter (DANGEROUS)
    < >     Network-device loopback driver
    <*>   PCI-device backend driver
            PCI Backend Mode (Virtual PCI)  --->
              (X) Virtual PCI
              ( ) Passthrough
              ( ) Slot
    [ ]     PCI Backend Debugging
    <*>   TPM-device backend driver
    <M>   SCSI backend driver
    <M>   USB backend driver (NEW)
    <*> Block-device frontend driver
    <*> Network-device frontend driver
    < >   Network-device frontend driver acceleration for Solarflare NICs
    <M> SCSI frontend driver
    <M> USB frontend driver (NEW)
    [*]   Taking the HCD statistics (for debug) (NEW)
    [ ]   HCD suspend/resume support (DO NOT USE) (NEW)
    <*> User-space granted page access driver
    <*> Framebuffer-device frontend driver
    <*>   Keyboard-device frontend driver
    [*] Scrub memory before freeing it to Xen
    [*] Disable serial port drivers
    <*> Export Xen attributes in sysfs
        Xen version compatibility (3.1.0 and later)  --->
          ( ) 3.0.2 and later
          ( ) 3.0.4 and later
          (X) 3.1.0 and later
          ( ) no compatibility code



○/boot/grub/grub.conf (一部)

・起動に失敗したときのため既存の設定を残しておきます
・hda=20023,255,63はIDEのgeometryを指定するパラメータ
・起動順は 0、1 の順 (2番目を最初に起動したい場合は default=1 にします)
・"dom0_mem=131072" (domain0に割り当てるメモリ1M=1024Kbyte) 128Mb
・/bootパーティションが独立している場合です

default=1

title CentOS (2.6.18-238.19.1.el5)
    root (hd0,0)
    kernel /vmlinuz-2.6.18-238.19.1.el5 ro root=/dev/XEN/Top01 hda=20023,255,63
    initrd /initrd-2.6.18-238.19.1.el5.img
title Xen 4.1.2-rc1-pre (2.6.18.8-xen)
    root (hd0,0)
    kernel /xen-4.1.gz dom0_mem=131072
    module /vmlinuz-2.6.18.8-xen ro root=/dev/XEN/Top01 hda=20023,255,63
    module /initrd-2.6.18.8-xen.img
title CentOS PUBLIC (2.6.18-238.19.1.el5)
    root (hd0,0)
    kernel /vmlinuz-2.6.18-238.19.1.el5 ro root=/dev/XEN/Wan01 hda=20023,255,63
    initrd /initrd-2.6.18-238.19.1.el5.img
title CentOS PRIVATE (2.6.18-238.19.1.el5)
    root (hd0,0)
    kernel /vmlinuz-2.6.18-238.19.1.el5 ro root=/dev/XEN/Lan01 hda=20023,255,63
    initrd /initrd-2.6.18-238.19.1.el5.img

○ Copyright(c) 528p.com All Rights Reserved.