How to tell Linux where initramfs is in RAM












1















I'm trying to boot a Linux kernel running on top of Xen with a initramfs copied into RAM by the bootloader.



In the device tree I took out a chunk of memory so the kernel will not overwrite the area I copy the initramfs to.



memory {
device_type = "memory";
- reg = <0x0 0x0 0x0 0x80000000 0x8 0x0 0x0 0x80000000>;
+ reg = <0x0 0x0 0x0 0x60000000 0x8 0x0 0x0 0x80000000>;
};


When in uboot, I copy the initramfs to 0x60000000 and a fitimage with the dom0 kernel, device tree, and xen image to 0x8000000 then boot.



My bootargs for dom0 are



xen,dom0-bootargs = "console=hvc0 earlycon=xen earlyprintk=xen rootdelay=1 root=/dev/ram0 rw rd_start=0x60000000 rd_size=0x114a3000 clk_ignore_unused";


I got the rd_start and rd_size bootargs from here which was initially suggested from this StackExchange question.



I'm questioning if I'm using an incorrect initramfs (ext4) because in the stack trace of the kernel panic, mount_block_root() is called and fails. However, before the panic it prints



No filesystem could mount root, tried: ext3 ext4 ext2 cramfs vfat msdos btrfs


Because of the lack of documentation on this I'm questioning if I'm going in the right direction here or if I'm way off.










share|improve this question









New contributor




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

























    1















    I'm trying to boot a Linux kernel running on top of Xen with a initramfs copied into RAM by the bootloader.



    In the device tree I took out a chunk of memory so the kernel will not overwrite the area I copy the initramfs to.



    memory {
    device_type = "memory";
    - reg = <0x0 0x0 0x0 0x80000000 0x8 0x0 0x0 0x80000000>;
    + reg = <0x0 0x0 0x0 0x60000000 0x8 0x0 0x0 0x80000000>;
    };


    When in uboot, I copy the initramfs to 0x60000000 and a fitimage with the dom0 kernel, device tree, and xen image to 0x8000000 then boot.



    My bootargs for dom0 are



    xen,dom0-bootargs = "console=hvc0 earlycon=xen earlyprintk=xen rootdelay=1 root=/dev/ram0 rw rd_start=0x60000000 rd_size=0x114a3000 clk_ignore_unused";


    I got the rd_start and rd_size bootargs from here which was initially suggested from this StackExchange question.



    I'm questioning if I'm using an incorrect initramfs (ext4) because in the stack trace of the kernel panic, mount_block_root() is called and fails. However, before the panic it prints



    No filesystem could mount root, tried: ext3 ext4 ext2 cramfs vfat msdos btrfs


    Because of the lack of documentation on this I'm questioning if I'm going in the right direction here or if I'm way off.










    share|improve this question









    New contributor




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























      1












      1








      1








      I'm trying to boot a Linux kernel running on top of Xen with a initramfs copied into RAM by the bootloader.



      In the device tree I took out a chunk of memory so the kernel will not overwrite the area I copy the initramfs to.



      memory {
      device_type = "memory";
      - reg = <0x0 0x0 0x0 0x80000000 0x8 0x0 0x0 0x80000000>;
      + reg = <0x0 0x0 0x0 0x60000000 0x8 0x0 0x0 0x80000000>;
      };


      When in uboot, I copy the initramfs to 0x60000000 and a fitimage with the dom0 kernel, device tree, and xen image to 0x8000000 then boot.



      My bootargs for dom0 are



      xen,dom0-bootargs = "console=hvc0 earlycon=xen earlyprintk=xen rootdelay=1 root=/dev/ram0 rw rd_start=0x60000000 rd_size=0x114a3000 clk_ignore_unused";


      I got the rd_start and rd_size bootargs from here which was initially suggested from this StackExchange question.



      I'm questioning if I'm using an incorrect initramfs (ext4) because in the stack trace of the kernel panic, mount_block_root() is called and fails. However, before the panic it prints



      No filesystem could mount root, tried: ext3 ext4 ext2 cramfs vfat msdos btrfs


      Because of the lack of documentation on this I'm questioning if I'm going in the right direction here or if I'm way off.










      share|improve this question









      New contributor




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












      I'm trying to boot a Linux kernel running on top of Xen with a initramfs copied into RAM by the bootloader.



      In the device tree I took out a chunk of memory so the kernel will not overwrite the area I copy the initramfs to.



      memory {
      device_type = "memory";
      - reg = <0x0 0x0 0x0 0x80000000 0x8 0x0 0x0 0x80000000>;
      + reg = <0x0 0x0 0x0 0x60000000 0x8 0x0 0x0 0x80000000>;
      };


      When in uboot, I copy the initramfs to 0x60000000 and a fitimage with the dom0 kernel, device tree, and xen image to 0x8000000 then boot.



      My bootargs for dom0 are



      xen,dom0-bootargs = "console=hvc0 earlycon=xen earlyprintk=xen rootdelay=1 root=/dev/ram0 rw rd_start=0x60000000 rd_size=0x114a3000 clk_ignore_unused";


      I got the rd_start and rd_size bootargs from here which was initially suggested from this StackExchange question.



      I'm questioning if I'm using an incorrect initramfs (ext4) because in the stack trace of the kernel panic, mount_block_root() is called and fails. However, before the panic it prints



      No filesystem could mount root, tried: ext3 ext4 ext2 cramfs vfat msdos btrfs


      Because of the lack of documentation on this I'm questioning if I'm going in the right direction here or if I'm way off.







      linux linux-kernel embedded initramfs






      share|improve this question









      New contributor




      jesse_partman 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




      jesse_partman 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








      edited 2 hours ago









      Rui F Ribeiro

      40.3k1479137




      40.3k1479137






      New contributor




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









      asked 3 hours ago









      jesse_partmanjesse_partman

      61




      61




      New contributor




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





      New contributor





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






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






















          0






          active

          oldest

          votes











          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
          });


          }
          });






          jesse_partman 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%2f501739%2fhow-to-tell-linux-where-initramfs-is-in-ram%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








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










          draft saved

          draft discarded


















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













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












          jesse_partman 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%2f501739%2fhow-to-tell-linux-where-initramfs-is-in-ram%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

          CARDNET

          Boot-repair Failure: Unable to locate package grub-common:i386

          濃尾地震