From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1Wm5Gi-00021Z-4i for mharc-grub-devel@gnu.org; Sun, 18 May 2014 13:53:04 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33540) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wm5Gf-00021O-WA for grub-devel@gnu.org; Sun, 18 May 2014 13:53:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Wm5Ge-0000yQ-N9 for grub-devel@gnu.org; Sun, 18 May 2014 13:53:01 -0400 Received: from mail-qg0-x22b.google.com ([2607:f8b0:400d:c04::22b]:64645) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wm5Ge-0000yM-HM for grub-devel@gnu.org; Sun, 18 May 2014 13:53:00 -0400 Received: by mail-qg0-f43.google.com with SMTP id 63so7356359qgz.2 for ; Sun, 18 May 2014 10:52:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=POgYPJVt3rbLQJBJiEAUjPCsPdnPFYmLJpbEhOLPxjU=; b=kWcizlFX5eDXjY3chl34SFb1kpsbghOuclwSESZ7uFyCVc61fkgHJ+/L+6TYuVaZsY rkruL/Xx18jTZu27l1566yRFYavMcCui9qwFhuDbOY2KjT7VGHY9jbfb083jyucaFbz2 1/1KRwG6tu+L1d8E2y1+SqiRZQbVMaxH5wagqQkRhl9Q7tQWV51n7XVbsoqWNfWDo3/v tc1SJI7p6IbFV7Uz8grBd/vsAl7YbZeDM1Qisu9e1bxej4CUumfk/DYPszORzgqVpYgF UJLkxQhssHfIf3TOLIDwV+KA19R3ibZGuAQUVzRtQt9HLM1jYSVSmh9HLwtvv65TR7GI 4wjQ== X-Received: by 10.140.36.105 with SMTP id o96mr40480301qgo.25.1400435579915; Sun, 18 May 2014 10:52:59 -0700 (PDT) Received: from ?IPv6:2601:6:2a80:4ba:4557:7005:8089:a8ef? ([2601:6:2a80:4ba:4557:7005:8089:a8ef]) by mx.google.com with ESMTPSA id f3sm23638043qag.7.2014.05.18.10.52.59 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sun, 18 May 2014 10:52:59 -0700 (PDT) Message-ID: <5378F37A.4020505@gmail.com> Date: Sun, 18 May 2014 13:52:58 -0400 From: SevenBits User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: The development of GNU GRUB Subject: Re: How to exit from linux kernel and return to then grub? References: <5378EAEC.8050605@gmail.com> <5378F1E9.8020709@gmail.com> In-Reply-To: <5378F1E9.8020709@gmail.com> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:400d:c04::22b X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 May 2014 17:53:03 -0000 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 05/18/2014 01:46 PM, Vladimir '?-coder/phcoder' Serbinenko wrote: > On 18.05.2014 19:16, SevenBits wrote: >> On 05/18/2014 01:33 AM, Z C wrote: >>> If I boot into a linux kernel using a grub command like "linux >>> /vmlinuz; inirtd /initrd; boot", how do I shutdown linux >>> itself (but do not power off or reboot the computer hardware) >>> and return back to the grub directly? >> >> You can't. >> >> >>> What I meant is something equivalent to the "exit" command in >>> most shells: If you are within one shell and you enter another >>> shell, then if you want to quit the second shell and return >>> back to the first shell, just simply type exit. All env >>> variables and commands you previous typed in the first shell >>> are completely intact. >> >>> Suppose I am now in the grub shell, and then I boot into a >>> tiny linux kernel, say, a busybox shell, then what can I do to >>> exit the second shell (i.e. busybox shell) and return to the >>> first shell (i.e. grub shell)? Of course I can enter the grub >>> shell again by simply rebooting the hardware, but this is not >>> what I want. >> >> When Linux boots, the kernel takes over the management of the >> computer completely. The boot loader is not preserved in memory. >> Why would it be? The function of the boot loader really is to >> just boot up the computer and then get the heck out. >> >> There are many, many obstacles to implementing something like >> this. Not to mention the fact that in order to return to GRUB, >> you would need to set the processor to return from protected mode >> into real mode. All modern processors can do from real mode to >> protected mode (which you must do to enabled 32 bit processing). >> > Please update your sources. Last CPU that behaved like this is 286. > 386 and later can switch between modes in any direction. Hi, yes, I actually realized this and posted an addendum to this message shortly afterwards. I don't know if you received it, but here is what I wrote: > Actually, a correction to what I just said. A processor can return > from protected mode to real mode. Read more here: > > https://en.wikipedia.org/wiki/Protected_mode#Entering_and_exiting_protected_mode > > I don't know if GRUB supports this (I would assume so) but > generally speaking it is still not possible to do what you want > because the Linux kernel as far as I know does not have the > functionality that would be required. If you want to try and do > this, go ahead and attempt it, but the roadblocks will be so large > that it probably is not worth trying, and just simply rebooting the > machine is the best way to get to GRUB. > > If you tell us what are _trying_ to do, i.e what you need this > functionality for, perhaps we can suggest an alternative way to > achieve what you need. So, yes, I realized after I posted my message that what I said was wrong. My apologies. > GRUB itself run in protected (but not paged mode) and switches to > real mode to call BIOS functions. "Returning" to GRUB would be > technically feasible but very cumbersome. Original requester didn't > even tell what his end goal is and it probably can be achieved in > much less cumbersome way. My thoughts exactly. >> So, no. It isn't possible. >> >> >> >> >>> _______________________________________________ Grub-devel >>> mailing list Grub-devel@gnu.org >>> https://lists.gnu.org/mailman/listinfo/grub-devel >> >> >> _______________________________________________ Grub-devel >> mailing list Grub-devel@gnu.org >> https://lists.gnu.org/mailman/listinfo/grub-devel . >> > > > > > _______________________________________________ Grub-devel mailing > list Grub-devel@gnu.org > https://lists.gnu.org/mailman/listinfo/grub-devel > -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.14 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBAgAGBQJTePN6AAoJEFbRvtGxmFPE7coH/12UTfimb2bONnDsJY3dFbTu Ti/xJ85n60fk3DFdCZ03ksqXfzGLjCeMHK8CzyhSCsUr7yFSAgB/9wEnxyc1XDDM 4msE6864xWHlzGSwzGkDyzdbbe0GiPIEGeVbgsnACsSF9JzsC3H08Y6bBF6DOF75 hGkgSJff8Su6oGTZPJpRV99MaKdThjgQkU6B7olOpGSbIzhf6/mrlCfTkJh14bdu PqsnVcdTSR8xkiZjn5aUGRkXapwl2IE+2jE+lmrFZRWDSRsCggykESa7gMUArCvg aTd66lj1gex6LmmujT9tsxwewYQnBYZC6JcXQB3KamISaJghPhB8eVvA5Ps3V2I= =G998 -----END PGP SIGNATURE-----