Home > Uncategorized > Raspberry Pi: Tuning the Kernel – 0.2

Raspberry Pi: Tuning the Kernel – 0.2

For the 0.2 of my Tuning the Kernel SBR600 project, I had planned to do some trimming of the kernel experimenting with different compilation options for the kernel.

Building a kernel using the make command with no menu options set, will build you a “stock” kernel as I had done in my previous post.

I learned that there are a few methods to go about altering the compilation options for a kernel:

make config

Using the config option, you are presented with a large list of questions that you must go through one by one to change the compilation options.

Support for paging of anonymous memory (swap) (SWAP) [Y/n/?]
System V IPC (SYSVIPC) [Y/n/?] Y
BSD Process Accounting (BSD_PROCESS_ACCT) [Y/n/?] Y
  BSD Process Accounting version 3 file format (BSD_PROCESS_ACCT_V3) [N/y/?] N
Export task/process statistics through netlink (EXPERIMENTAL) (TASKSTATS) [Y/n/?]
  Enable per-task delay accounting (EXPERIMENTAL) (TASK_DELAY_ACCT) [Y/n/?]

make menuconfig

Using the menuconfig option, you’re presented with a graphical ncurses GUI as seen below:

make xconfig

Using the xconfig option brings up an xwindows styled tool for enabling or disabling options.

I believe all methods accomplish the same task in this case, it’s a matter of which you’re more comfortable with (or what’s available to you(xconfig requires gtk+ and menuconfig requires ncurses)).

In my case, I stuck with the xconfig option as I find it easier to navigate with my mouse rather than my keyboard.

The next step is deciding what options to leave on and which can be deemed unnecessary and taken out. (which is the part I’m having most difficulty with).

That being said, I’ve created 2 kernels with some different options turned off on each:

kernel1

  • removed Broadcom system support
  • removed power management support
  • removed misc drivers
  • removed SCSI device support
  • removed PID support – special HID devices (joysticks)

kernel2

  • removed power management support
  • removed networking support: (amature radio,CAN bus, IRDA, Bluetooth, Wimax, Plan9)
  • removed SCSI device support
  • removed PID support – special HID devices (joysticks)

For those interested in the .config files from which I created these two kernels, they can be found here.

About these ads
Categories: Uncategorized
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: