Thread
:
Introducing ubiboot N9 (multiboot OS loader)
View Single Post
juiceme
2018-03-23 , 09:32
Community Council | Posts: 4,920 | Thanked: 12,867 times | Joined on May 2012 @ Southerrn Finland
#
1378
OK search me, just how stupid can one be...
I realized the reason my modules were incompatible, and now I remembered I actually knew this 4 years ago but had forgotten it.
Woot, me growing old or what???
So; this is the problem/solution; I'll note it down here so when in another 4 years I forget it again someone can point me to this and call me a bloody feather-head...
When building a kernel with modules that are to be included in the built-in-initramfs there is a slight inconsistancy in the build mechanics; the initramfs image is built in "make" phase but the modules are built in "make modules"; this means that you have to build modules before zImage, else your make will of course fail due to the missing modules.
Now, when you do "make modules" before "make", you get the modules but there are some dependencies missing and the build system will not warn you about it....
The correct procedure to do it is this;
make clean; make mrprop
ARCH=arm make ubiboot-02_defconfig
[edit your ubifs/ubifs.list so that you comment out all modules-to-be-included]
ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- make
ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- make modules
rm -rf ./usr/built-in.o usr/initramfs_data.cpio ./usr/initramfs_data.o ./arch/arm/boot/zImage ./arch/arm/boot/Image
[edit your ubifs/ubifs.list so that you re-enable all modules-to-be-included]
ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- make
And now Bob's your uncle and you will have a new shiny
working
combined kernel image in ./arch/arm/boot/zImage
Note to self; I need to write a sedscript to do the comment/uncomment thingy...
Quote & Reply
|
The Following 6 Users Say Thank You to juiceme For This Useful Post:
BentL
,
filip.pz
,
lal
,
Macros
,
peterleinchen
,
wicket
juiceme
View Public Profile
Send a private message to juiceme
Visit juiceme's homepage!
Find all posts by juiceme