Compiling a i386 kernel on a x64 system.

Michael D. Setzer II mikes at kuentos.guam.net
Sun Nov 15 13:22:34 UTC 2009


The kernel has nothing to do with a fedora system, other than that I build the 
kernels on my fedora machine, and have done so with fedora for many 
version.

The kernels build are single standalone files for use with the g4l project and 
its boot process. Here is part of the isolinux.cfg file that loads the various 
kernels that can be used on various hardware combinations.

LABEL bz20.4
    MENU LABEL ^A: bz20.4 386 build 2.6.20.1 02-21-2007
    KERNEL bz20.4
    APPEND initrd=ramdisk.gz ramdisk_size=65536 root=/dev/ram0 noacpi
LABEL bz21.6
    MENU LABEL ^B: bz21.6 386 build 2.6.21.6 07-04-2007
    KERNEL bz21.6
    APPEND initrd=ramdisk.gz ramdisk_size=65536 root=/dev/ram0 noacpi
LABEL bz22.6
    MENU LABEL ^C: bz22.6 386 build 2.6.22.6 08-31-2007
    KERNEL bz22.6
    APPEND initrd=ramdisk.gz ramdisk_size=65536 root=/dev/ram0 noacpi
LABEL bz23.14
    MENU LABEL ^D: bz23.14 386 build 2.6.23.1 01-14-2008
    KERNEL bz23.14
    APPEND initrd=ramdisk.gz ramdisk_size=65536 root=/dev/ram0 noacpi
LABEL bz24.4
    MENU LABEL ^E: bz24.4 386 build 2.6.24.4 03-24-2008
    KERNEL bz24.4
    APPEND initrd=ramdisk.gz ramdisk_size=65536 root=/dev/ram0 noacpi
LABEL bz25.10
    MENU LABEL ^F: bz25.10 386 build 07-03-2008
    KERNEL bz25.10
    APPEND initrd=ramdisk.gz ramdisk_size=65536 root=/dev/ram0
LABEL bz26.6
    MENU LABEL ^G: bz26.6 386 build 10-09-2008 
    KERNEL bz26.6
    APPEND initrd=ramdisk.gz ramdisk_size=65536 root=/dev/ram0 
LABEL bz27.10
    MENU LABEL ^H: bz27.10 386 build 12-18-2008 
    KERNEL bz27.10
    APPEND initrd=ramdisk.gz ramdisk_size=65536 root=/dev/ram0 
LABEL bz28.8
    MENU LABEL ^I: bz28.8 386 build 03-17-2009  
    KERNEL bz28.8
    APPEND initrd=ramdisk.gz ramdisk_size=65536 root=/dev/ram0 
LABEL bz29.4
    MENU LABEL ^J: bz29.4 386 build 05-20-2009  
    KERNEL bz29.4
    APPEND initrd=ramdisk.gz ramdisk_size=65536 root=/dev/ram0 
LABEL bz30.9
    MENU LABEL ^K: bz30.9 386 build 10-05-2009  
    KERNEL bz30.9
    APPEND initrd=ramdisk.gz ramdisk_size=65536 root=/dev/ram0 
LABEL bz31.6
    MENU DEFAULT
    MENU LABEL ^L: bz31.6 386 build 11-10-2009  
    KERNEL bz31.6
    APPEND initrd=ramdisk.gz ramdisk_size=65536 root=/dev/ram0 

Most hardware works with the latest kernel, but some hardware doesn't, but 
works with older ones? I have an average of about 10,000 downloads per 
month of the project, so don't know all the hardware people use.

With my all past changes of the Fedora core to the next level, it is just 
copying the .config from the last build to the new system with the latest 
kernel.org and building it. I've used the processor option just over the 486 to 
provide largest level of hardware support. Didn't see a noticable preformance 
increase using a higher processor in the builds. 

With the Phenom II system, a build of the kernel with the same .config 
prompts for changes, and one is for the processor, and it provides only 64 bit 
options. I'm looking on how to be able to build a kernel in the same fashion. 
As I mentioned earlier, the new machine can build a kernel from scratch in 
about 12 minutes, but it would then only work on an x64 CPU. The x86 
kernels work for both, and have even used one of the x86 kernels on the x64 
machine to do a backup.

Perhaps there is some extra things that need to be loaded or configured to 
allow this.

Thanks.

Alan Cox had mentioned that this can be done, and I had tried to send a 
message directly to his address, but got no response. I know one of the 
kernel developers is Alan Cox, but may not be the same one.

+----------------------------------------------------------+
  Michael D. Setzer II -  Computer Science Instructor      
  Guam Community College  Computer Center                  
  mailto:mikes at kuentos.guam.net                            
  mailto:msetzerii at gmail.com
  http://www.guam.net/home/mikes
  Guam - Where America's Day Begins                        
+----------------------------------------------------------+

http://setiathome.berkeley.edu (Original)
Number of Seti Units Returned:  19,471
Processing time:  32 years, 290 days, 12 hours, 58 minutes
(Total Hours: 287,489)

BOINC at HOME CREDITS
SETI 8,810,597.176 | EINSTEIN 3,228,538.111 | ROSETTA 1,440,256.196




More information about the users mailing list