Changes

Jump to navigation Jump to search
1,113 bytes added ,  23:14, 1 May 2007
no edit summary
Line 2: Line 2:     
This HowTo describes how to get SME 7.x working properly on a [http://www.mini-itx.com/store/?c=34#j7f4 Jetway J7F4 Mini-ITX motherboard]. These motherboards are an extremely attractive option for builing a small, energy-efficient yet relatively fast server. The J7F4 series have two Realtek RTL8110SC Gigabit LAN adapters on board, and are powered by a VIA C7 (Ester) processor at 1.2 Ghz (with passive cooling), or at 1.5 or 2.0 Ghz with active cooling. In addition, it includes hardware AES and SHA encryption/decryption, hardware MPEG2/4 decoding and a number of other potentially useful features. Unfortunately however, most of its hardware is not very well supported by the 2.6.9 kernel that is supplied with SME and CentOS 4. This document describes the compilation and installation of a custom kernel. It can also be used as an example of how to get SME running on or with any hardware that requires a modified or newer linux kernel.
 
This HowTo describes how to get SME 7.x working properly on a [http://www.mini-itx.com/store/?c=34#j7f4 Jetway J7F4 Mini-ITX motherboard]. These motherboards are an extremely attractive option for builing a small, energy-efficient yet relatively fast server. The J7F4 series have two Realtek RTL8110SC Gigabit LAN adapters on board, and are powered by a VIA C7 (Ester) processor at 1.2 Ghz (with passive cooling), or at 1.5 or 2.0 Ghz with active cooling. In addition, it includes hardware AES and SHA encryption/decryption, hardware MPEG2/4 decoding and a number of other potentially useful features. Unfortunately however, most of its hardware is not very well supported by the 2.6.9 kernel that is supplied with SME and CentOS 4. This document describes the compilation and installation of a custom kernel. It can also be used as an example of how to get SME running on or with any hardware that requires a modified or newer linux kernel.
 +
    
==Procedure==
 
==Procedure==
Line 10: Line 11:     
Alternatively you could install a temporary network-card in the PCI slot on the Jetway-board, or [http://forums.contribs.org/index.php?topic=35435.0 temporarily install the r1000 kernel module from Realtek]. The r1000 driver works with all RTL8169 and RTL8110 gigabit ethernet controllers. However, many people have found it to be buggy and unstable, so as soon as you have installed the new kernel you should switch to the r8169 kernel module. Recent versions of this driver have support for the RTL8110.
 
Alternatively you could install a temporary network-card in the PCI slot on the Jetway-board, or [http://forums.contribs.org/index.php?topic=35435.0 temporarily install the r1000 kernel module from Realtek]. The r1000 driver works with all RTL8169 and RTL8110 gigabit ethernet controllers. However, many people have found it to be buggy and unstable, so as soon as you have installed the new kernel you should switch to the r8169 kernel module. Recent versions of this driver have support for the RTL8110.
 +
    
===Step 1: Installing a compiler and build tools===
 
===Step 1: Installing a compiler and build tools===
Line 16: Line 18:     
  yum install kernel-devel gcc gcc-c++ ncurses-devel
 
  yum install kernel-devel gcc gcc-c++ ncurses-devel
 +
    
===Step 2: Installing the kernel sources===
 
===Step 2: Installing the kernel sources===
Line 40: Line 43:  
  cd /usr/src/linux/
 
  cd /usr/src/linux/
 
  patch -p1 </usr/src/via-c7.patch
 
  patch -p1 </usr/src/via-c7.patch
 +
    
===Step 3: Configuring the kernel===
 
===Step 3: Configuring the kernel===
Line 190: Line 194:     
When you're done, exit and save your configuration.
 
When you're done, exit and save your configuration.
 +
    
===Step 4: Compiling and installing the kernel===
 
===Step 4: Compiling and installing the kernel===
Line 239: Line 244:       −
===Step 6: Final configuration and cleaning up===
+
===Step 6: Final configuration===
    
If all has gone well, you should now be up and running on your brand new kernel. All that remains is to make sure that any remaining 'extra features' are loaded into the kernel. If you are running on a VIA C7 based board such as the Jetway J7F4, try the following to enable hardware crypting support:
 
If all has gone well, you should now be up and running on your brand new kernel. All that remains is to make sure that any remaining 'extra features' are loaded into the kernel. If you are running on a VIA C7 based board such as the Jetway J7F4, try the following to enable hardware crypting support:
Line 254: Line 259:  
  echo ondemand >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
 
  echo ondemand >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
   −
Of course, you don't want to type all of this every time you reboot the server. So you can create a script in /etc/e-smith/events/local that will configure things at boot-time:
+
Of course, you don't want to type all of this every time you reboot the server. So you can create a script in /etc/e-smith/events/local that will configure things for you at boot-time:
 +
 
 +
mcedit /etc/e-smith/events/actions/custom-setup-via
 +
 
 +
Type or paste the following into the script:
 +
 
 +
#!/bin/sh
 +
 
 +
# Custom initialisation stuff for the VIA C7
 +
 
 +
/sbin/modprobe via_rng
 +
/sbin/modprobe padlock
 +
echo ondemand >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
 +
 
 +
Save the script (F2 or F10 in mcedit) and set the right permissions:
 +
 
 +
chmod 554 /etc/e-smith/events/actions/custom-setup-via
 +
 
 +
Add the script to the 'local' event by making a link to it in /etc/e-smith/events/local/:
 +
 
 +
ln -s /etc/e-smith/events/actions/custom-setup-via /etc/e-smith/events/local/S60custom-setup-via
 +
 
 +
Alternatively, you can put the script directly in etc/e-smith/events/local/ if you find that more convenient. It will be run at boot time, and you can always trigger it manually by issuing:
 +
 
 +
/sbin/e-smith/signal-event local
 +
 
   −
[...]
     −
http://forums.contribs.org/index.php?topic=36665.0
+
===Step 7: Cleaning up===
   −
Remove compiler and development tools (optional):
+
For security reasons, it is best to remove the compiler and development tools if you are not going to use them anymore:  
   −
  yum -y remove libstdc++-devel cpp glibc-kernheaders glibc-headers
+
  yum -y remove libstdc++-devel cpp glibc-kernheaders glibc-headers glibc-devel gcc gcc-c++ kernel-devel ncurses-devel
glibc-devel gcc gcc-c++ kernel-devel ncurses-devel
     −
You can delete the remaining packages and sources in /usr/src,
+
You can also delete the remaining packages and sources in /usr/src, if you wish.
if you wish.
         
==Acknowledgements==
 
==Acknowledgements==
   −
This HOWTO is based on forum postings and documents by Harro, Charlie Brady, Falko Timme, Simon Arlott and many others.
+
This HowTo is written by Levien van Zon (levien at scum.org). It is based to a large extent on forum postings and documents by Harro, Charlie Brady, Falko Timme, Simon Arlott and many others. See the references below for more information. Feel free to add or correct things if you have wiki-access. You can also send corrections and suggestions to the author by e-mail.
     
55

edits

Navigation menu