kernel: building target-arch scripts/* to include in kernel-headers package
I'm working on a patch series to provide a kernel-headers package which allows for the compilation of Linux kernel modules on the target. I currently have something working, but it requires that I first build the scripts/* binaries on the target, prior to trying to build a module.
# cd /usr/src/kernel-headers # make scripts
Then I can build modules:
# cd /home/root/hello-mod/files # export KERNEL_SRC=/usr/src/kernel-headers # make
And test:
# insmod hello.ko # rmmod hello.ko # dmesg | tail -n2 Hello World! Goodbye Cruel World!
I would like to package the target-arch scripts binaries with the kernel-headers package, but I'm not sure how to go about building both the native and the target binaries as part of the kernel building process. Does it make sense to build these as part of the do_install() task after I've moved the files from the linux recipe's workdir and removed the host-arch binaries from scripts?
Signature · 3 lines
Darren Hart Intel Open Source Technology Center Yocto Project - Linux Kernel
Quoted 22 lines · Darren Hart
I'm working on a patch series to provide a kernel-headers package which allows for the compilation of Linux kernel modules on the target. I currently have something working, but it requires that I first build the
scripts/*binaries on the target, prior to trying to build a module.# cd /usr/src/kernel-headers # make scriptsThen I can build modules:
# cd /home/root/hello-mod/files # export KERNEL_SRC=/usr/src/kernel-headers # makeAnd test:
# insmod hello.ko # rmmod hello.ko # dmesg | tail -n2 Hello World! Goodbye Cruel World!
Quoted 7 lines
I would like to package the target-arch scripts binaries with the kernel-headers package, but I'm not sure how to go about building both the native and the target binaries as part of the kernel building process. Does it make sense to build these as part of the
do_install()task after I've moved the files from the linux recipe's workdir and removed the host-arch binaries from scripts?
the hostprogs there are a bit hairy. you could set HOSTCC to point to cross compiler and build scripts dir in some O=foo after copying .config into it but the problem would be that build system expects the hosttools in build tree at exact same location
e.g. fixdep would be needed even to build other hosttools e.g. recordmcount etc. and thats where you have to patch kbuild such that it could reference another fixdep tool which then will be built for the host you are compiling kernel on.
I have a reverse problem, I want to package the scripts/ for cross building :)
Quoted 10 lines
--
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Quoted 31 lines · Khem Raj
Quoted 22 lines · Darren Hart
I'm working on a patch series to provide a kernel-headers package which allows for the compilation of Linux kernel modules on the target. I currently have something working, but it requires that I first build the
scripts/*binaries on the target, prior to trying to build a module.# cd /usr/src/kernel-headers # make scriptsThen I can build modules:
# cd /home/root/hello-mod/files # export KERNEL_SRC=/usr/src/kernel-headers # makeAnd test:
# insmod hello.ko # rmmod hello.ko # dmesg | tail -n2 Hello World! Goodbye Cruel World!Quoted 7 lines
I would like to package the target-arch scripts binaries with the kernel-headers package, but I'm not sure how to go about building both the native and the target binaries as part of the kernel building process. Does it make sense to build these as part of the
do_install()task after I've moved the files from the linux recipe's workdir and removed the host-arch binaries from scripts?
Quoted 8 lines
the hostprogs there are a bit hairy. you could set HOSTCC to point to cross compiler and build scripts dir in some O=foo after copying .config into it but the problem would be that build system expects the hosttools in build tree at exact same location
e.g. fixdep would be needed even to build other hosttools e.g. recordmcount etc. and thats where you have to patch kbuild such that it could reference another fixdep tool which then will be built for the host you are compiling kernel on.
another option is to add a completely new makefile to build
the necessary tools the way we want them and not use make scripts target at all
Quoted 42 lines · Khem Raj
Quoted 31 lines · Khem Raj
Quoted 22 lines · Darren Hart
I'm working on a patch series to provide a kernel-headers package which allows for the compilation of Linux kernel modules on the target. I currently have something working, but it requires that I first build the
scripts/*binaries on the target, prior to trying to build a module.# cd /usr/src/kernel-headers # make scriptsThen I can build modules:
# cd /home/root/hello-mod/files # export KERNEL_SRC=/usr/src/kernel-headers # makeAnd test:
# insmod hello.ko # rmmod hello.ko # dmesg | tail -n2 Hello World! Goodbye Cruel World!Quoted 7 lines
I would like to package the target-arch scripts binaries with the kernel-headers package, but I'm not sure how to go about building both the native and the target binaries as part of the kernel building process. Does it make sense to build these as part of the
do_install()task after I've moved the files from the linux recipe's workdir and removed the host-arch binaries from scripts?Quoted 8 lines
the hostprogs there are a bit hairy. you could set HOSTCC to point to cross compiler and build scripts dir in some O=foo after copying .config into it but the problem would be that build system expects the hosttools in build tree at exact same location
e.g. fixdep would be needed even to build other hosttools e.g. recordmcount etc. and thats where you have to patch kbuild such that it could reference another fixdep tool which then will be built for the host you are compiling kernel on.
Quoted 2 lines
another option is to add a completely new makefile to build
the necessary tools the way we want them and not use make scripts target at all
While tempting, it sounds like a fragile mechanism with the potential for maintenance issues.
Signature · 3 lines
Darren Hart Intel Open Source Technology Center Yocto Project - Linux Kernel
Quoted 31 lines · Khem Raj
Quoted 22 lines · Darren Hart
I'm working on a patch series to provide a kernel-headers package which allows for the compilation of Linux kernel modules on the target. I currently have something working, but it requires that I first build the
scripts/*binaries on the target, prior to trying to build a module.# cd /usr/src/kernel-headers # make scriptsThen I can build modules:
# cd /home/root/hello-mod/files # export KERNEL_SRC=/usr/src/kernel-headers # makeAnd test:
# insmod hello.ko # rmmod hello.ko # dmesg | tail -n2 Hello World! Goodbye Cruel World!Quoted 7 lines
I would like to package the target-arch scripts binaries with the kernel-headers package, but I'm not sure how to go about building both the native and the target binaries as part of the kernel building process. Does it make sense to build these as part of the
do_install()task after I've moved the files from the linux recipe's workdir and removed the host-arch binaries from scripts?
Quoted 9 lines
the hostprogs there are a bit hairy. you could set HOSTCC to point to cross compiler and build scripts dir in some O=foo after copying .config into it but the problem would be that build system expects the hosttools in build tree at exact same location
e.g. fixdep would be needed even to build other hosttools e.g. recordmcount etc. and thats where you have to patch kbuild such that it could reference another fixdep tool which then will be built for the host you are compiling kernel on.
Ewe, what a mess.
Another option would be to add:
# cd /usr/src/kernel-headers
# make scriptsTo the kernel-headers post-inst script. It feels hackish, but perhaps it's a reasonable path to getting the functionality people are looking for. I still content one should be building modules as either part of the kernel build or as recipes styled after hello-mod.
Quoted 1 line
I have a reverse problem, I want to package the
scripts/for cross building :)
So do you need a kernel-headers-native package then? Do we possibly need to tackle both these issues at once? I can send out my patches if you think there is overlap.
Signature · 3 lines
Darren Hart Intel Open Source Technology Center Yocto Project - Linux Kernel
Op 26 jun. 2012, om 17:58 heeft Darren Hart het volgende geschreven:
Quoted 44 lines · Khem Raj
Quoted 31 lines · Darren Hart
Quoted 22 lines
I'm working on a patch series to provide a kernel-headers package which allows for the compilation of Linux kernel modules on the target. I currently have something working, but it requires that I first build the
scripts/*binaries on the target, prior to trying to build a module.# cd /usr/src/kernel-headers # make scriptsThen I can build modules:
# cd /home/root/hello-mod/files # export KERNEL_SRC=/usr/src/kernel-headers # makeAnd test:
# insmod hello.ko # rmmod hello.ko # dmesg | tail -n2 Hello World! Goodbye Cruel World!Quoted 7 lines
I would like to package the target-arch scripts binaries with the kernel-headers package, but I'm not sure how to go about building both the native and the target binaries as part of the kernel building process. Does it make sense to build these as part of the
do_install()task after I've moved the files from the linux recipe's workdir and removed the host-arch binaries from scripts?Quoted 9 lines
the hostprogs there are a bit hairy. you could set HOSTCC to point to cross compiler and build scripts dir in some O=foo after copying .config into it but the problem would be that build system expects the hosttools in build tree at exact same location
e.g. fixdep would be needed even to build other hosttools e.g. recordmcount etc. and thats where you have to patch kbuild such that it could reference another fixdep tool which then will be built for the host you are compiling kernel on.
Quoted 8 lines
Ewe, what a mess.
Another option would be to add:
# cd /usr/src/kernel-headers # make scriptsTo the kernel-headers post-inst script. =
or you could document it and have people do it manually.
regards,
Koen
Quoted 49 lines · Koen Kooi
Op 26 jun. 2012, om 17:58 heeft Darren Hart het volgende geschreven:
Quoted 46 lines · Khem Raj
Quoted 31 lines · Darren Hart
Quoted 22 lines
I'm working on a patch series to provide a kernel-headers package which allows for the compilation of Linux kernel modules on the target. I currently have something working, but it requires that I first build the
scripts/*binaries on the target, prior to trying to build a module.# cd /usr/src/kernel-headers # make scriptsThen I can build modules:
# cd /home/root/hello-mod/files # export KERNEL_SRC=/usr/src/kernel-headers # makeAnd test:
# insmod hello.ko # rmmod hello.ko # dmesg | tail -n2 Hello World! Goodbye Cruel World!Quoted 7 lines
I would like to package the target-arch scripts binaries with the kernel-headers package, but I'm not sure how to go about building both the native and the target binaries as part of the kernel building process. Does it make sense to build these as part of the
do_install()task after I've moved the files from the linux recipe's workdir and removed the host-arch binaries from scripts?Quoted 9 lines
the hostprogs there are a bit hairy. you could set HOSTCC to point to cross compiler and build scripts dir in some O=foo after copying .config into it but the problem would be that build system expects the hosttools in build tree at exact same location
e.g. fixdep would be needed even to build other hosttools e.g. recordmcount etc. and thats where you have to patch kbuild such that it could reference another fixdep tool which then will be built for the host you are compiling kernel on.Ewe, what a mess.
Quoted 9 lines
Quoted 6 lines
Another option would be to add:
# cd /usr/src/kernel-headers # make scriptsTo the kernel-headers post-inst script. =
or you could document it and have people do it manually.
While I would like it to work "out of the box", that would require me to either RDEPEND on make and gcc, or gracefully handle the postinst failure if make and gcc are not available. Perhaps just documenting it is the best plan for now.
Signature · 3 lines
Darren Hart Intel Open Source Technology Center Yocto Project - Linux Kernel