Etusivu > Uncategorized > LFS Base:n asennus Raspberry Pi:lle

LFS Base:n asennus Raspberry Pi:lle

Kokoonpano

Tässä artikkelissa käytetty kokoonpano:

Raspberry Pi Model 2 rev 2.0

Kingston 8GB SD-muistikortti, jossa valmiina Rasbian ”Wheezy” -käyttöjärjestelmä

RJ-45 Ethernet kaapeli

Eli artikkelissa kaikki toiminta tapahtuu ssh-yhteyden avulla, joten erillistä näppäimistö,hiirtä tai näyttöä ei tarvita.

Asennuskuvan lataaminen ja asennus

Aloitin asennuksen lataamalla Linux From Scratch Base -imagen täältä.

Latauksen jälkeen purkiin tiedoston kotihakemistoon. Tämän jälkeen laitoin SD-muistikortin koneeseen kiinni ja sulkiin muistikortin ikkunan. Seuraavaksi aloin seurata ohjeita, miten kuvan polttaminen muistikortille onnistuu. Linkin kohdassa ”Copying an image to the SD Card in Linux (command line)”  on kerrottu vielä tarkemmin mitä jokaisessa kohdassa tehdään.

Päätteessä käytetään dd-ohjelmaa, minkä avulla voi poistaa epähuomiossa koko kiintolevyn, joten sen käyttöön kannattaa tutustua ennenkuin alkaa käyttämään sitä.

$ df -h  #tulosteessa näkyy kaikki kiintolevyt ja niiden osiot, mutta kopioin tulosteesta muistikortin 
         #rivit.Muistikortin sijainnin voi selvittää vertailemalla tulosteita kun muistikortti on 
         #koneessa kiinni ja kun ei. Oletuksena muistikortti on joko /dev/sdd tai /dev/mmcblk0.

/dev/mmcblk0p2              7.3G  1.4G  5.9G  19% /media/antti-ville/PiLFS
/dev/mmcblk0p1               47M   17M   30M  36% /media/antti-ville/PiLFS-Boot

$ umount /dev/mmcblk0p2 #irroitin muistikortin 2. osio
$ umount /dev/mmcblk0p1 #irroitin muistikortin 1. osio. Jos näiden jälkeen komentaisi df -h ei tulosteessa
                        #pitäisi näkyä muistikortin osioita.

Tämän jälkeen alkaa asentaminen missä pitää olla erityisen varovainen.

Komennossa dd viittaa ohjelmaan, bs on (block size), if argumentin jälkeen polku .img -tiedostoon ja 
of argumentin jälkeen kohteen sijainti. Sijainnissa pitää olla koko laite, ei missään nimessä osio.

$ sudo dd bs=4M if=/home/antti-ville/Downloads/pilfs-base-20121015.img of=/dev/mmcblik0

Komennon jälkeen menee aikaa eikä minkäänlaista infoa tule mitä tapahtuu, joten kärsivällisyyttä piti olla. Linuxissa näyttää pätevän se, että kun mitään ei näytä tapahtuvan kaikki sujuu onnistuneesti. Jos kuitenkin herää kysymys mitä tapahtuu voi asian tarkistaa avaamalla toisen päätteen ja komentaa sudo pkill -USR1 -n -x dd, jolloin ensimmäiseen päätteeseen tulee tilannepäivitys.

Toisessa päätteessä:
$ sudo pkill -USR1 -n -x dd
Ensimmäiseen päätteeseen tuli tilanne:
400+0 records in
400+0 records out
1677721600 bytes (1.7 GB) copied, 158.629 s, 10.6 MB/s

Kun polttaminen loppui onnistuneesti ennen muistikortin poistamista komensin vielä sudo sync, joka tyhjentää välimuistin jotta muistikortti voidaan poistaa turvallisesti.

Ensimmäinen kirjautuminen ssh-yhteydellä

Ensimmäinen kirjautuminen vaati verkkoyhteyksien muuttamista manuaalisesti. Tämä siis siksi kun minulla ei ole käytössä näppäimistöä. Raspberry Pi:n oletusverkkoasetuksissa ip-osoite on 192.168.2.2 ja verkkomaski 255.255.255.0 oletusreititin 192.168.2.1.

Eli avasin verkkoyhteyskuvakkeen näytön oikeasta yläkulmasta päivämäärän vierestä ja klikkasin ”muokkaa”. Avautuvasta ikkunasta valitsin ”langallinen” -välilehden ja klikkasin ”muokkaa”. Tämän jälkeen avautuvasta ikkunasta valitsin välilehden ”IPv4 asetukset” ja tavaksi ”manuaalinen”. Jotta oma kannettavani olisi samassa verkossa Raspiberry Pi:n kanssa laittoin omaksi ip-osoitteekseni 192.168.2.4 ,verkkomaskiksi 255.255.255.0 ja oletusreitittimeksi 192.168.2.1 niille varattuihin kohtiin ja painoin ”tallenna”. Ainoa tärkeä asia edellisissä tiedoissa on, että koneen oma ip-osoite ei ole sama kuin RasPi:n. Ja suosittelen tarkistamaan  kahteen kertaan että verkkomaskin ja reitittimen osoitteet on kirjoitettu oikein.

Tämän jälkeen yhdistin Raspberry Pi ethernet-johdolla tietokoneeseeni ja klikkasin yhteystavaksi vielä langallisen internetin näytön oikeasta yläreunasta. Langaton netti katkesi ja kohta tuli tieto, että langallinen nettiyhteys toimii. Toisin sanoen RasPi oli piuhan toisessa päässä. Avasin komentopäätteen ja otin ssh-yhteyden RasPiin.

Oletuksen LFS Base:ssa käyttäjätunnus on root ja salasana pilfs.

$ ssh root@192.168.2.2
The authenticity of host '192.168.2.2 (192.168.2.2)' can't be established.
ECDSA key fingerprint is 6c:d5:38:f1:fd:32:e4:8d:fa:4b:88:ff:57:10:f2:d3.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.2.2' (ECDSA) to the list of known hosts.
root@192.168.2.2's password:

Kirjautuminen onnistui, joten seuraavaksi muutin muistikortin osiointia, jotta koko muistikortin tila saataisiin käyttöön.

Muistikortin uudelleen osioiminen

Muistinkortin uudelleen osioimisessa käyttiin tämän sivuston ohjetta.

Eli jatkoin ssh-yhteyttä päätteessä ja komensin df -h. 

root@0] [~] df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/mmcblk0p2  1.8G  1.4G  460M  75% /
tmpfs            61M  168K   60M   1% /run
devtmpfs         60M     0   60M   0% /dev
/dev/mmcblk0p1   47M   37M   11M  79% /boot

[root@0] [~] fdisk /dev/mmcblk0
Welcome to fdisk (util-linux 2.21.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): p  #p=partition ,eli näyttää osiot mitä on olemassa.
Disk /dev/mmcblk0: 7969 MB, 7969177600 bytes
64 heads, 32 sectors/track, 7600 cylinders, total 15564800 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000714e9

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1            2048       98303       48128    c  W95 FAT32 (LBA)
/dev/mmcblk0p2           98304     3905535     1903616   83  Linux #poistettavan osion alkukohta "Start" on tärkeää tietoa.
Command (m for help): d #d=delete, eli poistetaan olemassa oleva osio
Partition number (1-4): 2 #valitaan poistettavaksi osioksi osio "2"
Partition 2 is deleted

Command (m for help): n #n=new, eli tehdään uusi osio
Partition type:
   p   primary (1 primary, 0 extended, 3 free) #kerrotaan vaihtoehdot mitä voi valita
   e   extended
Select (default p): p #valitaan primary-osio
Partition number (1-4, default 2): 2 #osion numeroksi laitetaan 2
First sector (98304-15564799, default 98304): 98304 #laitetaan alussa olevan partion 2 start lukema,(tai enter koska "default" arvo on jo oikein)
Last sector, +sectors or +size{K,M,G} (98304-15564799, default 15564799): #painetaan suoraan enter:ä koska oletusarvo "default" on sopiva.
Using default value 15564799
Partition 2 of type Linux and of size 7.4 GiB is set

Command (m for help): w #w=write, eli tällä komennolla vasta kirjoitetaan. Alla oleva teksti ilmoittaa että muutokset tulevat voimaan
The partition table has been altered! #uudelleen käynnistämisen jälkeen.

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resourc$
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
[root@0] [~] reboot #käynnistetään RasPi uudestaan etänä.

$ ssh root@192.168.2.2 #kirjaudutaan sisään
root@192.168.2.2's password:

[root@0] [~] resize2fs /dev/mmcblk0p2 #tehdään muutoksista pysyvät 
resize2fs 1.42.5 (29-Jul-2012)
Filesystem at /dev/mmcblk0p2 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/mmcblk0p2 to 1933312 (4k) blocks.
The filesystem on /dev/mmcblk0p2 is now 1933312 blocks long.

[root@0] [~] df -h #ja tarkistetaan että tuloste näyttää osioiden koot oikein.
Filesystem      Size  Used Avail Use% Mounted on
/dev/mmcblk0p2  7.3G  1.4G  5.9G  19% /
tmpfs            61M  168K   60M   1% /run
devtmpfs         60M     0   60M   0% /dev
/dev/mmcblk0p1   47M   37M   11M  79% /boot

Ja lopussa olevan komennon tulosteesta näkeekin, että osioiminen onnistui ja nyt koko muistikortin koko on käytössä.

Raspberry Pi:n verkkoasetuksien muuttaminen

Jotta RasPi:n käyttö olisi mukavempaa, pitää verkkoasetuksia muuttaa. Oletuksena käynnistyksen yhteydessä verkkoasetukset tulee /etc/sysconfig/ifconfig.eth0 -tiedostosta, jossa on määritelty oletuksen yllämainitut ip-osoite,verkkomaski ja reititin. Haluan kuitenkin muuttaa asetuksia siten, että verkkoasetukset tulee automaattisesti dhcp:n mukaan. Ohjeiden mukaan verkkoyhteyden muuttaminen tehtäisin alla olevalla komennolla, mutta siinä alkuperäinen ifconfig.eth0 -tiedosto katoaa kokonaan, jolloin sitä ei voi palauttaa takaisin käyttöön tarvittaessa. Tietenkin, jos ei tarvitse vanhaa tiedostoa voi komentoa käyttää, mutta koska nyt on kyse projektista halusin säilyttää alkuperäisetkin tiedostot.

$ mv -v /etc/sysconfig/dhcp.eth0 /etc/sysconfig/ifconfig.eth0     #mv=move,eli dhcp.eth0 tiedosto korvaisi ifconfig.eth0 -tiedoston. -v tarkoittaa, että tiedostojen siirryttyä, päätteeseen tulee tiedostojen nimet näkyviin.

Eli nimesin alkuperäisen tiedoston ifconfig.eth0_orig -tiedostoksi.

$ mv /etc/sysconfig/ifconfig.eth0 /etc/sysconfig/ifconfig.eth0_orig  # normaalisti komento pitäisi tehdä pääkäyttäjänä, mutta koska en ole vielä tehnyt muita käyttäjiä, olen automaattisesti kirjautuneena root-käyttäjänä, jolla on pääkäyttäjä oikeudet nimensä mukaan.

Seuraavaksi nimeän dhcp.eth0 -tiedoston ifconfig.eth0 -tiedostoksi, jotta verkkoyhteydet toimivat.

$ mv /etc/sysconfig/dhcp.eth0 /etc/sysconfig/ifconfig.eth0
$ reboot  #käynnistin Raspberry Pi:n uudestaan ja kokeilin asetuksien toimivuutta.

Raspberry Pi yhdistäminen ssh-yhteydellä dhcp:tä käyttäen

Yhdistin Raspberry Pi:n reitittimeen ja yhdistin kannettavan langattomaan verkkoon.

Seuraavaksi jnetmap -ohjelman avulla skannasin kotiverkkoni, jotta sain selville Raspberry Pi:n ip-osoitteen. Jnetmap täytyy ajaa pääkäyttäjäoikeuksin eli komennolla sudo jnetmap, jotta ohjelma käynnistyy. Ikkunasta valitaan aluksi ”create new networkmap”,”Tools”->”network scanner” ja lopuksi ”Scan”. Lopputuloksena ohjelma näyttää samassa verkossa olevat laitteet. Verkkokartassa Raspberry Pi oli merkitty ”pilfs.lan”:ksi.
Tämän jälkeen yhdistin ssh-yhteyden avulla Raspiin:

$ ssh root@192.168.1.70
root@192.168.1.70’s password:
Last login: Wed Oct 31 11:46:23 2012 from 192.4.0.1
[root@0] [~]

Lähteet

PiLFS – Linux From Scratch on the Raspberry Pi

Projekti kuuluu Tero Karvisen Linux-projekti -kurssiin.

– Jokela Antti-Ville

Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 2 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html

Muokattu 11.11.2012: lisätty lähteet ja GNU-lisenssi. -A-V Jokela

Kategoriat:Uncategorized
  1. Ei kommentteja.
  1. No trackbacks yet.

Jätä kommentti