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?

Permission on Database

What fields between the rationals and the reals allow a good notion of 2D distance?

Why does AES have exactly 10 rounds for a 128-bit key, 12 for 192 bits and 14 for a 256-bit key size?

15% tax on $7.5k earnings. Is that right?

Is it allowed to activate the ability of multiple planeswalkers in a single turn?

Is there a RAID 0 Equivalent for RAM?

Review your own paper in Mathematics

Mimic lecturing on blackboard, facing audience

Why is so much work done on numerical verification of the Riemann Hypothesis?

Will number of steps recorded on FitBit/any fitness tracker add up distance in PokemonGo?

The Digit Triangles

Why should universal income be universal?

Can you use Vicious Mockery to win an argument or gain favours?

Pre-mixing cryogenic fuels and using only one fuel tank

Has any country ever had 2 former presidents in jail simultaneously?

"It doesn't matter" or "it won't matter"?

Does Doodling or Improvising on the Piano Have Any Benefits?

Creating two special characters

Is there a nicer/politer/more positive alternative for "negates"?

Does the Linux kernel need a file system to run?

Why Shazam when there is already Superman?

Doesn't the system of the Supreme Court oppose justice?

Why is it that I can sometimes guess the next note?

Why does Carol not get rid of the Kree symbol on her suit when she changes its colours?



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?










4















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'?










share|improve this question







New contributor




Peter L. is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




















  • 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
    6 mins ago















4















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'?










share|improve this question







New contributor




Peter L. is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




















  • 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
    6 mins ago













4












4








4








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'?










share|improve this question







New contributor




Peter L. is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












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






share|improve this question







New contributor




Peter L. is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question







New contributor




Peter L. is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question






New contributor




Peter L. is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked 2 hours ago









Peter L.Peter L.

1213




1213




New contributor




Peter L. is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





Peter L. is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






Peter L. is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












  • 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
    6 mins 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
    6 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
6 mins ago





Brings to mind the old halted Linux firewall (circa 2002)

– Jeff Schaller
6 mins ago










2 Answers
2






active

oldest

votes


















3














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.






share|improve this answer

























  • 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.
    16 mins ago


















2














In Linux, every device is a file, so you have to have a filesystem to run it.






share|improve this answer


















  • 1





    But of course the device drivers exist inside the kernel irrespective of whether or not a device file points to them.

    – Philip Couling
    47 mins ago










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.









draft saved

draft discarded


















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









3














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.






share|improve this answer

























  • 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.
    16 mins ago















3














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.






share|improve this answer

























  • 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.
    16 mins ago













3












3








3







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.






share|improve this answer















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.







share|improve this answer














share|improve this answer



share|improve this answer








edited 41 mins ago

























answered 48 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.
    16 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.
    16 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.
16 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.
16 mins ago













2














In Linux, every device is a file, so you have to have a filesystem to run it.






share|improve this answer


















  • 1





    But of course the device drivers exist inside the kernel irrespective of whether or not a device file points to them.

    – Philip Couling
    47 mins ago















2














In Linux, every device is a file, so you have to have a filesystem to run it.






share|improve this answer


















  • 1





    But of course the device drivers exist inside the kernel irrespective of whether or not a device file points to them.

    – Philip Couling
    47 mins ago













2












2








2







In Linux, every device is a file, so you have to have a filesystem to run it.






share|improve this answer













In Linux, every device is a file, so you have to have a filesystem to run it.







share|improve this answer












share|improve this answer



share|improve this answer










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
    47 mins ago












  • 1





    But of course the device drivers exist inside the kernel irrespective of whether or not a device file points to them.

    – Philip Couling
    47 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
47 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
47 mins ago










Peter L. is a new contributor. Be nice, and check out our Code of Conduct.









draft saved

draft discarded


















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.




draft saved


draft discarded














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





















































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







Popular posts from this blog

कुँवर स्रोत दिक्चालन सूची"कुँवर""राणा कुँवरके वंशावली"

Why is a white electrical wire connected to 2 black wires?How to wire a light fixture with 3 white wires in box?How should I wire a ceiling fan when there's only three wires in the box?Two white, two black, two ground, and red wire in ceiling box connected to switchWhy is there a white wire connected to multiple black wires in my light box?How to wire a light with two white wires and one black wireReplace light switch connected to a power outlet with dimmer - two black wires to one black and redHow to wire a light with multiple black/white/green wires from the ceiling?Ceiling box has 2 black and white wires but fan/ light only has 1 of eachWhy neutral wire connected to load wire?Switch with 2 black, 2 white, 2 ground and 1 red wire connected to ceiling light and a receptacle?

चैत्य भूमि चित्र दीर्घा सन्दर्भ बाहरी कडियाँ दिक्चालन सूची"Chaitya Bhoomi""Chaitya Bhoomi: Statue of Equality in India""Dadar Chaitya Bhoomi: Statue of Equality in India""Ambedkar memorial: Centre okays transfer of Indu Mill land"चैत्यभमि