Andrew Routley Posted yesterday at 04:19 PM Posted yesterday at 04:19 PM (edited) hello! I need to create my own initial ramdisk during the armbian build process by supplying a value to this kernel tag:- grep CONFIG_INITRAMFS_SOURCE /home/andrew/armbian/build/cache/sources/linux-kernel-worktree/6.18__sunxi__armhf/.config CONFIG_INITRAMFS_SOURCE="usr/sideinitrd.cpio" my build runs under docker, and no matter where i place the CPIO file, i get this error: [🐳|🔨] make[3]: *** No rule to make target 'usr/sideinitrd.cpio', needed by 'usr/initramfs_inc_data'. Stop. [🐳|🔨] make[2]: *** [scripts/Makefile.build:556: usr] Error 2 [🐳|🔨] make[2]: *** Waiting for unfinished jobs.... just speculating, but maybe the armbian build cannot find my CPIO file in my compile tree known to docker:- pwd /home/andrew/armbian/build andrew@my-vps:~/armbian/build$ ls CONTRIBUTING.md Dockerfile README.md action.yml buildarmbian2.txt compile.sh extensions output patch shell.nix userpatches CREDITS.md LICENSE VERSION buildarmbian1.txt cache config lib packages requirements.txt tools chatGPT and gemini have wasted days on bogus suggestions on where to place it relative to my compile tree. i have tried many locations without success. EXPLANATION FROM GEMINI:- Armbian’s build process is designed to be "clean." When you run it inside Docker, it follows a strict sequence: Step A: It prepares the environment. Step B: It runs a "cleanup" on the kernel source to ensure no "junk" from previous builds exists (this deletes your .cpio file). Step 😄 It checks your .config and starts the make command. Because Step B happens every time you start the build, any file you manually copy into the kernel tree gets deleted seconds before the compiler actually looks for it. That is why you kept seeing No rule to make target. i am wondering if anyone has already done this before and how they got it going? latest log attached. help! andrew. buildarmbian2.txt.gz Edited 23 hours ago by Andrew Routley 0 Quote
robertoj Posted 22 hours ago Posted 22 hours ago (edited) I don't know about customizing the initrd during the armbian build process. But this is the way to customize it AFTER you get armbian running in your board https://forum.armbian.com/topic/53568-how-to-add-a-specific-single-file-in-the-initrdimg-ideally-automatically-with-update-initramfs/#comment-221767 I know it is not YOUR OWN INITRD, but maybe you can work with it. Large language models are more useful when the answer exists somewhere in a popular website. If no human has written about it, ChatGPT or Gemini will not give you the answer. Have you tried replacing the uImage file in the /boot folder, with your own initrd, converted to uinitrd? Edited 21 hours ago by robertoj 0 Quote
Andrew Routley Posted 16 hours ago Author Posted 16 hours ago Thanks @robertoj as a matter of fact this is my own custom initial ramdisk. I've been running it as a standalone file for some time and it works great but now I want to integrate it inside the kernel itself. for this I need to set CONFIG_INITRAMFS_SOURCE during the make process. 0 Quote
robertoj Posted 15 hours ago Posted 15 hours ago I see that this configuration is a kernel build feature, not an armbian-developed function: https://cateee.net/lkddb/web-lkddb/INITRAMFS_SOURCE.html https://unix.stackexchange.com/questions/479415/how-does-linux-know-where-the-rootfs-is So, you can post your question in many more linux discussion places. I hope you get the answer (and share here). Have you ever got this INITRAMFS_SOURCE configuration work, outside of Armbian... for example building the kernel from source by itself? 0 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.