Difference between revisions of "Kernel Reconfiguration"

From Gumstix User Wiki
Jump to: navigation, search
Line 26: Line 26:
 
''$OE_HOME/build/conf/auto.conf''
 
''$OE_HOME/build/conf/auto.conf''
  
Once you've actually got the kernel setup you want, the following commands will rebuild and repackage the new kernel and create new images for you:
+
After running menuconfig, running "bitbake -c rebuild gumstix-kernel" will blow away the customizations just made.  There is probably a better way to do this, but in order to preserve the customizations, you can copy the new config file and replace the default config.  For example, to preserve a verdex board's config, do:
<code><pre>
+
bitbake -c rebuild gumstix-kernel
+
bitbake -c rebuild task-base-gumstix
+
bitbake gumstix-basic-image
+
</pre></code>
+
 
+
Configuring the kernel this way, if you do other types of customization (for example, you decide to edit com.gumstix.collection/conf/machine/gumstix-custom-verdex.conf) and rebuild, all your kernel customizations will be removed.  You can preserve them by looking at the newly created config, which is, this particular verdex configuration, in:
+
  
 
<code><pre>
 
<code><pre>
$OE_HOME/tmp/work/gumstix-custom-verdex-angstrom-linux-gnueabi/gumstix-kernel-2.6.21-r1/linux-2.6.21/.config
+
cp $OE_HOME/tmp/work/gumstix-custom-verdex-angstrom-linux-gnueabi/gumstix-kernel-2.6.21-r1/linux-2.6.21/.config $OE_HOME/com.gumstix.collection/packages/linux/gumstix-kernel-2.6.21/gumstix-custom-verdex/defconfig
 
</pre></code>
 
</pre></code>
  
and altering the default config, again for this particular board, in:
+
Now that you have replaced the default config, the following commands will rebuild and repackage the new kernel and create new images for you:
  
 
<code><pre>
 
<code><pre>
$OE_HOME/com.gumstix.collection/packages/linux/gumstix-kernel-2.6.21/gumstix-custom-verdex/defconfig
+
bitbake -c rebuild gumstix-kernel
 +
bitbake -c rebuild task-base-gumstix
 +
bitbake gumstix-basic-image
 
</pre></code>
 
</pre></code>

Revision as of 14:42, 23 July 2008


To reconfigure the kernel with the current state of Gumstix's OE things, you will need gnome-terminal. Run this command: bitbake gumstix-kernel -c menuconfig

NOTE: You have to have ncurses and ncurses-dev installed in order for the MENUCONFIG to actually work.
NOTE: If a screen flashes infront of you and dissapears edit $OE_HOME/org.openembedded.snapshot/conf/bitbake.conf to the following

-GNOME_TERMCMDRUN = '${GNOME_TERMCMD} -x ${SHELLRCCMD}'
+GNOME_TERMCMDRUN = '${GNOME_TERMCMD} -x ${SHELLCMDS}'

NOTE: If you don't have gnome-terminal installed and wish to use xterm instead, use:

-GNOME_TERMCMD = 'gnome-terminal --disable-factory -t "$TERMWINDOWTITLE"'
-GNOME_TERMCMDRUN = '${GNOME_TERMCMD} -x ${SHELLRCCMD}'
+GNOME_TERMCMD = 'xterm -title "$TERMWINDOWTITLE"'
+GNOME_TERMCMDRUN = '${GNOME_TERMCMD} -e ${SHELLCMDS}'

The kernel config information is kept in
$OE_HOME/com.gumstix.collection/packages/linux/gumstix-kernel-2.6.XX/gumstix-custom-YYYYY/defconfig
where XX is the current default kernel version for your bitbake environment. That nugget is set in the $OE_HOME/com.gumstix.collection/conf/machine/include/gumstix.inc file, under the PREFERRED_VERSION_gumstix-kernel and YYYYY is usually one of connex/basix/verdex. That nugget comes from
$OE_HOME/build/conf/auto.conf

After running menuconfig, running "bitbake -c rebuild gumstix-kernel" will blow away the customizations just made. There is probably a better way to do this, but in order to preserve the customizations, you can copy the new config file and replace the default config. For example, to preserve a verdex board's config, do:

cp $OE_HOME/tmp/work/gumstix-custom-verdex-angstrom-linux-gnueabi/gumstix-kernel-2.6.21-r1/linux-2.6.21/.config $OE_HOME/com.gumstix.collection/packages/linux/gumstix-kernel-2.6.21/gumstix-custom-verdex/defconfig

Now that you have replaced the default config, the following commands will rebuild and repackage the new kernel and create new images for you:

bitbake -c rebuild gumstix-kernel
bitbake -c rebuild task-base-gumstix
bitbake gumstix-basic-image