Re: [OE-core] Do we have a package that installs the kernel headers and config into the target?
Darren Hart wrote on 2012-04-07: On 04/06/2012 12:48 AM, Cui, Dexuan wrote: It seems to me some work is needed at ESDC to account for proper development techniques and not reward sloppy development. Writing maintainable code is an important part of professional software engineers do every day. Rewarding shortcuts and deliverables by any means necessary does students and the industry a disservice. I agree. Actually we delivered a 5-hour Yocto training (consisting of 4 sessions) to the sophomore and junior students, but the feedbacks show many students think, with the limited time, they only want to focus on developing things that could make them win a prize, and they feel Yocto isn't so easy as they expected -- they actually don't care Yocto's powerful capability of customization and they only want a distribution that has integrated every possible library or tool they need... Thanks, -- Dexuan ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] Do we have a package that installs the kernel headers and config into the target?
Daniel Lazzari wrote on 2012-04-07: On 04/05/2012 09:41 PM, Cui, Dexuan wrote: Surely, the standard way is: we should write a recipe to cross-compile and install the driver. But this is difficult to the students: 1) They're not familiar with Poky at all, and actually the downloaded wifi driver's code here seems indeed complex. 2) The students only have limited time so they intend to spend most of the time on things that could make them win a prize or money. :-) So this actually makes Yocto less appealing to them though the goal of Yocto is making developing on embedded easy... That said, there are valid use cases, but I don't consider this a particularly high priority at the moment. I'm happy to hear other thoughts on why this should be bumped in prio though. Currently I have suggested them that they should manually copy The kernel headers and .config into the target. Hope this can work around the issue for them. Any chance the students could cross compile the wifi module using an external toolchain? We could try this. But even I didn't try this before, so this needs efforts to find it out. Thanks, -- Dexuan ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] Do we have a package that installs the kernel headers and config into the target?
Hi Dexuan, Any chance the students could cross compile the wifi module using an external toolchain? We could try this. But even I didn't try this before, so this needs efforts to find it out. I wanted to achieve exactly the same, namely, compiling modules with external toolchain. I spend some time last week to get in running for beagleboard xm and angstrom. I documented everything with a blog post Comfortable kernel workflow on Beagleboard XM with nfsroothttp://veter-project.blogspot.de/2012/03/comfortable-kernel-workflow-on.html . In the end of exercise, I compiled sample module with external toolchain and loaded it on beagleboard. Hope some tips from the post will help. Regards, Maksym. ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] Do we have a package that installs the kernel headers and config into the target?
On 04/05/2012 09:41 PM, Cui, Dexuan wrote: Darren Hart wrote on 2012-04-06: On 04/05/2012 08:20 PM, Cui, Dexuan wrote: In a typical Linux distribution, there is a build link(or directory) that specifies the directory where the kernel headers and kernel config are put. E.g. in my Ubuntu 11.04, a package linux-headers-2.6.38-8-generic installs .config, include/ and Kconfig into /usr/src/linux-headers-2.6.38-8-generic/ and makes a link /lib/modules/2.6.38-8-generic/build to point to the directory. However, looks in Yocto, we don't have such a package? Do we have a plan to add it? I'm asking the question because in the ESDC contest, the students found in Yocto they couldn't build the wifi driver's source code that was downloaded from realtek.com: http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1PFid=4 8Level=5Conn=4ProdID=226DownTypeID=3GetDown=falseDownloads =true In Ubuntu, they can build the driver fine. There is an open bug: https://bugzilla.yoctoproject.org/show_bug.cgi?id=1614 Glad to know this is a know bug. I personally think it would be pretty nice if we can fix this bug soon since the students are being frustrated by this... And, in the Build Appliance (self-hosted-image) work, we want to enable the vmware guest's VMware Tools. This also requires the ability to build kernel module in the target. While I understand there are valid use cases, I think this is generally contrary to workflow of the project. We build the OS, it runs on the target. This is building a general purpose OS, and then having it build itself out more. It doesn't feel like an embedded workflow. That said, there are valid use cases, but I don't consider this a particularly high priority at the moment. I'm happy to hear other thoughts on why this should be bumped in prio though. -- Darren Hart Intel Open Source Technology Center Yocto Project - Linux Kernel ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] Do we have a package that installs the kernel headers and config into the target?
Darren Hart wrote on 2012-04-06: On 04/05/2012 09:41 PM, Cui, Dexuan wrote: Darren Hart wrote on 2012-04-06: On 04/05/2012 08:20 PM, Cui, Dexuan wrote: In a typical Linux distribution, there is a build link(or directory) that specifies the directory where the kernel headers and kernel config are put. E.g. in my Ubuntu 11.04, a package linux-headers-2.6.38-8-generic installs .config, include/ and Kconfig into /usr/src/linux-headers-2.6.38-8-generic/ and makes a link /lib/modules/2.6.38-8-generic/build to point to the directory. However, looks in Yocto, we don't have such a package? Do we have a plan to add it? I'm asking the question because in the ESDC contest, the students found in Yocto they couldn't build the wifi driver's source code that was downloaded from realtek.com: http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1PFid=4 8Level=5Conn=4ProdID=226DownTypeID=3GetDown=falseDownloads =true In Ubuntu, they can build the driver fine. There is an open bug: https://bugzilla.yoctoproject.org/show_bug.cgi?id=1614 Glad to know this is a know bug. I personally think it would be pretty nice if we can fix this bug soon since the students are being frustrated by this... And, in the Build Appliance (self-hosted-image) work, we want to enable the vmware guest's VMware Tools. This also requires the ability to build kernel module in the target. While I understand there are valid use cases, I think this is generally contrary to workflow of the project. We build the OS, it runs on the target. This is building a general purpose OS, and then having it build itself out more. It doesn't feel like an embedded workflow. I totally agree with you. Unluckily we'll have to face an imperfect world: E.g., in the ESDC contest, after the students boot the board with Yocto Linux, they attach a Realtek wifi device and try to build and install the driver. What's bad is: the driver's source code is not integrated into the upstream linux. The students can only run a makefile of the driver tarball to build the driver. To the students' surprise, there is no kernel headers in the running Yocto linux! :-( Surely, the standard way is: we should write a recipe to cross-compile and install the driver. But this is difficult to the students: 1) They're not familiar with Poky at all, and actually the downloaded wifi driver's code here seems indeed complex. 2) The students only have limited time so they intend to spend most of the time on things that could make them win a prize or money. :-) So this actually makes Yocto less appealing to them though the goal of Yocto is making developing on embedded easy... That said, there are valid use cases, but I don't consider this a particularly high priority at the moment. I'm happy to hear other thoughts on why this should be bumped in prio though. Currently I have suggested them that they should manually copy The kernel headers and .config into the target. Hope this can work around the issue for them. Thanks, -- Dexuan ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] Do we have a package that installs the kernel headers and config into the target?
Cui, Dexuan wrote on 2012-04-06: Darren Hart wrote on 2012-04-06: On 04/05/2012 09:41 PM, Cui, Dexuan wrote: While I understand there are valid use cases, I think this is generally contrary to workflow of the project. We build the OS, it runs on the target. This is building a general purpose OS, and then having it build itself out more. It doesn't feel like an embedded workflow. BTW, my question might be simplified as: If we strictly follow the rule the target OS shouldn't build itself out more, why do we supply a recipe core-image-sato-sdk.bb that can create an image with tools-sdk that includes development tools like gcc? :-) Or, while we recommend the common embedded workflow, we also somewhat support (or tolerate) the way the target builds itself out more? Thanks, -- Dexuan ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] Do we have a package that installs the kernel headers and config into the target?
On 04/06/2012 04:12 AM, Cui, Dexuan wrote: Cui, Dexuan wrote on 2012-04-06: Darren Hart wrote on 2012-04-06: On 04/05/2012 09:41 PM, Cui, Dexuan wrote: While I understand there are valid use cases, I think this is generally contrary to workflow of the project. We build the OS, it runs on the target. This is building a general purpose OS, and then having it build itself out more. It doesn't feel like an embedded workflow. BTW, my question might be simplified as: If we strictly follow the rule the target OS shouldn't build itself out more, why do we supply a recipe core-image-sato-sdk.bb that can create an image with tools-sdk that includes development tools like gcc? :-) Or, while we recommend the common embedded workflow, we also somewhat support (or tolerate) the way the target builds itself out more? Yup, agree. -- Darren Hart Intel Open Source Technology Center Yocto Project - Linux Kernel ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] Do we have a package that installs the kernel headers and config into the target?
On 04/06/2012 12:48 AM, Cui, Dexuan wrote: Darren Hart wrote on 2012-04-06: On 04/05/2012 09:41 PM, Cui, Dexuan wrote: Darren Hart wrote on 2012-04-06: On 04/05/2012 08:20 PM, Cui, Dexuan wrote: In a typical Linux distribution, there is a build link(or directory) that specifies the directory where the kernel headers and kernel config are put. E.g. in my Ubuntu 11.04, a package linux-headers-2.6.38-8-generic installs .config, include/ and Kconfig into /usr/src/linux-headers-2.6.38-8-generic/ and makes a link /lib/modules/2.6.38-8-generic/build to point to the directory. However, looks in Yocto, we don't have such a package? Do we have a plan to add it? I'm asking the question because in the ESDC contest, the students found in Yocto they couldn't build the wifi driver's source code that was downloaded from realtek.com: http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1PFid=4 8Level=5Conn=4ProdID=226DownTypeID=3GetDown=falseDownloads =true In Ubuntu, they can build the driver fine. There is an open bug: https://bugzilla.yoctoproject.org/show_bug.cgi?id=1614 Glad to know this is a know bug. I personally think it would be pretty nice if we can fix this bug soon since the students are being frustrated by this... And, in the Build Appliance (self-hosted-image) work, we want to enable the vmware guest's VMware Tools. This also requires the ability to build kernel module in the target. While I understand there are valid use cases, I think this is generally contrary to workflow of the project. We build the OS, it runs on the target. This is building a general purpose OS, and then having it build itself out more. It doesn't feel like an embedded workflow. I totally agree with you. Unluckily we'll have to face an imperfect world: E.g., in the ESDC contest, after the students boot the board with Yocto Linux, they attach a Realtek wifi device and try to build and install the driver. What's bad is: the driver's source code is not integrated into the upstream linux. The students can only run a makefile of the driver tarball to build the driver. To the students' surprise, there is no kernel headers in the running Yocto linux! :-( Surely, the standard way is: we should write a recipe to cross-compile and install the driver. But this is difficult to the students: 1) They're not familiar with Poky at all, and actually the downloaded wifi driver's code here seems indeed complex. 2) The students only have limited time so they intend to spend most of the time on things that could make them win a prize or money. :-) So this actually makes Yocto less appealing to them though the goal of Yocto is making developing on embedded easy... It seems to me some work is needed at ESDC to account for proper development techniques and not reward sloppy development. Writing maintainable code is an important part of professional software engineers do every day. Rewarding shortcuts and deliverables by any means necessary does students and the industry a disservice. -- Darren Hart Intel Open Source Technology Center Yocto Project - Linux Kernel ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] Do we have a package that installs the kernel headers and config into the target?
Darren Hart wrote on 2012-04-06: On 04/05/2012 09:41 PM, Cui, Dexuan wrote: Darren Hart wrote on 2012-04-06: On 04/05/2012 08:20 PM, Cui, Dexuan wrote: In a typical Linux distribution, there is a build link(or directory) that specifies the directory where the kernel headers and kernel config are put. E.g. in my Ubuntu 11.04, a package linux-headers-2.6.38-8-generic installs .config, include/ and Kconfig into /usr/src/linux-headers-2.6.38-8-generic/ and makes a link /lib/modules/2.6.38-8-generic/build to point to the directory. However, looks in Yocto, we don't have such a package? Do we have a plan to add it? I'm asking the question because in the ESDC contest, the students found in Yocto they couldn't build the wifi driver's source code that was downloaded from realtek.com: http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1PFi d=4 8Level=5Conn=4ProdID=226DownTypeID=3GetDown=falseDownloa ds =true In Ubuntu, they can build the driver fine. There is an open bug: https://bugzilla.yoctoproject.org/show_bug.cgi?id=1614 Glad to know this is a know bug. I personally think it would be pretty nice if we can fix this bug soon since the students are being frustrated by this... And, in the Build Appliance (self-hosted-image) work, we want to enable the vmware guest's VMware Tools. This also requires the ability to build kernel module in the target. While I understand there are valid use cases, I think this is generally contrary to workflow of the project. We build the OS, it runs on the target. This is building a general purpose OS, and then having it build itself out more. It doesn't feel like an embedded workflow. I totally agree with you. Unluckily we'll have to face an imperfect world: E.g., in the ESDC contest, after the students boot the board with Yocto Linux, they attach a Realtek wifi device and try to build and install the driver. What's bad is: the driver's source code is not integrated into the upstream linux. The students can only run a makefile of the driver tarball to build the driver. To the students' surprise, there is no kernel headers in the running Yocto linux! :-( Surely, the standard way is: we should write a recipe to cross-compile and install the driver. But this is difficult to the students: 1) They're not familiar with Poky at all, and actually the downloaded wifi driver's code here seems indeed complex. 2) The students only have limited time so they intend to spend most of the time on things that could make them win a prize or money. :-) So this actually makes Yocto less appealing to them though the goal of Yocto is making developing on embedded easy... That said, there are valid use cases, but I don't consider this a particularly high priority at the moment. I'm happy to hear other thoughts on why this should be bumped in prio though. Currently I have suggested them that they should manually copy The kernel headers and .config into the target. Hope this can work around the issue for them. Thanks, -- Dexuan Any chance the students could cross compile the wifi module using an external toolchain? ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
[OE-core] Do we have a package that installs the kernel headers and config into the target?
In a typical Linux distribution, there is a build link(or directory) that specifies the directory where the kernel headers and kernel config are put. E.g. in my Ubuntu 11.04, a package linux-headers-2.6.38-8-generic installs .config, include/ and Kconfig into /usr/src/linux-headers-2.6.38-8-generic/ and makes a link /lib/modules/2.6.38-8-generic/build to point to the directory. However, looks in Yocto, we don't have such a package? Do we have a plan to add it? I'm asking the question because in the ESDC contest, the students found in Yocto they couldn't build the wifi driver's source code that was downloaded from realtek.com: http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1PFid=48Level=5Conn=4ProdID=226DownTypeID=3GetDown=falseDownloads=true In Ubuntu, they can build the driver fine. Thanks, -- Dexuan ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] Do we have a package that installs the kernel headers and config into the target?
On 04/05/2012 08:20 PM, Cui, Dexuan wrote: In a typical Linux distribution, there is a build link(or directory) that specifies the directory where the kernel headers and kernel config are put. E.g. in my Ubuntu 11.04, a package linux-headers-2.6.38-8-generic installs .config, include/ and Kconfig into /usr/src/linux-headers-2.6.38-8-generic/ and makes a link /lib/modules/2.6.38-8-generic/build to point to the directory. However, looks in Yocto, we don't have such a package? Do we have a plan to add it? I'm asking the question because in the ESDC contest, the students found in Yocto they couldn't build the wifi driver's source code that was downloaded from realtek.com: http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1PFid=48Level=5Conn=4ProdID=226DownTypeID=3GetDown=falseDownloads=true In Ubuntu, they can build the driver fine. There is an open bug: https://bugzilla.yoctoproject.org/show_bug.cgi?id=1614 -- Darren Hart Intel Open Source Technology Center Yocto Project - Linux Kernel ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] Do we have a package that installs the kernel headers and config into the target?
Darren Hart wrote on 2012-04-06: On 04/05/2012 08:20 PM, Cui, Dexuan wrote: In a typical Linux distribution, there is a build link(or directory) that specifies the directory where the kernel headers and kernel config are put. E.g. in my Ubuntu 11.04, a package linux-headers-2.6.38-8-generic installs .config, include/ and Kconfig into /usr/src/linux-headers-2.6.38-8-generic/ and makes a link /lib/modules/2.6.38-8-generic/build to point to the directory. However, looks in Yocto, we don't have such a package? Do we have a plan to add it? I'm asking the question because in the ESDC contest, the students found in Yocto they couldn't build the wifi driver's source code that was downloaded from realtek.com: http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1PFid=4 8Level=5Conn=4ProdID=226DownTypeID=3GetDown=falseDownloads =true In Ubuntu, they can build the driver fine. There is an open bug: https://bugzilla.yoctoproject.org/show_bug.cgi?id=1614 Glad to know this is a know bug. I personally think it would be pretty nice if we can fix this bug soon since the students are being frustrated by this... And, in the Build Appliance (self-hosted-image) work, we want to enable the vmware guest's VMware Tools. This also requires the ability to build kernel module in the target. Thanks, -- Dexuan ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core