|
|
(63 intermediate revisions by 5 users not shown) |
Line 1: |
Line 1: |
− | ====''''' Welcome in the Linux Libre Kernel Group - Every One is Free to Join!'''''====
| + | #REDIRECT [[Group:Linux-libre]] |
− | | |
− | | |
− | | |
− | | |
− | | |
− | '''''current_status''''' Active
| |
− | | |
− | '''''irc''''' #linux-libre
| |
− | | |
− | '''''contact''''' [[User:aurelien|aurelien]]
| |
− | | |
− | '''''note''''' LK group for Linux Libre Kernel activists
| |
− | | |
− | '''''LAST OUT''''' ''''2.6.38 linux libre kernel .deb available from March the 4 2011''''
| |
− | ''''You work on différent type of architecture and/or operating systeme please join''''
| |
− | | |
− | '''''website''''' http://www.fscorsica.org
| |
− | (At the time you have build a linux libre kernel without modification on the base configuration you are welcome to link your website to share your works)
| |
− | | |
− | '''''members''''' [[User:aurelien|aurelien]] [[User:parsifal|parsifal]]
| |
− | | |
− | | |
− | '''''architecture''''' 32 bits
| |
− | | |
− | '''''operating system''''' Debian Squeeze on fully free repositories
| |
− | | |
− | | |
− | | |
− | | |
− | ''''' The Linux Libre Kernel Group as been created to help people to construct and compile their own Linux Libre Kernel from http://www.fsfla.org '''''
| |
− | | |
− | | |
− | | |
− | ''''' 1st goal establish a working compilation recipe (without change from the basic linux kernel configuration distributions but free as in freedom)'''''
| |
− | | |
− | ''''' 2nd goal offer a Linux Libre Kernel Optimization Solution - LKOS ''''' a guide to bring some optimizations on your own linux libre kernel
| |
− | | |
− | | |
− | | |
− | One of the simply way to compile your own Linux Libre Kernel for your distribution is
| |
− | (This example as been made on a Full Libre GNU / Linux Debian Operating System)
| |
− | | |
− | | |
− | | |
− | You can find the .deb of this linux libre kernel at :: http://www.fscorsica.org/kernel-en.html
| |
− | | |
− | You can find the .deb of an LKOS example at :: http://www.fscorsica.org/lkos-en.html
| |
− | | |
− | | |
− | | |
− | ===''''How-To-compile-your-own-linux-libre-kernel-on-free-debian-based''''===
| |
− | | |
− | Linux Libre-Kernel version :: 2.6.38
| |
− | | |
− | Last edit Tuesday the 4 March 2011.
| |
− | | |
− | Type: GNU documentation
| |
− | | |
− | License: GNU Free Documentation License
| |
− | | |
− | Made on Operating System : Debian with free software only
| |
− | | |
− | Distribution: GNU / linux
| |
− | | |
− | | |
− | ''''' Important change on the receipe :: have a look at make olconfig part '''''
| |
− | | |
− | | |
− | This part is important and long (depending on the computers you have got)
| |
− | | |
− | If you are running on a fresh install or if you never made that type of operation before, you will need to install packages needed for linux libre kernel compilation. First, make sure your apt database is updated
| |
− | | |
− | | |
− | | |
− | ==='''''All command must be made under root'''''===
| |
− | | |
− | | |
− | Get the root power with su or sudo
| |
− | | |
− | su
| |
− | aptitude update
| |
− | | |
− | | |
− | Install the needed packages
| |
− | | |
− | | |
− | aptitude install fakeroot kernel-package libncurses5-dev libqt3-mt-dev bzip2 wget build-essential
| |
− | | |
− | | |
− | In a web browser go to last linux libre kernel release you can launch from another buffer of your emacs or terminal if you use tty
| |
− | | |
− | | |
− | links http://www.linux-libre.fsfla.org/pub/linux-libre/releases/
| |
− | | |
− | | |
− | Copy the link adress of the linux libre kernel version you want.
| |
− | | |
− | | |
− | In a terminal go to /usr/src and get the source :
| |
− | | |
− | | |
− | wget http://www.linux-libre.fsfla.org/pub/linux-libre/releases/2.6.38-libre/linux-2.6.38-libre.tar.bz2
| |
− | | |
− | | |
− | Uncompress the archive file
| |
− | | |
− | | |
− | tar xvjf linux-2.6.38-libre.tar.bz2
| |
− | | |
− | | |
− | Go to the newly created directory of the uncompressed source
| |
− | | |
− | | |
− | cd linux-2.6.38
| |
− | | |
− | Enter
| |
− | | |
− | | |
− | you have to edit a file in the linux libre kernel source before compiling
| |
− | | |
− | Edit on > linux-2.6.38/Documentation/lguest/Makefile
| |
− | | |
− | | |
− | emacs Documentation/lguest/Makefile
| |
− | all: lguest
| |
− | to
| |
− | all:
| |
− | | |
− | save and close (under emacs C-x C-s)
| |
− | | |
− | | |
− | | |
− | Now you can start the compilation of the last linux libre kernel
| |
− | | |
− | normaly at this point you are already in /usr/src/linux2.6.38
| |
− | | |
− | make clean mrproper
| |
− | | |
− |
| |
− | | |
− | ''''' OBSOLET FROM THE 2.6.35 :: You don't need anymore this part | Follow the * ''''
| |
− | Now, you will need to have a base .config file that will control the build process. If you don't have a specific .config file, you can use the default
| |
− | file in the /boot directory. Just copy that into the source directory.
| |
− | cp /boot/config-* /usr/src (if you have already compile another linux kernel before, import just the last one in /usr/src from /boot)
| |
− | '''''this part stay here the time of 3.0 will be available'''''
| |
− | Why we decide to not use this part :: Because if you don't use this part, the step after will create a clean one, optimized for the linux libre kernel itself.
| |
− | some old version of .config-* on your machine can done a wrong result at the end of compilation.
| |
− | ''''' * CONTINUE DIRECTLY HERE '''''
| |
− | | |
− | | |
− | Now, you can review and change config variables. First, update your config file to the new options of the linux libre kernel source
| |
− | | |
− | make oldconfig
| |
− | | |
− | and answer the configuration questions there. Enter yes for the module to be built into the linux libre kernel, m for it to be build modularly which will only load if needed and no to exclude the module.
| |
− | | |
− | Now you are able to revise your decisions in the next step.
| |
− | | |
− | Next, enter
| |
− | | |
− | make xconfig
| |
− | | |
− | (make menuconfig is an alternative .config editing tool)
| |
− | | |
− | | |
− | This will open an application that classifies and explains the properties and available modules you can either 'build into' the linux libre kernel, make modularly available or disable. When you are done, save it and exit.
| |
− | | |
− | | |
− | make-kpkg clean
| |
− | | |
− | | |
− | Now you have to create a file ::
| |
− | | |
− | create the version.h file in the linux-2.6.37/include/linux containing ::
| |
− | | |
− | emacs include/linux/version.h
| |
− | #define UTS_RELEASE "2.6.38-libre-planet" <- (here change libre-planet by what you want)
| |
− | | |
− | C-x C-s save the file in /usr/src/linux-2.6.38/include/linux/version.h
| |
− | | |
− | | |
− | Now, you can build your linux libre kernel, enter
| |
− | | |
− | | |
− | fakeroot make-kpkg --initrd --append-to-version=-planet kernel_image kernel_headers kernel_source
| |
− | | |
− | | |
− | You can change "planet" by the value you have choose when you have create the utsrelease.h file. Optionally, you can add kernel_source at the end, if you want to build a source pack. You can also put CONCURRENCY_LEVEL=N (where N should be replaced by the number of CPU cores your computer has) at the beginning of the command to make the building process take advantage of multiple core systems.
| |
− | | |
− | The last command will take some time to complete. At the end, you will have linux-image and linux-headers (and linux-source if you chose) installation files.
| |
− | | |
− | | |
− | go to linux-image and linux-headers files to the directory you want. Then, either go to that directory in terminal with cd command and install the two .deb packages:
| |
− | | |
− | '''''Normaly you don't need anymore this part since Squeeze'''''
| |
− | If the compilation goes wrong, just re-edit the file ::
| |
− | Now you have to edit this file ::
| |
− | edit the version.h file in the linux-2.6.7.2/include/linux containing ::
| |
− | emacs include/linux/version.h
| |
− | #define UTS_RELEASE "2.6.37.2-libre-planet" <- (here change libre-planet by what you want)
| |
− | C-x C-s save the file in /usr/src/linux-2.6.37.2/include/linux/version.h
| |
− | and launch again ::
| |
− | fakeroot make-kpkg --initrd --append-to-version=-planet kernel_image kernel_headers kernel_source
| |
− | '''''Continu here'''''
| |
− | | |
− | Now you've got your own libre-kernel files in /usr/src
| |
− | | |
− | | |
− | dpkg -i linux-image-2.6.38-libre-planet.deb
| |
− | dpkg -i linux-headers-2.6.38-libre-planet.deb
| |
− | dpkg -i linux-source-2.6.38-libre-planet.deb
| |
− | | |
− | | |
− | Or
| |
− | | |
− | | |
− | dpkg -i *.deb
| |
− | | |
− | | |
− | Or, just double-click on the two files and click on the Install Package button.
| |
− | | |
− | Restart and choose libre-planet kernel from your GRUB.
| |
− | | |
− | | |
− | If you build you own Linux Libre Kernel and share it arround it can be usefull to generate the md5 checksum
| |
− | | |
− | | |
− | md5sum linux-image-2.6.38-libre-planet.deb > linux-image-2.6.38-libre-planet.deb.md5
| |
− | | |
− | | |
− | '''''Special Thanks to'''''
| |
− | | |
− | The Free Technologie Academy :: http://www.ftacademy.org
| |
− | Linux advanced administration manual :: first version of the receipe
| |
− | For the participation on the receipe 2.6.32 :: Ali Gundunz http://www.aligunduz.org/articles/buildkernel.html Ali Gundunz :: gndz.ali(at)gmail(dot)com
| |
− | For the modification part on the /linux-2.6.32.5/lguest/Makefile Damian Fossi :: damianfossi(at)gmail(dot)com
| |
− | | |
− | | |
− | This document is under GNU Free Documentation License
| |
− | Last modification bring March the 16 2011.
| |