Obsah:
- Krok 1: Požiadavky
- Krok 2: Konfigurácia hostiteľa na vytváranie jadra a budovanie jadra na HOST
- Krok 3: Znova vytvorte súbor Boot.img na HOST
- Krok 4: Vytvorenie koreňového súborového systému na HOST
- Krok 5: Vytvorenie servera NFS v hostiteľovi HOST a kopírovanie súborov
- Krok 6: Aktualizácia bootovacieho obrazu Dragonboard 410c a konfigurácia sieťových rozhraní
Video: Prístup k vzdialenému koreňovému systému súborov pomocou DB410 ako ethernetového kľúča: 6 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Ciele:
- Nainštalujte si reťazec nástrojov a skomprimujte jadro, aby ste vložili podporu modulu USB Ethernet CDC Gadget;
- Znova vytvorte boot.img z Linaro na zavedenie USB Ethernet CDC;
- Vytvorte server NFS na hostenie koreňového súborového systému;
- Konfigurácia IP v ZARIADENÍ a HOST.
Krok 1: Požiadavky
Budete potrebovať nasledujúce položky:
- DragonBoard ™ 410c (tu pomenovaný ZARIADENIE);
- Aktualizovaný počítač s operačným systémom Ubuntu 16.04.3 (tu pomenovaný HOST) s pripojením na internet a zásuvkou SDCard;
- Čistá inštalácia Linaro - vývojár verzie 431 - Link: Snapshot Linaro Debian v431
- Monitor HDMI;
- Klávesnica USB;
- 8 GB SD karta;
- Kábel USB, uUSB USB na pripojenie ZARIADENIA na HOST.
Krok 2: Konfigurácia hostiteľa na vytváranie jadra a budovanie jadra na HOST
Predtým než budeme pokračovať, najskôr vytvoríme všetky adresáre. Takže:
$ cd ~
$ mkdir db410remoteroot $ cd db410remoteroot $ mkdir reťazec nástrojov $ mkdir db410c-moduly
Žiaľ, linuxové jadro používané Linaro (Verzia 431) nemá podporu pre gadget USB Ethernet, kvôli tomu je potrebné Linuxové jadro pre túto konkrétnu verziu znova vytvoriť. Stiahnite si reťazec nástrojov Linaro a vytvorte a nasaďte linuxové jadro na serveri Dragonboard410c z hostiteľského počítača x86.
$ wget
$ tar -xf gcc-*-x86_64_aarch64-linux-gnu.tar.xz -C./toolchain --strip-components = 1
Teraz nainštalujte balíky, ktoré sú potrebné na zostavenie jadra:
$ sudo apt update && sudo apt-get install git build-essential abootimg kernel-package fakeroot libncurses5-dev libssl-dev ccache
Získať zdroj jadra Linuxu Klon Úložisko tímu Qualcomm Landing Team Linux:
$ git clone
$ cd jadro $ git pokladňa origin/release/qcomlt-4.14 -b my-custom-4.14
Teraz nastavte premenné prostredia kompilácie:
$ export ARCH = arm64
$ export CROSS_COMPILE = $ (pwd) /../ toolchain/bin/aarch64-linux-gnu-
V tomto mieste musíme pridať moduly do USB Ethernet CDC v jadre. Urobil som to predtým a na konci tohto kroku to môžete získať. Odstránil som nejaké položky, ale funguje to.
Pred kompiláciou opravte chybu jadra v súboroch drivers/mmc/host/sdhci-msm.c a zmeňte štruktúru v riadku 1150 na:
static const struct sdhci_ops sdhci_msm_ops = {
.reset = sdhci_reset,.set_clock = sdhci_msm_set_clock,.get_min_clock = sdhci_msm_get_min_clock,.get_max_clock = sdhci_msm_get_max_clock,.set_bus_width = sdhci_set_bus_width,.set_uhs_signaling = sdhci_msm_set_uhs_signaling,.voltage_switch = sdhci_msm_voltage_switch, #ifdef CONFIG_MMC_SDHCI_IO_ACCESSORS.write_w = sdhci_msm_write_w, #endif};
Rozbaľte súbor configfile.zip, skopírujte súbor.config do adresára jadra, vytvorte jadro, moduly a nainštalujte moduly do adresára:
$ make -j $ (nproc) Image.gz dtbs
moduly $ make -j $ (nproc) $ make modules_install INSTALL_MOD_PATH =../db410c -modules
Referencia: Dokumentácia 96Boards
Krok 3: Znova vytvorte súbor Boot.img na HOST
V tomto kroku musíme otvoriť obrázok initrd, vložiť moduly zabudované do obrazu, nakonfigurovať systém na spustenie týchto modulov a znova vytvoriť súbor initrd.img s novým príkazovým riadkom jadra na vzdialené spustenie koreňového súborového systému.
Najprv teda musíme stiahnuť súbor initrd.img z webu linaro:
$ cd..
$ mkdir inird_nfs $ cd initrd_nfs $ wget -O ramdisk.img
Teraz po stiahnutí dekomprimujte a rozbaľte súbor initrd:
$ zcat ramdisk.img | cpio -idmv
V tomto adresári máme koreňový súborový systém, ktorý jadro používa pri inicializácii, takže nakonfigurujeme moduly USB Ethernet CDC a vzdialené parametre NFS, ako sú IP adresa servera NFS a ethernet (usb).
Teraz nakonfigurujme niektoré súbory:
conf/initramfs.conf:
MODULY = väčšina
BUSYBOX = auto COMPRESS = gzip DEVICE = usb0 NFSROOT = auto RUNSIZE = 10%
Vytvorte adresár init-premount v adresárových skriptoch/
$ mkdir skripty/init-premount
a pridajte súbory do tohto práve vytvoreného adresára:
OBJEDNAŤ
/skripty/init-premount/usb "$@"
[-e /conf/param.conf] &&. /conf/param.conf
usb
#!/bin/sh
PREREQ = "" prereqs () {echo "$ PREREQ"} prípad $ 1 v # get prerequisites prereqs) prereqs exit 0;; esac modprobe usb_f_ecm modprobe libcomposite modprobe usb_f_rndis modprobe g_ether
Nezabudnite použiť chmod v súbore USB, aby bol spustiteľný:
$ chmod +x skriptov/init-premount/usb
Teraz skopírujte celý adresár s modulmi z db410c-modules (KROK 2) do lib/modules v initrd:
$ cp -R../db410-modules/lib usr/
Odstráňte všetky súbory v súbore lib/modules/4.14.96-xxxx-dirty okrem modulu všetkých súborov.* A uvedeného zoznamu súborov:
jadro/ovládače/usb/gadget/legacy/g_ether.ko
jadro/ovládače/usb/gadget/legacy/g_mass_storage.ko jadro/ovládače/usb/gadget/legacy/g_cdc.ko jadro/ovládače/usb/gadget/legacy/g_serial.ko jadro/ovládače/usb/gadget/funkcia/usb_f_mass_storage.ko kernel/drivers/usb/gadget/function/usb_f_acm.ko kernel/drivers/usb/gadget/function/u_ether.ko kernel/drivers/usb/gadget/function/usb_f_obex.ko kernel/drivers/usb/gadget/function /usb_f_serial.ko kernel/drivers/usb/gadget/function/usb_f_ecm.ko kernel/drivers/usb/gadget/function/usb_f_rndis.ko kernel/drivers/usb/gadget/function/u_serial.ko kernel/drivers/usb/gadget /function/usb_f_fs.ko jadro/ovládače/usb/gadget/funkcia/usb_f_ecm_subset.ko jadro/ovládače/usb/gadget/libcomposite.ko
Tieto súbory sú všetky moduly potrebné na spustenie USB Ethernet CDC.
Nakoniec znova zabaľte a skomprimujte úvodný obrázok:
$ nájsť. | cpio -o -H newc | gzip -9>../kernel/initrd_nfs.img
Do zavádzacieho obrazu systému Android je potrebné zabaliť aspoň obrázok jadra a súbor DTB. Takýto obrázok je možné vygenerovať pomocou nástroja abootimg.
Prejdeme do adresára jadra a pomocou nižšie uvedeného príkazu vytvoríme obraz a pridáme DTB do komprimovaného obrazu jadra:
$ cd../kernel
$ cat arch/$ ARCH/boot/Image.gz arch/$ ARCH/boot/dts/qcom/apq8016-sbc.dtb> Image.gz+dtb
A nakoniec vygenerujte bootovací obrázok (tu náš rootfs nachádza vzdialený oddiel v 10.42.0.1)
abootimg -vytvorte boot -db410c.img -k Image.gz+dtb -r initrd_nfs.img -c veľkosť stránky = 2048
-c kerneladdr = 0x80008000 -c ramdiskaddr = 0x81000000 -c cmdline = "root =/dev/nfs nfsroot = 10.42.0.1:/srv/nfs/rootfs ip = 10.42.0.2: 10.42.0.1: 10.42.0.1: 255.255.255.0: db410c: usb0: off rw rootwait console = konzola tty0 = ttyMSM0, 115200n8"
Referencie:
- https://access.redhat.com/solutions/24029
- Dokumentácia 96 dosiek
Krok 4: Vytvorenie koreňového súborového systému na HOST
Teraz sme dostali nový bootovací obraz na aktualizáciu dragonboard 410c. Na spustenie modulov, služieb a aplikácií však potrebujeme koreňový súborový systém na vzdialenom serveri. V tomto kroku v hostiteľovi vybudujeme zdieľaný adresár na uloženie všetkých týchto údajov. Tak si stiahneme súborový systém rootfs z webu linaro s rovnakou verziou, aká bola použitá v initrd. Vráťte sa teda o jeden adresár a stiahnite si obrázok linaro-developer rootfs s verziou 431.
$ cd..
$ wget
Rozbaľte tento súbor
$ unzip dragonboard-410c-sdcard-developer-buster-431.zip
Pomocou tohto súboru napíšeme všetok obrázok na kartu sd, aby sme získali prístup ku všetkým oddielom, a skopírujeme súbory rootfs. Zaistite teda zálohovanie údajov z karty uSDCard, pretože sa stratí všetko na karte SDCard.
Ak chcete nájsť názov zariadenia SDCard, vyberte kartu SDCard a spustite nasledujúci príkaz:
$ lsblk
Uložte si do pamäte všetky rozpoznané názvy diskov. Teraz vložte kartu SD, chvíľu počkajte a znova spustite príkaz:
$ lsblk
Všimnite si novo rozpoznaného disku. Toto bude vaša karta SDCard. Zapamätajte si svoje meno a zmeňte parameter „of =“pre názov zariadenia SDCard a názov zariadenia používajte bez oddielu, p.e.: /dev /mmcblk0
$ sudo dd if = dragonboard-410c-sdcard-developer-buster-431.img of =/dev/XXX bs = 4M oflag = stav synchronizácie = priebeh
Poznámky:
- Vykonanie tohto príkazu bude nejaký čas trvať. Buďte trpezliví a vyhnite sa manipulácii s terminálom, kým sa proces neskončí.
- Hneď ako karta SD začne blikať, vyberte ju z hostiteľského počítača.
Referencia: dokumentácia 96 tabúľ
Krok 5: Vytvorenie servera NFS v hostiteľovi HOST a kopírovanie súborov
V tomto bode máme bootovací obraz, ktorý sa má flashovať do dragonboard 410c a karty SDCard so súborovým systémom rootfs pre naše moduly, služby a aplikácie. Ďalším krokom je vytvorenie vzdialeného adresára na prepojenie zariadenia USB Ethernet DEVICE so súborovým systémom HOST rootfs. To sa dá urobiť pomocou balíka z Ubuntu s názvom nfs-kernel-server.
Tento balík nainštaluje službu NFS do Ubuntu, ktorá umožňuje zdieľať niektoré adresáre pre niektoré zariadenia v sieti, pričom pomocou vašej IP môžeme nakonfigurovať, ktorý adresár sa bude používať pre každé zariadenie.
Nainštalujme teda balík a nakonfigurujeme ho.
$ sudo apt-get install nfs-kernel-server
Služba NFS sa spustí automaticky. Na ovládanie služieb NFS použite:
$ sudo service nfs-kernel-server restart // na reštartovanie, alebo použite 'stop' alebo 'štart' podľa potreby.
Na kontrolu stavu služby NFS z príkazového riadka použite:
$ sudo service nfs-kernel-server status
nfsd beží // Služba je spustená nfsd nefunguje // Služba je vypnutá
Teraz vytvoríme vrchný adresár /srv /nfs a pod ním vytvoríme podadresár pre každý požadovaný koreňový súborový systém pripojený k systému NFS. Tu uvádzame zdieľaný koreňový súborový systém, ktorý zachová náš koreňový súborový systém:
$ sudo mkdir -p /srv /nfs
$ sudo mkdir -p/srv/nfs/rootfs
Server NFS teraz vyžaduje, aby /etc /exports bol správne nakonfigurovaný, aby riadil prístup ku každému adresáru súborového systému NFS konkrétnym hostiteľom. V tomto prípade sú hostitelia identifikovaní podľa svojej IP adresy. Preto pre každý vytvorený koreňový súborový systém pridajte riadok exportu do súboru /etc /exports, v prípade potreby upravte podľa svojej lokálnej adresy IP a schémy pomenovania adresárov. V tomto návode vždy používame:
/srv/nfs/rootfs 10.42.0.2 (rw, synchronizácia, no_root_squash, no_subtree_check)
Znova vložte kartu SDCard, pripojte ju a skopírujte všetok súborový systém rootfs do/srv/nfs/rootfs, reštartujte službu NFS a aktualizujte adresár pomocou nových skopírovaných súborov.
Okrem toho musíme skopírovať súbory nových modulov do súborového systému rootfs, pretože sme jadro skompilovali v kroku 2. Skopírujte teda všetky adresáre v adresári ~/db410c-modules/do/srv/nfs/rootfs.
$ sudo cp -R ~/db410c -modules/*/srv/nfs/rootfs/
Zaistite, aby služba NFS tieto adresáre zviditeľňovala. Buď:
$ sudo exportfs -a
Referencia: Koreňový systém súborov TFTP/NFS
Krok 6: Aktualizácia bootovacieho obrazu Dragonboard 410c a konfigurácia sieťových rozhraní
Na začiatku sme vykonali všetky kroky k implementácii vzdialeného súborového systému rootfs, teraz potrebujeme aktualizovať bootovací obraz v počítači dragonboard 410c, aby ste k nemu pripojili kábel USB k počítaču a konektoru uUSB na dragonboarde. Preto sa uistite, že je na hostiteľskom počítači nastavené rýchle spustenie, ak nie je nainštalované pomocou:
$ sudo apt nainštalovať fastboot
Teraz, aby ste aktualizovali obrázok, spustite dragonboard do režimu rýchleho spustenia podľa týchto krokov:
- Stlačte a podržte tlačidlo Vol (-) na DragonBoard 410c, toto je tlačidlo S4. DragonBoard ™ 410c by stále NEMAL byť zapnutý
- Podržte tlačidlo Vol (-) a zapnite DragonBoard 410c zapojením
- Akonáhle je DragonBoard 410c zapojený do napájania, podržte tlačidlo Vol (-).
- Počkajte asi 20 sekúnd.
- Doska by sa mala spustiť v režime rýchleho spustenia.
V okne terminálu pripojeného hostiteľského počítača spustite nasledujúce príkazy:
$ sudo fastboot zariadenia
Spravidla sa zobrazí ako nižšie
de82318 rýchle spustenie
V tomto mieste by ste mali byť pripojení k DragonBoard 410c káblom USB na microUSB. Váš DragonBoard 410c by mal byť zavedený do režimu rýchleho spustenia a pripravený na spustenie záblesku s príslušnými obrázkami. Aktualizujme bootovací obrázok pomocou nášho bootovacieho obrázku:
$ sudo fastboot flash boot ~/db410remoteroot/kernel/initrd_nfs.img
A reštartujte dosku
$ sudo fastboot reštart
Váš HOST teraz zistí nové rozhranie s názvom usb0, ale zatiaľ nemá IP. Pridajte teda do tohto rozhrania statickú IP adresu pomocou:
$ sudo ifconfig usb0 10.42.0.1 maska siete 255.255.255.0 hore
Alebo zadajte do „Konfigurácie“na serveri HOST, do položky „sieť“a nastavte USB Ethernet na toto rozhranie ako statickú adresu IP.
Teraz znova reštartujte dragonboard a overte spustenie systému a pokúste sa pripojiť pomocou ssh:
$ ssh [email protected]
Referencie:
- Dokumentácia 96 dosiek
- HowtoForge - položka 6
Odporúča:
Prístup k systému súborov Raspberry Pi prostredníctvom systému Windows: 9 krokov
Pristupujte k systému súborov Raspberry Pi prostredníctvom systému Windows: Už ste niekedy dostali Raspberry Pi a odišlo „Musím si ho zakaždým nastaviť pomocou monitora, myši a klávesnice!“Frustrácia, ktorú spôsobuje odpojenie/opätovné zapojenie monitora a klávesnice/myši z dôvodu prístupu k Raspberry Pi, je na špičkovej úrovni.
Vytváranie súborov pomocou príkazov systému Windows DOS: 16 krokov
Vytváranie súborov pomocou príkazov systému Windows DOS: Naučí vás používať niektoré základné príkazy systému Windows DOS. Prejdeme na pracovnú plochu, vytvoríme priečinok a v ňom vytvoríme súbor
Ako spustiť kompozitné video a sieťové údaje pomocou ethernetového kábla: 6 krokov (s obrázkami)
Ako spustiť kompozitné video a sieťové údaje pomocou ethernetového kábla: Potreboval som spustiť video a zvuk do inej časti môjho domu. Problém bol v tom, že som nemal toľko AV káblov, ani čas a peniaze na dobrú inštaláciu. Okolo som však mal veľa ethernetového kábla Cat 5. Na toto som prišiel
Zabezpečte skartovanie jednotlivých súborov pomocou funkcie Odoslať do pomocou programu Ccleaner: 4 kroky
Zabezpečte skartovanie jednotlivých súborov pomocou funkcie Odoslať do pomocou programu Ccleaner: Tento návod vám ukáže, že na pravé kliknutie musíte pridať možnosť Odoslať kam, čo vám umožní odstrániť súbor pomocou CCleaner
Ako extrahovať hry Wii do počítača pomocou USB kľúča .: 3 kroky
Ako extrahovať hry Wii do počítača pomocou USB kľúča: Tento návod vám ukáže, ako zkopírovať kópiu hry Wii do počítača iba pomocou USB kľúča a zariadenia Wii a ako ho komprimovať z dôvodu ukladania. Budete Na to potrebujete niekoľko vecí: Hardvérové požiadavky: Wii s firmvérom 3.4 a