How to tell Linux where initramfs is in RAM
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
New contributor
add a comment |
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
New contributor
add a comment |
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
New contributor
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
linux linux-kernel embedded initramfs
New contributor
New contributor
edited 2 hours ago
Rui F Ribeiro
40.3k1479137
40.3k1479137
New contributor
asked 3 hours ago
jesse_partmanjesse_partman
61
61
New contributor
New contributor
add a comment |
add a comment |
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.
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%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.
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.
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%2f501739%2fhow-to-tell-linux-where-initramfs-is-in-ram%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