grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to exit from linux kernel and return to then grub?


From: SevenBits
Subject: Re: How to exit from linux kernel and return to then grub?
Date: Sun, 18 May 2014 13:52:58 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0

-----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 address@hidden 
>>> https://lists.gnu.org/mailman/listinfo/grub-devel
>> 
>> 
>> _______________________________________________ Grub-devel
>> mailing list address@hidden 
>> https://lists.gnu.org/mailman/listinfo/grub-devel .
>> 
> 
> 
> 
> 
> _______________________________________________ Grub-devel mailing
> list address@hidden 
> 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-----



reply via email to

[Prev in Thread] Current Thread [Next in Thread]