Share your knowledge at the LQ Wiki.
Go Back > Blogs > Kenny the one-teen comittee to stamp out Proprietary $uckware
User Name


I decided to post a little introduction to myself here: Ask me who I was last March, and I would have had WinBloze 7 Beta on my main computer and would have been part of Micro$uck's test project for WinBloze 7 and would have been excited about it. However, that changed as soon as my network adapter changed and the new one worked with Linux. As soon as I tested the new adapter with Mint (I'd say about a year ago, in July 2009) I began to really value Linux for what it is.

However, I knew about Linux long before that. I started with gOS 2, which was my first distro. I had tried it back in about February 2008. I first learned about Linux back in mid-2007, from an article in PCMag that spanned several pages. I had quite a hard time back then, and Ubuntu Hardy was no different than gOS.

So then what took me so long from knowing about Linux to finally becoming an active user? My house was nothing but Wi-Fi. My mother set a secure wireless network up back then, and I couldn't connect to it because my adapter (Linksys WUSB54GSC) wasn't recognized by Linux. I had the patience to continue.

Then, in June 2008, my family got hit by the economic collapse here in the USA: The mortgage on my old house doubled and my family had to leave because of the rate increase. So, we were stuck in a hotel room until my family and I could end up in a new house. That Christmas, I wanted a netbook, and got my wish (the one I'm typing on, an Acer Aspire One AOA110-1545). It came with Linux preinstalled, and I liked it all around.

From then to June 2009, I still had WinBloze on my desktop, as Linux still didn't work with my wireless network adapter. Then, in June 2009 as I said, I got a new wireless network adapter, and in July decided to test it with Linux Mint 7. It worked, even from the Live CD! Now,

Rate this Entry

Linux Kernel build script

Posted 07-03-2010 at 01:27 PM by Kenny_Strawn
Updated 09-26-2010 at 08:33 PM by Kenny_Strawn

I have just created a shell script that automates the kernel download and build process for the person who runs it:

When you download it, just type (in a terminal):

$ chmod a+x && ./
The script (except for make xconfig, which it executes for you but expects you to check the drivers you want to build) downloads, unzips, builds and installs the kernel, modules and bootloader (or should I say updates the latter to recognize the new kernel) all automatically. This is especially good for newbies, since they don't have to worry about doing the whole build process manually. Look at the commands in the script and see what you think.

Do you think a shell script to automate the kernel build process is a good thing? To me it is, especially for newbies as I said.
Posted in Uncategorized
Views 39972 Comments 16
« Prev     Main     Next »
Total Comments 16


  1. Old Comment
    Testing this script right now, and have to say that so far it's working perfectly. I'm up to the modules build stage, and so far, no errors.
    Posted 07-03-2010 at 06:18 PM by Kenny_Strawn Kenny_Strawn is offline
  2. Old Comment
    Had to update the script a few times in order to debug it a bit, as I encountered an error when building the modules. That being because I did not have all of the build prerequisites installed. So, I added a line to the script that installs them (but depends on apt-get).
    Posted 07-03-2010 at 09:03 PM by Kenny_Strawn Kenny_Strawn is offline
  3. Old Comment
    Before I went to bed last night, I was testing the script and got the dreaded "No space left on device" error. Luckily, I was able to delete the source folder and archive to save space.

    On a side note, I could edit the script to delete the archive right after it is extracted.

    However, I still don't think it will save that much space, as the archive is highly compressed and once it is extracted and built hogs over 4 GB of precious SSD space. That's half the SSD's size! I am going to have to take a 500GB HDD that I have in storage out of there and try to run the script again if the auto-deletion of the archive doesn't work. I will have to really edit the script to save space for my running of it.
    Posted 07-04-2010 at 11:43 AM by Kenny_Strawn Kenny_Strawn is offline
  4. Old Comment
    Edited the script so that the source directory and archive are deleted right after they are extracted/built. Hopefully that will save disk space and just barely be able to make it through on my SSD.
    Posted 07-04-2010 at 12:11 PM by Kenny_Strawn Kenny_Strawn is offline
  5. Old Comment
    Updated the build prerequisites step to include btrfs-tools in case someone wants to support BTRFS in their kernel (or for that matter boot from a BTRFS hard drive).
    Posted 07-04-2010 at 06:44 PM by Kenny_Strawn Kenny_Strawn is offline
  6. Old Comment
    The link is broken.
    Posted 08-03-2010 at 02:31 PM by MTK358 MTK358 is offline
  7. Old Comment
    I know, MTK: M$ auto-generates those URLs. I will edit the post to update the link.

    Update: Entry edited to update to the new link.
    Posted 08-12-2010 at 01:26 PM by Kenny_Strawn Kenny_Strawn is offline
    Updated 08-12-2010 at 01:37 PM by Kenny_Strawn
  8. Old Comment
    Updated to take the source code from the Git repository instead of from a tarball to ensure that the most bleeding-edge kernel possible is downloaded and built.
    Posted 08-29-2010 at 04:21 PM by Kenny_Strawn Kenny_Strawn is offline
  9. Old Comment
    Updated to go along with the Git repository and automatically ensure that both the kernel and initrd are of the bleeding edge and the bugs are ironed out.
    Posted 08-29-2010 at 06:07 PM by Kenny_Strawn Kenny_Strawn is offline
  10. Old Comment
    Updated to get bugs ironed out with the Git repo and the fact that it doesn't work like other projects' Git repos like the GNOME repo.
    Posted 09-12-2010 at 10:15 PM by Kenny_Strawn Kenny_Strawn is offline
  11. Old Comment
    Updated again to pull from Torvalds' own Git tree, not another community Git tree.
    Posted 09-12-2010 at 10:28 PM by Kenny_Strawn Kenny_Strawn is offline
  12. Old Comment
    Updated yet again to fix more bugs, especially with mkinitramfs and update-grub. In particular, after creating the bzImage and modules, it renames them to the corresponding kernel version number using:

    mv /boot/initrd.img /boot/initrd.img-$(ls /lib/modules | sort -g | head -n 1)
    mv /boot/vmlinuz /boot/vmlinuz-$(ls /lib/modules | sort -g | head -n 1)
    What this does is it pulls the latest kernel version number out of /lib/modules and uses it to label the kernel image and initrd in an effort to ensure that update-grub sees updated kernel images. Another vital change:

    ---mkinitramfs /boot/initrd.img $(ls /lib/modules | sort -g | head -n 1)
    +++mkinitramfs -o /boot/initrd.img $(ls /lib/modules | sort -g | head -n 1)
    This is a major bug fix; if the -o option wasn't specified, it would default to the usage menu.
    Posted 09-13-2010 at 05:59 PM by Kenny_Strawn Kenny_Strawn is offline
    Updated 09-13-2010 at 06:02 PM by Kenny_Strawn (Removed unneded space inside [CODE][/CODE] tags)
  13. Old Comment
    Updated again to add makedev to the list of dependencies, otherwise installation of isdnutils will error out.
    Posted 09-13-2010 at 06:12 PM by Kenny_Strawn Kenny_Strawn is offline
  14. Old Comment
    Posted 09-14-2010 at 11:30 AM by rokytnji rokytnji is offline
  15. Old Comment
    Posted 09-14-2010 at 05:26 PM by Kenny_Strawn Kenny_Strawn is offline
  16. Old Comment
    Here is the new project homepage:
    Posted 09-25-2010 at 01:26 PM by Kenny_Strawn Kenny_Strawn is offline


All times are GMT -5. The time now is 01:08 PM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration