MMU-less kernel?

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
5
down vote

favorite
6












I would like to try compile mmu-less kernel. From what I found in configuration there is no option for such a thing. Is it possible to be done?










share|improve this question

























    up vote
    5
    down vote

    favorite
    6












    I would like to try compile mmu-less kernel. From what I found in configuration there is no option for such a thing. Is it possible to be done?










    share|improve this question























      up vote
      5
      down vote

      favorite
      6









      up vote
      5
      down vote

      favorite
      6






      6





      I would like to try compile mmu-less kernel. From what I found in configuration there is no option for such a thing. Is it possible to be done?










      share|improve this question













      I would like to try compile mmu-less kernel. From what I found in configuration there is no option for such a thing. Is it possible to be done?







      linux kernel linux-kernel memory






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Mar 15 '15 at 21:56









      backman

      12813




      12813




















          2 Answers
          2






          active

          oldest

          votes

















          up vote
          9
          down vote



          accepted










          You can compile a Linux kernel without MMU support on most processor architectures, including x86. However, because this is a rare configuration only for users who know what they are doing, the option is not included in the menu displayed by make menuconfig, make xconfig and the like, except on a few architectures for embedded devices where the lack of MMU is relatively common. You need to edit the .config file explicitly to change CONFIG_MMU=y to CONFIG_MMU=n. Alternatively, you can make the option appear in the menu by editing the file in arch/*/Kconfig corresponding to your architecture and replacing the stanza starting with CONFIG MMU by



          config MMU
          bool "MMU support"
          default y
          ---help---
          Say yes. If you say no, most programs won't run.


          Even if you make the option appear in the menus, you may need to tweak the resulting configuration to make it internally consistent. MMU-less x86 systems are highly unusual.



          The easiest way to experiment with an MMU-less system would be to run a genuine MMU-less system in an emulator, using the Linux kernel configuration provided by the hardware vendor or with the emulator.



          In case this wasn't clear, normal Linux systems need an MMU. The Linux kernel can be compiled for systems with no MMU, but this introduces restrictions that prevent a lot of programs from running. Start by reading No-MMU memory mapping support. I don't think you can use glibc without an MMU, µClibc is usually used instead. Documentation from the µClinux project may be relevant as well (µClinux was the original project for a MMU-less Linux, though nowadays support for MMU-less systems has been integrated into the main kernel tree so you don't need to use µClinux).






          share|improve this answer




















          • Thank you, This provided information I needed. Altought I wanted to use it on x86_64 emulator it seems it's not even possible to compile. It was anyway experiment for prt of my thesis.
            – backman
            Mar 17 '15 at 15:28










          • That is not working anymore. The build process changes CONFIG_MMU=n to CONFIG_MMU=y and builds the kernel with MMU.
            – JohnnyFromBF
            Apr 13 '17 at 13:15











          • @JohnnyFromBF I think that falls under “you may need to tweak the resulting configuration to make it internally consistent”.
            – Gilles
            Apr 13 '17 at 13:26










          • I love the humor of those kernel hackers.
            – Ciro Santilli 新疆改造中心 六四事件 法轮功
            Aug 27 '17 at 8:16

















          up vote
          2
          down vote













          have a look at ELKS (embeddable linux kernel subset) or verison 1 of Minix






          share|improve this answer




















          • Will definitely check that out.
            – backman
            Mar 17 '15 at 15:29










          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',
          convertImagesToLinks: false,
          noModals: false,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













           

          draft saved


          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f190350%2fmmu-less-kernel%23new-answer', 'question_page');

          );

          Post as a guest






























          2 Answers
          2






          active

          oldest

          votes








          2 Answers
          2






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          up vote
          9
          down vote



          accepted










          You can compile a Linux kernel without MMU support on most processor architectures, including x86. However, because this is a rare configuration only for users who know what they are doing, the option is not included in the menu displayed by make menuconfig, make xconfig and the like, except on a few architectures for embedded devices where the lack of MMU is relatively common. You need to edit the .config file explicitly to change CONFIG_MMU=y to CONFIG_MMU=n. Alternatively, you can make the option appear in the menu by editing the file in arch/*/Kconfig corresponding to your architecture and replacing the stanza starting with CONFIG MMU by



          config MMU
          bool "MMU support"
          default y
          ---help---
          Say yes. If you say no, most programs won't run.


          Even if you make the option appear in the menus, you may need to tweak the resulting configuration to make it internally consistent. MMU-less x86 systems are highly unusual.



          The easiest way to experiment with an MMU-less system would be to run a genuine MMU-less system in an emulator, using the Linux kernel configuration provided by the hardware vendor or with the emulator.



          In case this wasn't clear, normal Linux systems need an MMU. The Linux kernel can be compiled for systems with no MMU, but this introduces restrictions that prevent a lot of programs from running. Start by reading No-MMU memory mapping support. I don't think you can use glibc without an MMU, µClibc is usually used instead. Documentation from the µClinux project may be relevant as well (µClinux was the original project for a MMU-less Linux, though nowadays support for MMU-less systems has been integrated into the main kernel tree so you don't need to use µClinux).






          share|improve this answer




















          • Thank you, This provided information I needed. Altought I wanted to use it on x86_64 emulator it seems it's not even possible to compile. It was anyway experiment for prt of my thesis.
            – backman
            Mar 17 '15 at 15:28










          • That is not working anymore. The build process changes CONFIG_MMU=n to CONFIG_MMU=y and builds the kernel with MMU.
            – JohnnyFromBF
            Apr 13 '17 at 13:15











          • @JohnnyFromBF I think that falls under “you may need to tweak the resulting configuration to make it internally consistent”.
            – Gilles
            Apr 13 '17 at 13:26










          • I love the humor of those kernel hackers.
            – Ciro Santilli 新疆改造中心 六四事件 法轮功
            Aug 27 '17 at 8:16














          up vote
          9
          down vote



          accepted










          You can compile a Linux kernel without MMU support on most processor architectures, including x86. However, because this is a rare configuration only for users who know what they are doing, the option is not included in the menu displayed by make menuconfig, make xconfig and the like, except on a few architectures for embedded devices where the lack of MMU is relatively common. You need to edit the .config file explicitly to change CONFIG_MMU=y to CONFIG_MMU=n. Alternatively, you can make the option appear in the menu by editing the file in arch/*/Kconfig corresponding to your architecture and replacing the stanza starting with CONFIG MMU by



          config MMU
          bool "MMU support"
          default y
          ---help---
          Say yes. If you say no, most programs won't run.


          Even if you make the option appear in the menus, you may need to tweak the resulting configuration to make it internally consistent. MMU-less x86 systems are highly unusual.



          The easiest way to experiment with an MMU-less system would be to run a genuine MMU-less system in an emulator, using the Linux kernel configuration provided by the hardware vendor or with the emulator.



          In case this wasn't clear, normal Linux systems need an MMU. The Linux kernel can be compiled for systems with no MMU, but this introduces restrictions that prevent a lot of programs from running. Start by reading No-MMU memory mapping support. I don't think you can use glibc without an MMU, µClibc is usually used instead. Documentation from the µClinux project may be relevant as well (µClinux was the original project for a MMU-less Linux, though nowadays support for MMU-less systems has been integrated into the main kernel tree so you don't need to use µClinux).






          share|improve this answer




















          • Thank you, This provided information I needed. Altought I wanted to use it on x86_64 emulator it seems it's not even possible to compile. It was anyway experiment for prt of my thesis.
            – backman
            Mar 17 '15 at 15:28










          • That is not working anymore. The build process changes CONFIG_MMU=n to CONFIG_MMU=y and builds the kernel with MMU.
            – JohnnyFromBF
            Apr 13 '17 at 13:15











          • @JohnnyFromBF I think that falls under “you may need to tweak the resulting configuration to make it internally consistent”.
            – Gilles
            Apr 13 '17 at 13:26










          • I love the humor of those kernel hackers.
            – Ciro Santilli 新疆改造中心 六四事件 法轮功
            Aug 27 '17 at 8:16












          up vote
          9
          down vote



          accepted







          up vote
          9
          down vote



          accepted






          You can compile a Linux kernel without MMU support on most processor architectures, including x86. However, because this is a rare configuration only for users who know what they are doing, the option is not included in the menu displayed by make menuconfig, make xconfig and the like, except on a few architectures for embedded devices where the lack of MMU is relatively common. You need to edit the .config file explicitly to change CONFIG_MMU=y to CONFIG_MMU=n. Alternatively, you can make the option appear in the menu by editing the file in arch/*/Kconfig corresponding to your architecture and replacing the stanza starting with CONFIG MMU by



          config MMU
          bool "MMU support"
          default y
          ---help---
          Say yes. If you say no, most programs won't run.


          Even if you make the option appear in the menus, you may need to tweak the resulting configuration to make it internally consistent. MMU-less x86 systems are highly unusual.



          The easiest way to experiment with an MMU-less system would be to run a genuine MMU-less system in an emulator, using the Linux kernel configuration provided by the hardware vendor or with the emulator.



          In case this wasn't clear, normal Linux systems need an MMU. The Linux kernel can be compiled for systems with no MMU, but this introduces restrictions that prevent a lot of programs from running. Start by reading No-MMU memory mapping support. I don't think you can use glibc without an MMU, µClibc is usually used instead. Documentation from the µClinux project may be relevant as well (µClinux was the original project for a MMU-less Linux, though nowadays support for MMU-less systems has been integrated into the main kernel tree so you don't need to use µClinux).






          share|improve this answer












          You can compile a Linux kernel without MMU support on most processor architectures, including x86. However, because this is a rare configuration only for users who know what they are doing, the option is not included in the menu displayed by make menuconfig, make xconfig and the like, except on a few architectures for embedded devices where the lack of MMU is relatively common. You need to edit the .config file explicitly to change CONFIG_MMU=y to CONFIG_MMU=n. Alternatively, you can make the option appear in the menu by editing the file in arch/*/Kconfig corresponding to your architecture and replacing the stanza starting with CONFIG MMU by



          config MMU
          bool "MMU support"
          default y
          ---help---
          Say yes. If you say no, most programs won't run.


          Even if you make the option appear in the menus, you may need to tweak the resulting configuration to make it internally consistent. MMU-less x86 systems are highly unusual.



          The easiest way to experiment with an MMU-less system would be to run a genuine MMU-less system in an emulator, using the Linux kernel configuration provided by the hardware vendor or with the emulator.



          In case this wasn't clear, normal Linux systems need an MMU. The Linux kernel can be compiled for systems with no MMU, but this introduces restrictions that prevent a lot of programs from running. Start by reading No-MMU memory mapping support. I don't think you can use glibc without an MMU, µClibc is usually used instead. Documentation from the µClinux project may be relevant as well (µClinux was the original project for a MMU-less Linux, though nowadays support for MMU-less systems has been integrated into the main kernel tree so you don't need to use µClinux).







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Mar 15 '15 at 22:37









          Gilles

          508k12010051534




          508k12010051534











          • Thank you, This provided information I needed. Altought I wanted to use it on x86_64 emulator it seems it's not even possible to compile. It was anyway experiment for prt of my thesis.
            – backman
            Mar 17 '15 at 15:28










          • That is not working anymore. The build process changes CONFIG_MMU=n to CONFIG_MMU=y and builds the kernel with MMU.
            – JohnnyFromBF
            Apr 13 '17 at 13:15











          • @JohnnyFromBF I think that falls under “you may need to tweak the resulting configuration to make it internally consistent”.
            – Gilles
            Apr 13 '17 at 13:26










          • I love the humor of those kernel hackers.
            – Ciro Santilli 新疆改造中心 六四事件 法轮功
            Aug 27 '17 at 8:16
















          • Thank you, This provided information I needed. Altought I wanted to use it on x86_64 emulator it seems it's not even possible to compile. It was anyway experiment for prt of my thesis.
            – backman
            Mar 17 '15 at 15:28










          • That is not working anymore. The build process changes CONFIG_MMU=n to CONFIG_MMU=y and builds the kernel with MMU.
            – JohnnyFromBF
            Apr 13 '17 at 13:15











          • @JohnnyFromBF I think that falls under “you may need to tweak the resulting configuration to make it internally consistent”.
            – Gilles
            Apr 13 '17 at 13:26










          • I love the humor of those kernel hackers.
            – Ciro Santilli 新疆改造中心 六四事件 法轮功
            Aug 27 '17 at 8:16















          Thank you, This provided information I needed. Altought I wanted to use it on x86_64 emulator it seems it's not even possible to compile. It was anyway experiment for prt of my thesis.
          – backman
          Mar 17 '15 at 15:28




          Thank you, This provided information I needed. Altought I wanted to use it on x86_64 emulator it seems it's not even possible to compile. It was anyway experiment for prt of my thesis.
          – backman
          Mar 17 '15 at 15:28












          That is not working anymore. The build process changes CONFIG_MMU=n to CONFIG_MMU=y and builds the kernel with MMU.
          – JohnnyFromBF
          Apr 13 '17 at 13:15





          That is not working anymore. The build process changes CONFIG_MMU=n to CONFIG_MMU=y and builds the kernel with MMU.
          – JohnnyFromBF
          Apr 13 '17 at 13:15













          @JohnnyFromBF I think that falls under “you may need to tweak the resulting configuration to make it internally consistent”.
          – Gilles
          Apr 13 '17 at 13:26




          @JohnnyFromBF I think that falls under “you may need to tweak the resulting configuration to make it internally consistent”.
          – Gilles
          Apr 13 '17 at 13:26












          I love the humor of those kernel hackers.
          – Ciro Santilli 新疆改造中心 六四事件 法轮功
          Aug 27 '17 at 8:16




          I love the humor of those kernel hackers.
          – Ciro Santilli 新疆改造中心 六四事件 法轮功
          Aug 27 '17 at 8:16












          up vote
          2
          down vote













          have a look at ELKS (embeddable linux kernel subset) or verison 1 of Minix






          share|improve this answer




















          • Will definitely check that out.
            – backman
            Mar 17 '15 at 15:29














          up vote
          2
          down vote













          have a look at ELKS (embeddable linux kernel subset) or verison 1 of Minix






          share|improve this answer




















          • Will definitely check that out.
            – backman
            Mar 17 '15 at 15:29












          up vote
          2
          down vote










          up vote
          2
          down vote









          have a look at ELKS (embeddable linux kernel subset) or verison 1 of Minix






          share|improve this answer












          have a look at ELKS (embeddable linux kernel subset) or verison 1 of Minix







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Mar 15 '15 at 22:12









          Jasen

          1,969713




          1,969713











          • Will definitely check that out.
            – backman
            Mar 17 '15 at 15:29
















          • Will definitely check that out.
            – backman
            Mar 17 '15 at 15:29















          Will definitely check that out.
          – backman
          Mar 17 '15 at 15:29




          Will definitely check that out.
          – backman
          Mar 17 '15 at 15:29

















           

          draft saved


          draft discarded















































           


          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f190350%2fmmu-less-kernel%23new-answer', 'question_page');

          );

          Post as a guest













































































          Popular posts from this blog

          How to check contact read email or not when send email to Individual?

          Displaying single band from multi-band raster using QGIS

          How many registers does an x86_64 CPU actually have?