www.nazgee.eu

  • projekty
  • igepv2
  • o mnie
  • blog
  • rozwiązania
Strona główna › IGEPv2

boot'owanie IGEP'a po LAN'ie (jajko za pomocą tftp, rootfs z nfs)

nazgee — śr., 04/14/2010 - 10:56

Rozwijanie oprogramowania jest o niebo łatwiejsze gdy ze stacji roboczej mamy bezpośredni dostęp do docelowego rootfs'a. Najprostszym i najwygodniejszym sposobem uzyskania takiej konfiguracji jest zamontowanie systemu plików na rozwijanej platformie jako NFS. Pozwala to na łatwą podmianę/edycję plików bezpośrednio ze stacji roboczej i umożliwia natychmiastowe testowanie rezultatów na platformie.

Żeby zmusić IGEPa do bootowania się po sieci (czyli korzystania z systemu plików i jądra przechowywanych lokalnie na PC) niezbędna jest konfiguarcji serwera TFP i NFS.

  1. Punktem wyjścia jest struktura katalogów do przechowywania róznych wersji jądra i sytrybucji systemu plików. Wygodnym rozwiązaniem jest stowrzenie drzewa w folderze domowym, a następnie podlinkowanie go pod folder /srv
  2. android@android:~$ mkdir ~/srv/tftp/angstrom/X11/igep0020b -p
    android@android:~$ mkdir ~/srv/nfs/angstrom/X11/igep0020b -p
    android@android:/srv$ sudo ln -s ~/srv/tftp/ /srv/
    android@android:/srv$ sudo ln -s ~/srv/nfs/ /srv/
    android@android:~$ ls /srv
    cvs nfs tftp

  3. Zainstaluj tftp oraz nfs-kernel-server.
  4. android@android:~$ sudo apt-get install nfs-kernel-server
    ...
    android@android:~$ sudo apt-get install tftpd
    ....

  5. Ustawienia network file system'u znajduje się w /etc/exports. Plik ten należy przeedytować tak, aby IGEP mógł odnaleźć swój root file system w drzewie stworzonym krok wcześniej
  6. android@android:~$ sudo gedit /etc/exports
    [sudo] password for android:
    android@android:~$ cat /etc/exports
    # /etc/exports: the access control list for filesystems which may be exported
    # to NFS clients. See exports(5).
    # IGEP rootFS for Angstrom X11 image. Assuming IGEP ipaddr=192.168.1.69
    # use '*' instead of '192.168.1.69' if you wish to allow connections regardles of IP address
    /srv/nfs/angstrom/X11/igep0020b 192.168.1.69(rw,sync,no_subtree_check)
    android@android:~$

  7. W trakcie boot'owania IGEPa U-boot będzie starał się załadować plik uImage korzystając z protokołu TFTP (trivial file transfer protocole). uImage to zwyĸły obraz zImage, z dodatkowym prologiem, uławiającym U-bootowi załadowanie go. Serwer TFTP jest uruchamiany przez demonainetd za każdym razem gdy odebrane zostanie takie żądanie. Należy zmodyfikować plik konfiguracyjny inetd.conf tak, żeby uzyskać coś na kształt:
  8. android@android:~$ sudo gedit /etc/inetd.conf
    android@android:~$ sudo cat /etc/inetd.conf
    tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftp

  9. Należy pamiętać aby zmodyfikować zmienne środowiskowe IGEPa tak, żeby wskazywały właściwą strukturę katakogów i adres IP serwera
  10. U-Boot # setenv ipaddr '192.168.1.69'
    U-Boot # setenv serverip '192.168.1.11'
    U-Boot # setenv project 'X11'
    U-Boot # setenv distro 'angstrom'
    U-Boot # saveenv
    Saving Environment to OneNAND...
    OneNAND: Saved environment to 0x00001000

  11. Ostatnim krokiem jest ponown uruchomienie nowych usług (wczytane zostaną wtedy nowe pliki konfiguracyjne)
  12. android@android:/srv$ sudo inetd
    android@android:/srv$ sudo exportfs -a

Jeśli wszystko poszło jak należy, podczas następnego uruchomienia IGEP powinien uruchomić się montując NFS zamiast JFFS2.

Przed jakimikolwiek testami warto umieścić odpowiednie pliki tam gdzie ich miejsce:

android@android:~$ cp /workspace/oe/build/tmp-igep0020/work/igep0020-angstrom-linux-gnueabi/linux-igep2-2.6.28.10-0-r51/linux-omap-2.6.28.10-igep0020b-0/arch/arm/boot/uImage /srv/tftp/angstrom/X11/igep0020b/
android@android:~$ cd /srv/nfs/angstrom/X11/igep0020b
android@android:/srv/nfs/angstrom/X11/igep0020b$ sudo tar -jxf /workspace/oe/build/tmp-igep0020/deploy/glibc/images/igep0020/x11-image-igep0020.tar.bz2

‹ IGEPv2 w górę jak skonfgigurować jądro angstrom'a pod klawiatury Belkin/Bright ›
  • cortex A8
  • linux
  • tools
  • Odpowiedz
  • English English

  • English English
  • Polski Polski

Książka

  • IGEPv2
    • boot'owanie IGEP'a po LAN'ie (jajko za pomocą tftp, rootfs z nfs)
    • jak skonfgigurować jądro angstrom'a pod klawiatury Belkin/Bright
  • linux development
  • SPIN intrukcje

Ostatnio w blogach

  • Chester - the pink octopus
  • My first Android app
  • mysz + serwo, czyli co robię jak się nudzę
  • Daj głos
  • Najnowszy Eclipse pod Ubuntu
  • Z serii banały, czyli jak pakować i rozpakowywać pod linuxem
więcej

Szukaj

Logowanie

  • Prześlij nowe hasło

  • projekty
  • igepv2
  • o mnie
  • blog
  • rozwiązania

Copyright (C) nazgee Wszelkie prawa zastrzeżone