Bygga en serveranpassad kernel i Linux Arch: Difference between revisions
mNo edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
Kerneln i Linux Arch är huvudsakligen anpassad för desktops och fungerar bra även på servrar. Denna guide visar hur man kan bygga och installera en lite mer serveranpassad kernel i Linux Arch. | Kerneln i Linux Arch är huvudsakligen anpassad för desktops och fungerar bra även på servrar. Denna guide visar hur man kan bygga och installera en lite mer serveranpassad kernel i Linux Arch. | ||
== Förberedelser == | == Förberedelser == | ||
Logga in som root och installera abs (Arch Build System) och verktygen som behövs för att bygga från kod: | |||
{{Box Kommando|pacman -Sy abs base-devel|}} | {{Box Kommando|pacman -Sy abs base-devel|}} | ||
Line 29: | Line 27: | ||
</pre> | </pre> | ||
}} | }} | ||
== Bygg kerneln == | |||
Det är inte rekommenderat att bygga kod m.m. som root, så byt därför till en vanlig användare. Skapa en byggmap, t.ex. ~/abs och kopiera kernel26 (från core) till mappen: | |||
{{Box Kommando|cp -r /var/abs/core/kernel26 ~/abs/.|}} | |||
Gå sedan till kernel26 katalogen och editera filen PKGBUILD. Ändra följande rad: | |||
{{Box File|PKGBUILD före editering| | |||
<pre> | |||
... | |||
# load configuration | |||
# Configure the kernel. Replace the line below with one of your choice. | |||
#make menuconfig # CLI menu for configuration | |||
#make xconfig # X-based configuration | |||
#make oldconfig # using old config from previous kernel version | |||
... | |||
</pre> | |||
}} | |||
Till följande: | |||
{{Box File|PKGBUILD efter editering| | |||
<pre> | |||
... | |||
# load configuration | |||
# Configure the kernel. Replace the line below with one of your choice. | |||
make menuconfig # CLI menu for configuration | |||
#make xconfig # X-based configuration | |||
#make oldconfig # using old config from previous kernel version | |||
... | |||
</pre> | |||
}} | |||
Spara filen. Kör nu kommandot makepkg för att bygga kerneln. Efter hämtning och uppackning av koden, kommer make menuconfig köras och du får chansen att göra ändringar. Ändra följande: | |||
* Ändra default I/O scheduler till Deadline | |||
* Ändra Preemption model till No forced preemption (server) | |||
* Ändra Timer frequency till 100Hz | |||
Avsluta make menuconfig och spara dina ändringar. Kerneln kommer nu byggas och om allt går bra kommer ett paket med din anpassade kernel att skapas. | |||
== Installera den anpassade kerneln == | |||
Logga åter in som root och uppgradera kerneln till den anpassade kerneln: | |||
{{Box Kommando|pacman -U <kernel>.pkg.tar.gz| | |||
<pre> | |||
loading package data... | |||
checking dependencies... | |||
(1/1) checking for file conflicts [#####################] 100% | |||
(1/1) upgrading kernel26 [#####################] 100% | |||
>>> Updating module dependencies. Please wait ... | |||
>>> MKINITCPIO SETUP | |||
>>> ---------------- | |||
>>> If you use LVM2, Encrypted root or software RAID, | |||
>>> Ensure you enable support in /etc/mkinitcpio.conf . | |||
>>> More information about mkinitcpio setup can be found here: | |||
>>> http://wiki.archlinux.org/index.php/Mkinitcpio | |||
>>> Generating initial ramdisk, using mkinitcpio. Please wait... | |||
==> Building image "default" | |||
==> Running command: /sbin/mkinitcpio -k 2.6.30-ARCH -c /etc/mkinitcpio.conf -g /boot/kernel26.img | |||
:: Begin build | |||
:: Parsing hook [base] | |||
... | |||
:: Generating image '/boot/kernel26-fallback.img'...SUCCESS | |||
==> SUCCESS | |||
</pre> | |||
}} | |||
Starta om datorn för att den nya kerneln ska aktiveras. | |||
[[Category:Arch Linux]] | [[Category:Arch Linux]] |
Revision as of 12:22, 12 September 2009
Kerneln i Linux Arch är huvudsakligen anpassad för desktops och fungerar bra även på servrar. Denna guide visar hur man kan bygga och installera en lite mer serveranpassad kernel i Linux Arch.
Förberedelser
Logga in som root och installera abs (Arch Build System) och verktygen som behövs för att bygga från kod: Template:Box Kommando
Skapa ABS trädet
I filen /etc/abs.conf anger man vilka repositories som man vill synka. Eftersom vi inte tänkt bygga bleeding edge kod från testing, kan vi kommentera bort det repositoryt från filen:
Synka nu /var/abs genom att köra kommandot: Template:Box Kommando
Bygg kerneln
Det är inte rekommenderat att bygga kod m.m. som root, så byt därför till en vanlig användare. Skapa en byggmap, t.ex. ~/abs och kopiera kernel26 (från core) till mappen: Template:Box Kommando
Gå sedan till kernel26 katalogen och editera filen PKGBUILD. Ändra följande rad: Template:Box File Till följande: Template:Box File Spara filen. Kör nu kommandot makepkg för att bygga kerneln. Efter hämtning och uppackning av koden, kommer make menuconfig köras och du får chansen att göra ändringar. Ändra följande:
- Ändra default I/O scheduler till Deadline
- Ändra Preemption model till No forced preemption (server)
- Ändra Timer frequency till 100Hz
Avsluta make menuconfig och spara dina ändringar. Kerneln kommer nu byggas och om allt går bra kommer ett paket med din anpassade kernel att skapas.
Installera den anpassade kerneln
Logga åter in som root och uppgradera kerneln till den anpassade kerneln: Template:Box Kommando Starta om datorn för att den nya kerneln ska aktiveras.