Re:Kernel module programming
Now that I have a bare-bones LFS (6.7) system running, I've begun to use it to learn the rudiments of kernel module programming, using the Linux Kernel Programming Guide (May 2007) as a guide. But the Hello, World project fails to build, right off the bat. In case this is the right forum for raising this question, here is what I get: Makefile: obj?m += hello?1.o all: make ?C /lib/modules/$(shell uname ?r)/build M=$(PWD) modules clean: make ?C /lib/modules/$(shell uname ?r)/build M=$(PWD) clean These errors are hand-copied, since I'm doing the work in the LFS console: First I get a warning: WARNING: Symbol version dump /sources/linux-2.6.35.4/Module symvers is missing; modules will have no dependencies and modversions. Then a real error: scripts/Makefile.build:235: target '/home/daryl/kernel/hello-1/hello-1.c' doesn't match the target pattern And right after the 'MODPOST 0 modules' output line, I get: /bin/sh: scripts/mod/modpost: No such file or directory. First, this really is not the correct place to ask this, *but* although you show: obj-m += hello-1.o (which would be correct) The error seems to indicate that you put: obj-m += hello-1.c -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
bootloaders and USB
do most of the standard bootloaders (grub/,lilo, etc) have the ability to boot to usb even when the BIOS doesn't natively support boot to usb or floppy emulation? A qualified no. The qualifier is you could use a plop cd to boot to USB. -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: urgent (Neal Murphy)
It would take hundreds of gifted people more than a decade to achieve such a thing. Or Linus about a year. Sorry, but I have to comment on this. It is just too interesting. Linus's real genius was in scoping and managing the project so it could get done. The 1.0 release took more like 2 years plus, and involved many people. So, your goal would be something far less that Linux 1.0. It also has to be recognized that at the time an IBM PC was a simple machine, and that expectations were much less as to what an OS would do. http://www.tuxradar.com/content/linux-kernel-10-turns-15-years-old As for the book on the IA64 Kernel, bad advice. Based on the title, I would guess that this book would focus on the details of porting to this architecture - a complex one that failed to meet expectations. (It was supposed to the 64 bit PC). Also, it is unlikely that you will even get you hands on this chip. As for Minux, another endeavor that failed to meet expectations. If you want to study micro-kernels, I suppose that would be a good book, but to date this form of architecture has not worked out to be usable.(IBM spent billions in the 90's to find this out). So your *real* problem is to figure out what you can really do in the time you have to do it and define carefully just what you mean by an OS. -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
urgent (Neal Murphy)
As for Minux, another endeavor that failed to meet expectations. It depends on what you think the expectations were. My book on Minix is dated 1988 and included a 5.25 floppy with the entire source code, about 13000 lines. Tannenbaum said he wrote it for instructional reasons, not commercial, and by that standard was quite successful. I agree that it depends on what your expectations are and I've heard those goals before. I'm sure your book is excellent, but I just don't think it would the the ideal starting place. -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
How to Improve the LFS book
On this topic, I too had a notion that what I call Lab Notes would have been an improvement and perhaps call users attention to important procedures. I did this for my self, as the text does a good job of explaining the what and the how,but the how is embedded in the text, and not as easily followed. I printed the book and then made notes as to what to do. I have a duplex laser and paid Office Depot about 4.00 to bind it with wire. It cost me about 6.00 to make it, and I put about 10 blank pages at the end to jot down lab notes. So, perhaps there is some way to tag sections of the book so that a separate document could be generated that just has the step by step instructions ( AND important notes). I have to admit, I had to learn to hard way to just delete the un-tar and build directories after each step (and, if a step fails). Jim -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
RE: gcc Pass 2 configure: error: unsupported system, cannot find sizeof (omp_lock_t)
Yes the problem was downlevel book usage. Lesson learned. As soon as I went the to dev book, I found the make command was different and that fixed it. Thanks to all of you for great support. JimD -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
gcc Pass 2 configure: error: unsupported system, cannot find sizeof (omp_lock_t)
gcc-4.5.0 (as per the current wget-list) Patch applied gcc-4.5.0-startfiles_fix-1.patch using mpc-0.8.1, not in the book but required. - Clean directory from pass 1 - All the scripts from LFS 6.6 section 5.10 run. except for the one a pg 45 for x86_64 checking for strtoull... yes checking for clock_gettime in -lrt... yes checking whether the target supports thread-local storage... no checking whether the target supports hidden visibility... yes checking whether the target supports dllexport... no checking whether the target supports symbol aliases... yes checking for ld used by /mnt/lfs/sources/gcc-build/./gcc/xgcc -B/mnt/lfs/sources/gcc-build/./gcc/ -B/tools/i686-pc-linux-gnu/bin/ -B/tools/i686-pc-linux-gnu/lib/ -isystem /tools/i686-pc-linux-gnu/include -isystem /tools/i686-pc-linux-gnu/sys-include ... (cached) /mnt/lfs/sources/gcc-build/./gcc/collect-ld checking if the linker (/mnt/lfs/sources/gcc-build/./gcc/collect-ld) is GNU ld... (cached) yes checking for shared libgcc... yes checking whether the target supports .symver directive... yes configure: versioning on shared library symbols is gnu checking whether the target supports __sync_*_compare_and_swap... yes configure: updating cache ./config.cache configure: error: unsupported system, cannot find sizeof (omp_lock_t) make[1]: *** [configure-target-libgomp] Error 1 make[1]: Leaving directory `/mnt/lfs/sources/gcc-build' make: *** [all] Error 2 -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page