From: Itsuro O. <od...@va...> - 2007-09-28 00:03:33
|
Hi, first of all, I apologize for writing the answer in Japanese. mkexec/kernel の下に sym.lds というファイルが出来ているはずなので、 その内容を確かめてください。 このファイルは、カーネルソースのトップディレクトリにある System.map ファイルを参照して作られます。もしかしたら、System.map ファイルが ないのかもしれません。(実際にビルドしていないとできませんね。) その場合は、お使いのシステムの System.mapファイル(/bootの下にある と思います)をコピーして使ってください。 sym.lds が正しく出来れば、関数のアドレスが入っているはずです。 (crashmem_get は 入ってなくていいです。) 今回のは、おそらく、kallsyms_lookup_name のアドレスが入っていない のが原因だと思います。 あと、ミニカーネルの方ですが、initrd を使わない場合は、 「initrd なし」のコンフィグでビルドしてください。 「initrdあり」のコンフィグでビルドして、initrd を使わないと、 ミニカーネルの起動に失敗するバグがあります。(cvs 上では修正 されていますが、リリースはしていません。) Thanks. Itsuro Oda On Thu, 27 Sep 2007 20:08:43 +0900 "川谷宗之" <kaw...@gm...> wrote: > Hi all, > > > I'm trying to use mkdump but it does'nt work. Please give me > any help. > > > * Environments > - OS: Redhat Enterprise Linux 4 UP3 (2.6.9-34.EL) > - Kernel for minik: 2.6.9-34.EL > - mkdump: mkdump v3.0 > - H/W: Thinkpad X40 > > > > I've installed mkdump by following steps (according to README-v3). > > 1. Build Mini Kernel > - Got the kernel source for mini kernel > - Install from kernel-2.6.9-34.EL.src.rpm (by using rpm and rpm build) > - Build static linked mini kernel. > - cp minik/kernel/minik_dump.c /usr/src/linux-2.6.9/init > - modified /usr/src/linux-2.6.9/init/Makefile (add minik_dump.o) > - make > - copy /usr/src/linux-2.6.9/arch/i386/boot/compressed/vmlinux.bin > /boot/vmlinux-2.6.9-minik.bin > > 2. Build MKEXEC kernel > - skipped (according to the README-v3) > > 3. Build MKEXEC Kernel Module > - modify /usr/src/modules/mkexec/kernel/Makefile > - ARCH=i386 > - KTYPE=26 > - TOPDIR=/usr/src/linux-2.6.9 > - THISDIR=/usr/src/modules/mkexec/kernel > - KVER=2.6.9-34.EL > - make symbolic link as follows. > - /usr/src/modules/mkexec/include/asm => > /usr/src/modules/mkexec/include/asm-i386 > - make > - make install (This line is not described in README-v3, but I think this > may be needed to copy mkexec.ko...) > > 4. Make initrd image > - skip (do not use initrd image) > > 5. Run Mini Kernel Dump > - specify the dump device. > - echo "0x300006" > /proc/mkexec/dumpdev (result of "raw -aq" is > /dev/raw/raw1: bound to major 3, minor 6) > - specify the parameters. > - echo "console=tty0 console=ttyS0,115200n8r lpj=2367488 no-hlt" > - specify the path to mini kernel > - echo "/usr/boot/vmlinux-2.6.9-minik.bin" > - specify the memory size. > - echo 16 > /proc/mkexec/mem > - specify the initrd image path > - skip (do not use initrd image) > - write stats. > - echo 9 > /proc/mkexec/stats > > === Then kernel panic occurred. === > > According to the "/var/log/messages" (attached to this mail), mkdump > does'nt work well because the > symbol "crashmem_get" is not found. I know that "crashmem_get" is defined > only in patches included > in the package. So it seems natural not to be found the symbol > "crashmem_get" (I didn't use patch because, > according to README-v3, it is not necessary. I've tried the patch once but > it failed). > > Please give me any suggestions, please. If more information needed, I can > show you. > > Thanks a lot for your help. > > > ---- > Muneyuki KAWATANI > kaw...@wd... -- Itsuro ODA <od...@va...> |