Does the Linux kernel need a file system to run?2019 Community Moderator ElectionDoes Android really use the same kernel as Linux?How to configure Linux to cache file metadata in preference to contents?File system that never breaks (data loss acceptable)When do I need to specify add_efi_memmap as kernel argument in UEFI/EFI boot?What files does the Linux kernel access?Root file system vs partition's file systemWhat parts of the Linux kernel I do not need?Linux/Embedded Linux - Understanding the Kernel and additional BSP specific componentsHow do I run the Linux kernel?Why does the Linux kernel build system use incremental linking or ar T thin archives?
How to make money from a browser who sees 5 seconds into the future of any web page?
"It doesn't matter" or "it won't matter"?
Which Article Helped Get Rid of Technobabble in RPGs?
What fields between the rationals and the reals allow a good notion of 2D distance?
US tourist/student visa
Why is the "ls" command showing permissions of files in a FAT32 partition?
How can I write humor as character trait?
Is my low blitz game drawing rate at www.chess.com an indicator that I am weak in chess?
How to draw a matrix with arrows in limited space
What are some good ways to treat frozen vegetables such that they behave like fresh vegetables when stir frying them?
What to do when eye contact makes your coworker uncomfortable?
Is this toilet slogan correct usage of the English language?
Why is it that I can sometimes guess the next note?
Circuit Analysis: Obtaining Close Loop OP - AMP Transfer function
How to preserve electronics (computers, iPads and phones) for hundreds of years
awk assign to multiple variables at once
Doesn't the system of the Supreme Court oppose justice?
C++ check if statement can be evaluated constexpr
Which was the first story featuring espers?
Why does Carol not get rid of the Kree symbol on her suit when she changes its colours?
Is this part of the description of the Archfey warlock's Misty Escape feature redundant?
Does the Linux kernel need a file system to run?
Change the color of a single dot in `ddot` symbol
Microchip documentation does not label CAN buss pins on micro controller pinout diagram
Does the Linux kernel need a file system to run?
2019 Community Moderator ElectionDoes Android really use the same kernel as Linux?How to configure Linux to cache file metadata in preference to contents?File system that never breaks (data loss acceptable)When do I need to specify add_efi_memmap as kernel argument in UEFI/EFI boot?What files does the Linux kernel access?Root file system vs partition's file systemWhat parts of the Linux kernel I do not need?Linux/Embedded Linux - Understanding the Kernel and additional BSP specific componentsHow do I run the Linux kernel?Why does the Linux kernel build system use incremental linking or ar T thin archives?
My opinion is yes, it does, because all useful exposure to the outside world (non-priviledged processor mode) would first require a process running in the outside world. That would require a file system, even a temporary, in-RAM, file system.
Another engineer disagrees with me, but I can't seem to prove this beyond all (unknown to me) cases.
Does the answer to this question depend on the definition of 'running'?
filesystems linux-kernel
New contributor
add a comment |
My opinion is yes, it does, because all useful exposure to the outside world (non-priviledged processor mode) would first require a process running in the outside world. That would require a file system, even a temporary, in-RAM, file system.
Another engineer disagrees with me, but I can't seem to prove this beyond all (unknown to me) cases.
Does the answer to this question depend on the definition of 'running'?
filesystems linux-kernel
New contributor
i think that a running kernel does not "require"useful exposure to the outside world
– jsotola
1 hour ago
Brings to mind the old halted Linux firewall (circa 2002)
– Jeff Schaller
12 mins ago
add a comment |
My opinion is yes, it does, because all useful exposure to the outside world (non-priviledged processor mode) would first require a process running in the outside world. That would require a file system, even a temporary, in-RAM, file system.
Another engineer disagrees with me, but I can't seem to prove this beyond all (unknown to me) cases.
Does the answer to this question depend on the definition of 'running'?
filesystems linux-kernel
New contributor
My opinion is yes, it does, because all useful exposure to the outside world (non-priviledged processor mode) would first require a process running in the outside world. That would require a file system, even a temporary, in-RAM, file system.
Another engineer disagrees with me, but I can't seem to prove this beyond all (unknown to me) cases.
Does the answer to this question depend on the definition of 'running'?
filesystems linux-kernel
filesystems linux-kernel
New contributor
New contributor
New contributor
asked 2 hours ago
Peter L.Peter L.
1213
1213
New contributor
New contributor
i think that a running kernel does not "require"useful exposure to the outside world
– jsotola
1 hour ago
Brings to mind the old halted Linux firewall (circa 2002)
– Jeff Schaller
12 mins ago
add a comment |
i think that a running kernel does not "require"useful exposure to the outside world
– jsotola
1 hour ago
Brings to mind the old halted Linux firewall (circa 2002)
– Jeff Schaller
12 mins ago
i think that a running kernel does not "require"
useful exposure to the outside world
– jsotola
1 hour ago
i think that a running kernel does not "require"
useful exposure to the outside world
– jsotola
1 hour ago
Brings to mind the old halted Linux firewall (circa 2002)
– Jeff Schaller
12 mins ago
Brings to mind the old halted Linux firewall (circa 2002)
– Jeff Schaller
12 mins ago
add a comment |
2 Answers
2
active
oldest
votes
That's rather an odd question because you don't run the kernel like you run a program. The kernel is a platform to run programs on. Of course there is setup and shutdown code but it's not possible to run the kernel on its own. There must always be a main "init" process. And the kernel will panic if it's not there. If init tries to exit the kernel will also panic.
These days the init process is something like systemd. If not otherwise specified the kernel will try to run a program starting with /sbin/init
. See the init Param here http://man7.org/linux/man-pages/man7/bootparam.7.html in an emergency you can boot Linux with init=/bin/bash
. But notice how you always specify a file on the file system to run.
So the kernel will panic if it starts up an has no file system because without one there is no way to load init.
Some confusion may arise because of a chicken and egg situation where the kernel must load drivers to access it's file system. To get round this an initial ramdisk is loaded from an image on disk containing vital drivers and setup scripts. These are executed before the file system is loaded. But make no mistake the initial ramdisk is itself a file system.
Isn't there a condition where the kernel gives up trying to initialize hardware and load a known file system (not initrd passed into the kernel via init params), then drops into a very limited shell (without init=/bin/bash)? Also, since you bring up /bin/bash, would the kernel always have that minimal file system available, even if it was built with other .config options that could potentially eliminate this?
– Peter L.
22 mins ago
add a comment |
In Linux, every device is a file, so you have to have a filesystem to run it.
1
But of course the device drivers exist inside the kernel irrespective of whether or not a device file points to them.
– Philip Couling
53 mins ago
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Peter L. is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f507837%2fdoes-the-linux-kernel-need-a-file-system-to-run%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
That's rather an odd question because you don't run the kernel like you run a program. The kernel is a platform to run programs on. Of course there is setup and shutdown code but it's not possible to run the kernel on its own. There must always be a main "init" process. And the kernel will panic if it's not there. If init tries to exit the kernel will also panic.
These days the init process is something like systemd. If not otherwise specified the kernel will try to run a program starting with /sbin/init
. See the init Param here http://man7.org/linux/man-pages/man7/bootparam.7.html in an emergency you can boot Linux with init=/bin/bash
. But notice how you always specify a file on the file system to run.
So the kernel will panic if it starts up an has no file system because without one there is no way to load init.
Some confusion may arise because of a chicken and egg situation where the kernel must load drivers to access it's file system. To get round this an initial ramdisk is loaded from an image on disk containing vital drivers and setup scripts. These are executed before the file system is loaded. But make no mistake the initial ramdisk is itself a file system.
Isn't there a condition where the kernel gives up trying to initialize hardware and load a known file system (not initrd passed into the kernel via init params), then drops into a very limited shell (without init=/bin/bash)? Also, since you bring up /bin/bash, would the kernel always have that minimal file system available, even if it was built with other .config options that could potentially eliminate this?
– Peter L.
22 mins ago
add a comment |
That's rather an odd question because you don't run the kernel like you run a program. The kernel is a platform to run programs on. Of course there is setup and shutdown code but it's not possible to run the kernel on its own. There must always be a main "init" process. And the kernel will panic if it's not there. If init tries to exit the kernel will also panic.
These days the init process is something like systemd. If not otherwise specified the kernel will try to run a program starting with /sbin/init
. See the init Param here http://man7.org/linux/man-pages/man7/bootparam.7.html in an emergency you can boot Linux with init=/bin/bash
. But notice how you always specify a file on the file system to run.
So the kernel will panic if it starts up an has no file system because without one there is no way to load init.
Some confusion may arise because of a chicken and egg situation where the kernel must load drivers to access it's file system. To get round this an initial ramdisk is loaded from an image on disk containing vital drivers and setup scripts. These are executed before the file system is loaded. But make no mistake the initial ramdisk is itself a file system.
Isn't there a condition where the kernel gives up trying to initialize hardware and load a known file system (not initrd passed into the kernel via init params), then drops into a very limited shell (without init=/bin/bash)? Also, since you bring up /bin/bash, would the kernel always have that minimal file system available, even if it was built with other .config options that could potentially eliminate this?
– Peter L.
22 mins ago
add a comment |
That's rather an odd question because you don't run the kernel like you run a program. The kernel is a platform to run programs on. Of course there is setup and shutdown code but it's not possible to run the kernel on its own. There must always be a main "init" process. And the kernel will panic if it's not there. If init tries to exit the kernel will also panic.
These days the init process is something like systemd. If not otherwise specified the kernel will try to run a program starting with /sbin/init
. See the init Param here http://man7.org/linux/man-pages/man7/bootparam.7.html in an emergency you can boot Linux with init=/bin/bash
. But notice how you always specify a file on the file system to run.
So the kernel will panic if it starts up an has no file system because without one there is no way to load init.
Some confusion may arise because of a chicken and egg situation where the kernel must load drivers to access it's file system. To get round this an initial ramdisk is loaded from an image on disk containing vital drivers and setup scripts. These are executed before the file system is loaded. But make no mistake the initial ramdisk is itself a file system.
That's rather an odd question because you don't run the kernel like you run a program. The kernel is a platform to run programs on. Of course there is setup and shutdown code but it's not possible to run the kernel on its own. There must always be a main "init" process. And the kernel will panic if it's not there. If init tries to exit the kernel will also panic.
These days the init process is something like systemd. If not otherwise specified the kernel will try to run a program starting with /sbin/init
. See the init Param here http://man7.org/linux/man-pages/man7/bootparam.7.html in an emergency you can boot Linux with init=/bin/bash
. But notice how you always specify a file on the file system to run.
So the kernel will panic if it starts up an has no file system because without one there is no way to load init.
Some confusion may arise because of a chicken and egg situation where the kernel must load drivers to access it's file system. To get round this an initial ramdisk is loaded from an image on disk containing vital drivers and setup scripts. These are executed before the file system is loaded. But make no mistake the initial ramdisk is itself a file system.
edited 47 mins ago
answered 55 mins ago
Philip CoulingPhilip Couling
2,011920
2,011920
Isn't there a condition where the kernel gives up trying to initialize hardware and load a known file system (not initrd passed into the kernel via init params), then drops into a very limited shell (without init=/bin/bash)? Also, since you bring up /bin/bash, would the kernel always have that minimal file system available, even if it was built with other .config options that could potentially eliminate this?
– Peter L.
22 mins ago
add a comment |
Isn't there a condition where the kernel gives up trying to initialize hardware and load a known file system (not initrd passed into the kernel via init params), then drops into a very limited shell (without init=/bin/bash)? Also, since you bring up /bin/bash, would the kernel always have that minimal file system available, even if it was built with other .config options that could potentially eliminate this?
– Peter L.
22 mins ago
Isn't there a condition where the kernel gives up trying to initialize hardware and load a known file system (not initrd passed into the kernel via init params), then drops into a very limited shell (without init=/bin/bash)? Also, since you bring up /bin/bash, would the kernel always have that minimal file system available, even if it was built with other .config options that could potentially eliminate this?
– Peter L.
22 mins ago
Isn't there a condition where the kernel gives up trying to initialize hardware and load a known file system (not initrd passed into the kernel via init params), then drops into a very limited shell (without init=/bin/bash)? Also, since you bring up /bin/bash, would the kernel always have that minimal file system available, even if it was built with other .config options that could potentially eliminate this?
– Peter L.
22 mins ago
add a comment |
In Linux, every device is a file, so you have to have a filesystem to run it.
1
But of course the device drivers exist inside the kernel irrespective of whether or not a device file points to them.
– Philip Couling
53 mins ago
add a comment |
In Linux, every device is a file, so you have to have a filesystem to run it.
1
But of course the device drivers exist inside the kernel irrespective of whether or not a device file points to them.
– Philip Couling
53 mins ago
add a comment |
In Linux, every device is a file, so you have to have a filesystem to run it.
In Linux, every device is a file, so you have to have a filesystem to run it.
answered 2 hours ago
K7AAYK7AAY
744825
744825
1
But of course the device drivers exist inside the kernel irrespective of whether or not a device file points to them.
– Philip Couling
53 mins ago
add a comment |
1
But of course the device drivers exist inside the kernel irrespective of whether or not a device file points to them.
– Philip Couling
53 mins ago
1
1
But of course the device drivers exist inside the kernel irrespective of whether or not a device file points to them.
– Philip Couling
53 mins ago
But of course the device drivers exist inside the kernel irrespective of whether or not a device file points to them.
– Philip Couling
53 mins ago
add a comment |
Peter L. is a new contributor. Be nice, and check out our Code of Conduct.
Peter L. is a new contributor. Be nice, and check out our Code of Conduct.
Peter L. is a new contributor. Be nice, and check out our Code of Conduct.
Peter L. is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f507837%2fdoes-the-linux-kernel-need-a-file-system-to-run%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
i think that a running kernel does not "require"
useful exposure to the outside world
– jsotola
1 hour ago
Brings to mind the old halted Linux firewall (circa 2002)
– Jeff Schaller
12 mins ago