Posts

Bad Amazon

On May 20 2011 I've placed an order at Amazon for three books: C Programming Language (2nd Edition) The Design of the UNIX Operating System [Prentice-Hall Software Series] Operating Systems Design and Implementation (3rd Edition) The delivery estimate was set to June 20, 2011. Today July 30, 2011, the books did not arrived yet. I've contacted Amazon after June 20. Amazon asked me to wait until July 22. On July 25 they gave me total refund. Well, this is my first non success story about Amazon but I'm warned about no tracking information when using Expedited International Shipping. It is almost unbelievable. How can Amazon send $ 300 USD order without having tracking information? Yesterday I've ordered the same books plus other two. But this time I'm using the expensive Priority International Courier. The delivery estimate is: August 3, 2011 - August 9, 2011. Let's see if it will arrive this time. The new order: C: A Reference Manual (5th Edition) ...

The official: HOWTO do Linux kernel development

See full document at: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob_plain;f=Documentation/HOWTO;hb=HEAD

Write and Submit your first Linux kernel Patch

In a 40 min talk, Greg Kroah-Hartman creates and submit a patch. Is this possible to do in a weekend? I'll try. http://www.youtube.com/watch?v=LLBrBBImJt4

Is Eclipse-cdt my friend?

I'm testing Eclipse-cdt to see if helps me develop for the Kernel. Following only the first steps of: http://wiki.eclipse.org/HowTo_use_the_CDT_to_navigate_Linux_kernel_source Made Eclipse understand all Linux Source code. I'll need some time as the interface is richer than vi/gedit...

Adding header to kernel-headers rpm package

I wanted to distribute the header files placed on /usr/include/linux by a custom kernel-headers package. Isn't it just put the file at /home/peter/rpmbuild/BUILD/kernel-2.6.38.fc15.new/include/linux ? No! This is only 50% of the work. The other 50% consists of adding a line to the file: /home/peter/rpmbuild/BUILD/kernel-2.6.38.fc15.new/include/linux/Kbuild The line looks like: header-y += pst_syscalls.h And voila! Now it is done! The expected result is: [peter@KDPeter ~]$ rpm -qf /usr/include/linux/pst_syscalls.h kernel-headers-2.6.38.6-27.peter4.fc15.x86_64

How to tell rpmbuild the number of simultaneous jobs? (make -j)

On Fedora 15, setting the environment variable RPM_BUILD_NCPUS allows you to configure the number up to 16 simultaneous jobs. For example to set the number of simultaneous jobs to 12, so rpmbuild will call make -j12: $ export RPM_BUILD_NCPUS=12 But if you need more than 16 simultaneous jobs, you will need to edit ~/.rpmmacros file. To allow numbers greater than 16, I've modified this file to: [peter@notepeter ~]$ cat .rpmmacros %_topdir %(echo $HOME)/rpmbuild %_smp_mflags %( \ [ -z "$RPM_BUILD_NCPUS" ] \\\ && RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"; \\\ if [ "$RPM_BUILD_NCPUS" -gt 16 ]; then \\\ echo "-j $RPM_BUILD_NCPUS "; \\\ elif [ "$RPM_BUILD_NCPUS" -gt 3 ]; then \\\ echo "-j$RPM_BUILD_NCPUS"; \\\ else \\\ echo "-j3"; \\\ fi ) %__arch_install_post \ [ "%{buildarch}" = "noarch" ] || QA_CHECK_RPATHS=1 ; \ case "${QA_CHECK_RPATHS:-}" in ...

distcc is my friend!

Last month I spent some time on distcc trying to reduce Kernel build time. The original post is here . I had no success that time. I've tried it again. Now it was a true success. :-) distcc reduced the build time of Fedora Kernel ~ 53% when using 3 PCs instead of one. From 25m5.938s to 11m52.751s. Details: With distcc: [peter@notepeter SPECS]$ cd /home/peter/distcc/ [peter@notepeter distcc]$ ls -la total 8 drwxrwxr-x 2 peter peter 4096 Jun 27 20:33 . drwx------. 49 peter peter 4096 Jun 27 20:48 .. lrwxrwxrwx 1 peter peter 15 Jun 27 20:33 c++ -> /usr/bin/distcc lrwxrwxrwx 1 peter peter 15 Jun 27 20:33 cc -> /usr/bin/distcc lrwxrwxrwx 1 peter peter 15 Jun 27 20:33 g++ -> /usr/bin/distcc lrwxrwxrwx 1 peter peter 15 Jun 27 20:33 gcc -> /usr/bin/distcc [peter@notepeter distcc]$ cd - [peter@notepeter SPECS]$ rpmbuild --clean kernel.spec [peter@notepeter SPECS]$ export PATH=/home/peter/distcc/:$PATH [peter@notepeter SPECS]$ export DISTCC_...