Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760077AbXIUPWA (ORCPT ); Fri, 21 Sep 2007 11:22:00 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1758170AbXIUPVx (ORCPT ); Fri, 21 Sep 2007 11:21:53 -0400 Received: from pne-smtpout4-sn2.hy.skanova.net ([81.228.8.154]:49362 "EHLO pne-smtpout4-sn2.hy.skanova.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754300AbXIUPVw (ORCPT ); Fri, 21 Sep 2007 11:21:52 -0400 Message-ID: <46F3DFA4.90909@kolumbus.fi> Date: Fri, 21 Sep 2007 18:13:40 +0300 From: =?UTF-8?B?TWlrYSBQZW50dGlsw6Q=?= User-Agent: Thunderbird 1.5.0.12 (X11/20070719) MIME-Version: 1.0 To: huang ying CC: "Huang, Ying" , "Eric W. Biederman" , Pavel Machek , nigel@nigel.suspend2.net, Andrew Morton , Jeremy Maitin-Shepard , linux-pm@lists.linux-foundation.org, Kexec Mailing List , linux-kernel@vger.kernel.org Subject: Re: [linux-pm] [RFC][PATCH 0/2 -mm] kexec based hibernation -v3 References: <1190266440.21818.16.camel@caritas-dev.intel.com> <46F39345.3040201@kolumbus.fi> <851fc09e0709210644y4a859a2bp223ef56b08a27f0@mail.gmail.com> <46F3DBAB.9010308@kolumbus.fi> <851fc09e0709210813s1bb3fb02y6096c74fdc9dc35d@mail.gmail.com> In-Reply-To: <851fc09e0709210813s1bb3fb02y6096c74fdc9dc35d@mail.gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3066 Lines: 88 huang ying wrote: > On 9/21/07, Mika Penttilä wrote: > >> huang ying wrote: >> >>> On 9/21/07, Mika Penttilä wrote: >>> >>> >>>>> Usage: >>>>> >>>>> 1. Compile kernel with following options selected: >>>>> >>>>> CONFIG_X86_32=y >>>>> CONFIG_RELOCATABLE=y # not needed strictly, but it is more convenient with it >>>>> CONFIG_KEXEC=y >>>>> CONFIG_CRASH_DUMP=y # only needed by kexeced kernel to save/restore memory image >>>>> CONFIG_PM=y >>>>> CONFIG_KEXEC_JUMP=y >>>>> >>>>> 2. Download the kexec-tools-testing git tree, apply the kexec-tools >>>>> kjump patches (or download the source tar ball directly) and >>>>> compile. >>>>> >>>>> 3. Download and compile the krestore tool. >>>>> >>>>> 4. Prepare 2 root partition used by kernel A and kernel B/C, referred >>>>> as /dev/hda, /dev/hdb in following text. This is not strictly >>>>> necessary, I use this scheme for testing during development. >>>>> >>>>> 5. Boot kernel compiled for normal usage (kernal A). >>>>> >>>>> 6. Load kernel compiled for hibernating/restore usage (kernel B) with >>>>> kexec, the same kernel as that of 5 can be used if >>>>> CONFIG_RELOCATABLE=y and CONFIG_CRASH_DUMP=y are selected. >>>>> >>>>> The --elf64-core-headers should be specified in command line of >>>>> kexec, because only the 64bit ELF is supported by krestore tool. >>>>> >>>>> For example, the shell command line can be as follow: >>>>> >>>>> kexec -p -n /boot/bzImage --mem-min=0x100000 --mem-max=0xffffff >>>>> --elf64-core-headers --append="root=/dev/hdb single" >>>>> >>>>> 7. Jump to the hibernating kernel (kernel B) with following shell >>>>> command line: >>>>> >>>>> kexec -j >>>>> >>>>> 8. In the hibernating kernel (kernel B), the memory image of >>>>> hibernated kernel (kernel A) can be saved as follow: >>>>> >>>>> cp /proc/vmcore . >>>>> cp /sys/kernel/kexec_jump_back_entry . >>>>> >>>>> >>>>> >>>> Here we save also kernel B's pages. >>>> >>>> >>> No, the kernel B's pages will not be saved. Because when we build the >>> elfcore (/proc/vmcore) header, we exclude memory area used by kernel >>> B. The details can be found in kexec-tools patches. >>> >>> >>> >> Ok I see. But should the kernel B's e820 mem map be limited to 1m-16m in >> order not to allocate pages found also in A's space? Or does does the >> --mem-min and --mem-max do that also? >> > > That is what "memmap=exactmap memmap=640K@0K memmap=15M@1M" for. The > contents of e820 memmap will be overrided when these kernel parameters > are specified. > > Best Regards, > Huang Ying > Yes, you just didn't specify exactmap for kernel B in your instructions, but only for C. But it is also required for kernel B then? Thanks, Mika - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/