Jeg har installert den nye offisielle LTSI-3.10 utgivelse på Raspberry Pi og MinnowBoard. Følgende beskriver installasjonstrinn av en kjerne bilde som jeg bygget ved å laste ned kildekoden for kjernen og bruke lappen. Den andre tutorial i denne serien forklarer hvordan du oppretter en LTSI kernel pakke for enklere administrasjon.
(1) Innhenting LTSI-3.10
For å komme i gang, laste LTSI-RC1. Gå til LTSI Releases for å finne nedlastingen URL. Den offisielle LTSI-3.10 utgivelsen er basert på 3.10.31. Mens du kan også laste ned i Git, jeg brukte tarball format som jeg er mer kjent med. Pakk tar filen under en ønsket katalog.
$ cd arbeid /patch$ tar xvzf ~ /Nedlasting /patch-3.10.31-ltsi.gz
Installere på Raspbian på Raspberry Pi
Deretter sette opp en kjerne bygge miljøet for Raspberry Pi. Du kan enten bruke en cross-build miljø eller en selv bygge en. Jeg testet begge. Sette opp en selv bygge miljøet, men krever tålmodighet. I tilfelle av en selv bygge miljøet, bruker du ssh tilkobling for oppsett. Det er mye informasjon tilgjengelig på internett om hvordan du setter opp en kjerne bygge miljøet, men her er den prosessen jeg brukte.
(a) Cross-build miljø
Jeg valgte Ubuntu Desktop 12.04 (32-bit-versjonen) for å sette opp bygge miljøet. Installere den nødvendige pakken.
$ sudo apt-get install build-essential libncurses5-devNeste, få en cross-kompilator.
$ wget --no-check-sertifikat https : //github.com/raspberrypi/tools/archive/master.tar.gzPakk den under en ønsket katalog. Jeg valgte /opt.
$ cd /opt$ tar xvzf ~ /Nedlasting /master.tar.gz(b) Selv bygge miljøet
Hvis du har Raspbian installert, har du sannsynligvis bygge miljøet satt opp allerede. Minst det fungerte i mitt tilfelle. Hvis du har problemer med å bruke make-kommandoen, må du installere den nødvendige pakken som når du setter opp en (a) kryss bygge miljøet.
$ sudo apt-get install build-essential libncurses5-dev(2) Skaff kjernen kilde
Raspbian kernel source er gjort tilgjengelig på github.
$ wget --no-check-sertifikat https://github.com/raspberrypi/linux/archive/rpi -3.10.y.tar.gzPakk ut filen under arbeidet katalogen.
$ cd ~ /arbeid$ tar xvzf ~ /Nedlasting /RPI-3.10.y.tar.gz < pre> $ cd linux-RPI-3.10.yHeretter vil jeg jobbe under ~ /arbeid /linux-RPI-3.10.y katalogen. Installer LTSI patch
$ cat ~ /arbeid /patch /*. | lappe -p1Deretter skaffe kjernekonfigurasjonen fra Raspbian på Raspberry Pi som kjører for øyeblikket. Her vil jeg bruke "bringebær" som vertsnavn for Raspberry Pi
Cross-build miljø.
$ scp pi @ bringebær. /proc/config.gz$ zcat config.gz > . .configSelv bygge miljøet:
$ cp /proc/config.gz$ zcat config.gz > .configBruk
gjøre oldconfigkommandoen for å oppdatere kjernekonfigurasjonen. På grunn av de ulike kernel versjoner, vil du bli spurt et spørsmål angående innstillingene for den nylig lagt konfigurasjon, men la alle innstillingene på standard for nå
Cross-build miljø.
$ lage CROSS_COMPILE=~/tools-master/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin/arm-bcm2708hardfp-linux-gnueabi- ARCH = arm oldconfigSelv bygge miljøet.
$ gjøre oldconfigDeretter bruker make
menuconfigkommando for å sette detaljert konfigurasjon
Cross-build miljø:
$ make CROSS_COMPILE=~/tools-master/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin/arm-bcm2708hardfp-linux-gnueabi- ARCH = arm menuconfigSelv bygge miljøet:
$ gjøre menuconfigNå er du klar til å begynne å sette sammen en kjerne. Med en selv bygge miljøet, må du forberede en natt batch
Cross-build miljø.
$ gjøre CROSS_COMPILE=~/tools-master/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin/arm-bcm2708hardfp-linux-gnueabi- ARCH = armSelv bygge miljøet:
$ nohup lage en > /tmp/log.txt 2 > & 1 &Når du arbeider i en selv bygge miljøet, vil du være logget inn eksternt, så jeg brukte nohup kommandoen slik at byggingen vil fortsette selv etter at jeg logger ut.
Når du er ferdig med å bygge den største organ, kompilere modulene.
Cross-build miljø :
$ make CROSS_COMPILE=~/tools-master/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin/arm-bcm2708hardfp-linux-gnueabi- ARCH = arm modulerSelv bygge miljøet:
$ lage modulerSist, installere modulene. Når du installerer i et kryss-bygge miljøet, gjør det på følgende måte. Først lagre modulene i en midlertidig mappe, og deretter ekstern kopi derfra
Cross-build miljø.
$ mkdir /tmp /rasp-mod$ sudo make CROSS_COMPILE=~/tools-master/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin/arm-bcm2708hardfp-linux-gnueabi- ARCH = arm \\\\INSTALL_MOD_PATH = /tmp /rasp-mod modules_install
$ sudo rm /tmp/rasp-mod/lib/modules/3.10.y/build$ sudo rm /tmp /rasp-mod/lib/modules/3.10.y/source$ scp -rp /tmp /rasp-mod /lib arch /arm /boot /zImage pi @ bringebær: ~ /Her, du logger inn Bringebær-pi og pakke de sikre kopiert filer.
$ sudo cp -rp lib /$ sudo cp /boot/kernel.img /boot/kernel.org$ sudo cp -rp zImage /boot/kernel.imgSelf-build miljø:
$ sudo make modules_install$ sudo cp /boot/kernel.img /boot/kernel.org$ sudo cp arch /arm /boot /zImage /boot/kernel.imgThis fullføre installasjonsprosessen. Nå starter.
$ sudo omstart
Installere på Angstrom på MinnowBoard
Neste, la oss se på LTSI på MinnowBoard. For dette har jeg bare testet i en selv bygge miljøet. Fremgangsmåten er den samme som med bringebær Pi. Forskjellene er at kjernen kilde ble lastet ned fra mainline kernel (http://www.kernel.org), og at oppstartsmetoden er endret til EFI.
(1) Innhenting LTSI-3.10
Se Raspberry Pi. Fullfør trinnene opp til utpakking filen under en ønsket katalog.
$ cd arbeid /patch$ tar xvzf ~ /Nedlasting /patch-3.10.31-ltsi.gzNext, sette opp en kernel bygge miljøet for MinnowBoard. Du kan enten bruke en cross-build miljø eller en selv bygge en. Jeg testet i en selv bygge miljøet. I tilfelle av en selv bygge miljøet, bruker du ssh tilkobling for oppsett. Standarden distribusjon av MinnowBoard er Angstrom bygget med Yocto Project. Du kan finne informasjon om hvordan du kan bygge en fordeling på MinnowBoard Wiki området, men det er ikke klart om hvordan å bygge nettopp kjernen. Så her er prosessen jeg brukte på mitt system.Sette opp en bygge miljø
Hvis du har Angstrom installert, har du sannsynligvis bygge miljøet satt opp allerede. Minst det fungerte i mitt tilfelle. Hvis det skjer at du har problemer med å bruke make-kommandoen, må du installere den nødvendige pakken.
$ sudo apt-get install build-essential libncurses5-dev(2) Skaff kjernen kilde
Last ned den aktuelle kjernen fra Kernel.org. Jeg valgte den offisielle LTSI versjonen 3.10.31. Pakk ut filen under arbeidet katalogen.
$ cd ~ /arbeid$ tar xvzf ~ /Nedlasting /linux-3.10.31.tgz(3) Opprette en Minnow patch
< p> MinnowBoard sin GPIO /LED fungerer ikke med mainline kjernen alene, så du trenger for å lage en patch for denne funksjonen. Sjekk den opprinnelige MinnowBoard kernel versjon. I mitt tilfelle var det 3.8.13-yocto-standard. Så du laste ned 3.8.13 kernel fra Kernel.org. Deretter bruke pakken ledelsen kommandoen
opkgpå Angstrom å få kjernen kilde for MinnowBoard.
$ opkg installere kernel-3.8.13-yocto-standardSammenlign Innholdet i de to filene
$ diff -rNu linux-3.10.13 /usr /src /kernel >.; patch-ørekyteI mitt tilfelle, forskjellen var stor, og også inkludert irrelevant innhold, så jeg hentet den nødvendige delen som vist nedenfor.
$ mkdir ~ /patch-m$ cd ~ /patch-m$ csplit ~ /patch-ørekyte /^ diff /{*}Dette vil splitte ut oppdaterings resultatene i en rekke filer.
Søk kun for oppdateringen som er relatert til Minnow .
$ grep MINNOWBOARD *Kombiner kun relevante oppdateringsfilene
$ cat filer funnet >.; ~ /patch-ørekyte-resultatHeretter vil jeg jobbe under ~ /arbeid /linux-3.10.31 katalogen. Installere oppdateringen for MinnowBoard og LTSI patch
$ cat ~ /patch-ørekyte-resultat. | lappe -p1$ cat ~ /arbeid /patch /* | lappe -p1Deretter skaffe kjernekonfigurasjonen fra Angstrom på MinnowBoard som kjører
$ cp /proc/config.gz$ zcat config.gz >..; .configBruk make oldconfigcommand å oppdatere kjernekonfigurasjonen. På grunn av de ulike kernel versjoner, vil du bli spurt et spørsmål angående innstillingene for den nylig lagt konfigurasjon, men la innstillingene på standard for nå.
$ gjøre oldconfigDeretter bruker make menuconfig kommandoen å sette en detaljert konfigurasjon
$ gjøre menuconfigNå er du klar til å begynne å sette sammen en kjerne
$ nohup lage en >.. /tmp/log.txt 2 > & 1 &Når du er ferdig med å bygge den største organ, kompilere modulene
$ lage modulerSist, installere modulene og kjernen
$ sudo make modules_installInstaller kjernen i EFI partisjonen.
$ sudo mount /dev /sda1 /efi$ sudo cp /efi /vmlinuz /efi/vmlinuz.org$ sudo cp arch /arm /boot /zImage /efi /vmlinuzDette fullføre installasjonsprosessen. Nå starter.
$ sudo omstart
Hvis det ikke starter, slå av strømmen og slå den på igjen. For noen grunn omstart ser ikke ut til å fungere ordentlig. Det kan være en tendens til Angstrom Distribution.
Hisashi Hashimoto er senioringeniør i Hitachi.