Satura rādītājs:
- 1. darbība. Prasības
- 2. darbība: resursdatora konfigurēšana kodola veidošanai un kodola izveide HOST
- 3. darbība: atjaunojiet Boot.img HOST
- 4. solis: saknes failu sistēmas izveide HOST
- 5. darbība: servera NFS izveide HOST un failu kopēšana
- 6. darbība: Dragonboard 410c sāknēšanas attēla atjaunināšana un tīkla saskarņu konfigurēšana
Video: Piekļuve attālajai sakņu failu sistēmai, izmantojot DB410 kā Ethernet dongle: 6 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Mērķi:
- Instalējiet rīku ķēdi un pārkompilējiet kodolu, lai ievietotu USB Ethernet CDC sīkrīka atbalstu;
- Atjaunojiet boot.img no Linaro, lai sāktu USB Ethernet CDC;
- Izveidot NFS serveri saknes failu sistēmas mitināšanai;
- IP konfigurācija ierīcēs DEVICE un HOST.
1. darbība. Prasības
Jums būs nepieciešami šādi elementi:
- DragonBoard ™ 410c (šeit nosaukts IERĪCE);
- Dators, izmantojot Ubuntu 16.04.3, atjaunināts (šeit nosaukts kā HOST) ar interneta pieslēgumu un SDCard slotu;
- Linaro izstrādātāja versijas 431 tīra instalēšana - saite: momentuzņēmums Linaro Debian v431
- HDMI monitors;
- USB tastatūra;
- 8 Gb SDCard;
- USB kabelis, uUSB USB, lai savienotu DEVICE vietnē HOST.
2. darbība: resursdatora konfigurēšana kodola veidošanai un kodola izveide HOST
Vispirms mēs izveidosim visus direktorijus, lai turpinātu. Tātad:
$ cd ~
$ mkdir db410remoteroot $ cd db410remoteroot $ mkdir toolchain $ mkdir db410c-moduļi
Diemžēl Linaro izmantotais Linux kodols (versija 431) neatbalsta USB Ethernet sīkrīku, tāpēc Linux kodols ir jāpārveido šai konkrētajai versijai. Lejupielādējiet Linaro rīku ķēdi, lai izveidotu un izvietotu Linux kodolu Dragonboard410c no x86 resursdatora.
$ wget
$ tar -xf gcc-*-x86_64_aarch64-linux-gnu.tar.xz -C./toolchain --strip-components = 1
Tagad instalējiet pakotnes, kas nepieciešamas, lai izveidotu kodolu:
$ sudo apt update && sudo apt-get install git build-essential abootimg kodola pakete fakeroot libncurses5-dev libssl-dev ccache
Iegūstiet Linux kodola avotu Clone Qualcomm galvenās komandas Linux repozitoriju:
$ git klons
$ cd kodols $ git izrakstīšanās izcelsme/laidiens/qcomlt-4.14 -b my-custom-4.14
Tagad iestatiet kompilācijas vides mainīgos:
$ export ARCH = arm64
$ export CROSS_COMPILE = $ (pwd) /../ toolchain/bin/aarch64-linux-gnu-
Šajā brīdī mums ir jāpievieno moduļi USB Ethernet CDC kodolā. Es to darīju iepriekš, un jūs varat to iegūt šī soļa beigās. Es noņēmu dažus itņus, bet tas darbojas.
Pirms kompilēšanas, lūdzu, izlabojiet kodola kļūdu uz vadītājiem/mmc/host/sdhci-msm.c, mainot 1150 rindas struktūru uz:
static const structure 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};
Izsaiņojiet configfile.zip, nokopējiet.config failu kodola direktorijā, izveidojiet kodolu, moduļus un instalējiet moduļus direktorijā:
$ make -j $ (nproc) Image.gz dtbs
$ make -j $ (nproc) moduļi $ make modules_install INSTALL_MOD_PATH =../db410c -modules
Atsauce: 96Boards dokumentācija
3. darbība: atjaunojiet Boot.img HOST
Šajā solī mums ir jāatver initrd attēls, jāievieto attēla iekšpusē iebūvētie moduļi, jākonfigurē sistēma, lai sāktu šos moduļus, un jāpārveido initrd.img ar jaunu kodola komandrindu, lai attālināti sāknētu saknes failu sistēmu.
Tātad, pirmkārt, mums ir jālejupielādē initrd.img no linaro vietnes:
$ cd..
$ mkdir inird_nfs $ cd initrd_nfs $ wget -O ramdisk.img
Tagad, pēc lejupielādes, izspiediet un izvelciet initrd:
$ zcat ramdisk.img | cpio -idmv
Šajā direktorijā mums ir saknes failu sistēma, ko inicializācijā izmanto kodols, tāpēc mēs konfigurēsim USB Ethernet CDC moduļus un NFS attālos parametrus, piemēram, šeit nepieciešamos NFS servera IP un Ethernet (usb).
Tagad konfigurēsim dažus failus:
conf/initramfs.conf:
MODULES = lielākā daļa
BUSYBOX = auto COMPRESS = gzip DEVICE = usb0 NFSROOT = auto RUNSIZE = 10%
Izveidojiet direktorija init-premount direktoriju skriptos/
$ mkdir skripti/init-premount
un pievienojiet failus šajā tikko izveidotajā direktorijā:
PASŪTĪT
/scripts/init-premount/usb "$@"
[-e /conf/param.conf] &&. /conf/param.conf
usb
#!/bin/sh
PREREQ = "" prereqs () {echo "$ PREREQ"} gadījums $ 1 in # get pre-requisites prereqs) prereqs exit 0;; esac modprobe usb_f_ecm modprobe libcomposite modprobe usb_f_rndis modprobe g_ether
Neaizmirstiet izmantot chmod USB failā, lai tas būtu izpildāms:
$ chmod +x skripti/init-premount/usb
Tagad kopējiet visu direktoriju ar moduļiem no db410c-modules (2. SOLIS) uz lib/modules initrd:
$ cp -R../db410-modules/lib usr/
Noņemiet visus failus failā lib/modules/4.14.96-xxxx-dirty, izņemot visus failu moduli.* Un šo failu sarakstu:
kodols/draiveri/usb/gadget/legacy/g_ether.ko
kodols/draiveri/usb/gadget/legacy/g_mass_storage.ko kodols/draiveri/usb/gadget/legacy/g_cdc.ko kodols/draiveri/usb/gadget/legacy/g_serial.ko kodols/drivers/usb/gadget/function/usb_f_mass_storage.ko kodols/draiveri/usb/sīkrīks/funkcija/usb_f_acm.ko kodols/draiveri/usb/sīkrīks/funkcija/u_ether.ko kodols/draiveri/usb/sīkrīks/funkcija/usb_f_obex.ko kodols/draiveri/usb/sīkrīks/funkcija /usb_f_serial.ko kodols/draiveri/usb/gadget/function/usb_f_ecm.ko kodols/draiveri/usb/gadget/function/usb_f_rndis.ko kodols/draiveri/usb/gadget/function/u_serial.ko kodols/draiveri/usb/sīkrīks /function/usb_f_fs.ko kodols/drivers/usb/gadget/function/usb_f_ecm_subset.ko kodols/drivers/usb/gadget/libcomposite.ko
Šie faili ir visi moduļi, kas nepieciešami, lai palaistu USB Ethernet CDC.
Visbeidzot iepakojiet un saspiediet sākotnējo attēlu:
$ atrast. | cpio -o -H newc | gzip -9>../kernel/initrd_nfs.img
Vismaz kodola attēls un DTB fails ir jāiesaiņo Android sāknēšanas attēlā. Šādu attēlu var izveidot, izmantojot abootimg rīku.
Ieiesim kodola direktorijā un izmantosim zemāk esošo komandu, lai izveidotu attēlu un pievienotu DTB saspiestā kodola attēlam:
$ cd../kernel
$ cat arch/$ ARCH/boot/Image.gz arch/$ ARCH/boot/dts/qcom/apq8016-sbc.dtb> Image.gz+dtb
Visbeidzot, ģenerējiet sāknēšanas attēlu (šeit mūsu rootfs atrodas attālajā nodalījumā 10.42.0.1)
abootimg -izveidot boot -db410c.img -k Image.gz+dtb -r initrd_nfs.img -c pagesize = 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: izslēgta rw rootwait konsole = tty0 konsole = ttyMSM0, 115200n8"
Atsauces:
- https://access.redhat.com/solutions/24029
- 96Boards dokumentācija
4. solis: saknes failu sistēmas izveide HOST
Tagad mēs esam ieguvuši jaunu sāknēšanas attēlu, lai atjauninātu dragonboard 410c. Bet mums ir nepieciešama sakņu failu sistēma attālajā serverī, lai sāktu moduļus, pakalpojumus un lietojumprogrammas. Šajā solī mēs uzņēmējā izveidosim koplietojamu direktoriju, lai saglabātu visus šos datus. Tādā veidā lejupielādēsim rootfs failu sistēmu no linaro vietnes ar to pašu versiju, kas izmantota initrd. Tātad, atgriezieties vienā direktorijā un lejupielādējiet linaro-developer rootfs attēlu ar versiju 431.
$ cd..
$ wget
Atspiest šo failu
$ unzip dragonboard-410c-sdcard-developer-buster-431.zip
Izmantojot šo failu, ierakstīsim visu attēlu sdcard, lai piekļūtu visiem nodalījumiem un kopētu rootfs failus. Tāpēc pārliecinieties, ka dati no uSDCard tiek dublēti, jo viss SDCard tiks zaudēts.
Lai atrastu SDCard ierīces nosaukumu, noņemiet SDCard un palaidiet šādu komandu:
$ lsblk
Saglabājiet savā prātā visus atpazītos disku nosaukumus. Tagad ievietojiet SDCard, pagaidiet brīdi un izpildiet komandu vēlreiz:
$ lsblk
Ievērojiet tikko atpazīto disku. Šī būs jūsu SDCard. Atcerieties savu vārdu un mainiet SDCard ierīces nosaukuma parametru "of =" un noteikti izmantojiet ierīces nosaukumu bez nodalījuma, piemēram: /dev /mmcblk0
$ sudo dd if = dragonboard-410c-sdcard-developer-buster-431.img =/dev/XXX bs = 4M oflag = sinhronizācijas statuss = progress
Piezīmes:
- Šīs komandas izpilde prasīs zināmu laiku. Esiet pacietīgs un izvairieties no termināļa manipulācijām, līdz process ir beidzies.
- Kad SD karte mirgo, izņemiet to no datora.
Atsauce: 96 dēļu dokumentācija
5. darbība: servera NFS izveide HOST un failu kopēšana
Šajā brīdī mums ir sāknēšanas attēls, kas jāievada dragonboard 410c, un SDCard ar rootfs failu sistēmu mūsu moduļiem, pakalpojumiem un lietojumprogrammām. Nākamais solis ir izveidot attālu direktoriju, lai savienotu USB Ethernet ierīci ar HOST rootfs failu sistēmu. To var izdarīt, izmantojot Ubuntu paketi ar nosaukumu nfs-kernel-server.
Šī pakete Ubuntu instalē NFS pakalpojumu, kas ļauj koplietot dažus direktorijus dažām tīkla ierīcēm, mēs varam konfigurēt katras ierīces katalogu, izmantojot jūsu IP.
Tātad, instalēsim pakotni un konfigurēsim to.
$ sudo apt-get install nfs-kernel-server
NFS pakalpojums tiek palaists automātiski. Lai kontrolētu NFS pakalpojumus, izmantojiet:
$ sudo pakalpojums nfs-kernel-server restart // lai restartētu, vai pēc vajadzības izmantojiet 'stop' vai 'start'.
Lai komandrindā pārbaudītu NFS pakalpojuma statusu, izmantojiet:
$ sudo pakalpojums nfs-kodola servera statuss
nfsd darbojas // Pakalpojums ir uz augšu nfsd nedarbojas // Pakalpojums nedarbojas
Tagad izveidosim augšējo direktoriju /srv /nfs un izveidosim apakšdirektoriju katrai NFS instalētajai saknes failu sistēmai. Šeit mēs iekļaujam koplietotu sakņu failu sistēmu, lai saglabātu mūsu saknes failu sistēmu:
$ sudo mkdir -p /srv /nfs
$ sudo mkdir -p/srv/nfs/rootfs
Tagad NFS serverim ir nepieciešams pareizi konfigurēt /etc /export, lai kontrolētu piekļuvi katram NFS failu sistēmas direktorijam noteiktiem resursdatoriem. Šajā gadījumā saimniekus identificē pēc to IP adreses. Tātad katrai izveidotajai saknes failu sistēmai pievienojiet eksporta vadības līniju mapei /etc /export, vajadzības gadījumā pielāgojot vietējo IP adresi un direktoriju nosaukumu shēmu. Šajā apmācībā mēs vienmēr izmantojam:
/srv/nfs/rootfs 10.42.0.2 (rw, sinhronizācija, bez_aknes_skvošs, no_subtree_check)
Ievietojiet vēlreiz SDCard, pievienojiet to un nokopējiet visu rootfs failu sistēmu mapē/srv/nfs/rootfs, restartējiet NFS pakalpojumu, lai atjauninātu direktoriju, izmantojot jaunus kopētos failus.
Turklāt mums ir jākopē jauno moduļu faili rootfs failu sistēmā, jo kodolu apkopojām 2. solī. Tātad, nokopējiet visus direktorijus mapē ~/db410c-modules/uz/srv/nfs/rootfs.
$ sudo cp -R ~/db410c -modules/*/srv/nfs/rootfs/
Pārliecinieties, ka NFS pakalpojums padara šos direktorijus redzamus. Arī:
$ sudo exportfs -a
Atsauce: TFTP/NFS sakņu failu sistēma
6. darbība: Dragonboard 410c sāknēšanas attēla atjaunināšana un tīkla saskarņu konfigurēšana
Mēs jau agri veicām visas darbības, lai ieviestu attālo rootfs failu sistēmu, tagad mums ir jāatjaunina sāknēšanas attēls dragonboard 410c iekšpusē, tāpēc pievienojiet savu USB kabeli personālajam datoram un dragonboard uUSB savienotājam. Tāpēc pārliecinieties, vai ātrā sāknēšana ir iestatīta saimniekdatorā, ja tā nav instalēta, izmantojot:
$ sudo apt instalēt ātro sāknēšanu
Tagad, lai atjauninātu attēlu, palaidiet dragonboard ātrā palaišanas režīmā, veicot šīs darbības:
- Nospiediet un turiet pogu Vol (-) uz DragonBoard 410c, tā ir poga S4. DragonBoard ™ 410c joprojām nedrīkst būt ieslēgts
- Turot nospiestu pogu Vol (-), ieslēdziet DragonBoard 410c, pievienojot to
- Kad DragonBoard 410c ir pievienots strāvas avotam, atlaidiet pogu Vol (-).
- Pagaidiet apmēram 20 sekundes.
- Padomei vajadzētu startēt ātrās sāknēšanas režīmā.
Pievienotā resursdatora termināļa logā palaidiet šādas komandas:
$ sudo fastboot ierīces
Parasti tas tiks parādīts zemāk
de82318 ātrā palaišana
Šajā brīdī jums vajadzētu būt savienotam ar DragonBoard 410c, izmantojot USB -microUSB kabeli. Jūsu DragonBoard 410c jāieslēdz ātrās sāknēšanas režīmā un jābūt gatavam mirgot ar atbilstošiem attēliem. Atjaunināsim sāknēšanas attēlu ar mūsu sāknēšanas attēlu:
$ sudo fastboot flash boot ~/db410remoteroot/kernel/initrd_nfs.img
Un restartējiet dēli
$ sudo fastboot atsāknēšana
Tagad jūsu HOST noteiks jaunu saskarni ar nosaukumu usb0, bet tai vēl nav IP. Tātad, pievienojiet šai saskarnei statisku IP, izmantojot:
$ sudo ifconfig usb0 10.42.0.1 netmaska 255.255.255.0 uz augšu
Vai arī ievadiet HOST sadaļā "Konfigurācija", sadaļā "tīkls", nosakot USB Ethernet šim statiskam IP.
Tagad restartējiet pūķa dēli un pārbaudiet sistēmas startēšanu, mēģinot izveidot savienojumu, izmantojot ssh:
$ ssh [email protected]
Atsauces:
- 96 dēļu dokumentācija
- HowtoForge - 6. punkts
Ieteicams:
MCU Piekļuve interneta pakalpojumam, izmantojot IFTTT - Ameba Arduino: 3 soļi
MCU Piekļuve interneta pakalpojumam, izmantojot IFTTT - Ameba Arduino: Piekļuve interneta pakalpojumam ir vienkāršs uzdevums viedierīcei, piemēram, Android tālrunim, planšetdatoram vai personālajam datoram, bet ne tik viegli mikrokontrolleriem, jo parasti tas prasa labāku savienojumu un apstrādes jaudu. Tomēr mēs varam izkraut smago daļu
Piekļūstiet Raspberry Pi failu sistēmai, izmantojot Windows: 9 soļi
Piekļūstiet Raspberry Pi failu sistēmai, izmantojot Windows: vai esat kādreiz ieguvis Raspberry Pi un aizgājis " Man tas katru reizi jāiestata ar monitoru, peli un tastatūru! &Quot; Vilšanās, ko tas rada, atvienojot/atkārtoti pievienojot monitoru un tastatūru/peli, lai piekļūtu Raspberry Pi, ir nepārspējama
Pārvērtiet (gandrīz par) jebkuru multivides failu par (gandrīz par) jebkuru citu multivides failu bez maksas !: 4 soļi
Pārvērtiet (gandrīz par) jebkuru multivides failu par (gandrīz par) jebkuru citu multivides failu bez maksas!: Mans pirmais pamācāms, uzmundrinām! Jebkurā gadījumā es Google tīklā meklēju bezmaksas programmu, kas pārvērstu manus Youtube.flv failus tādā formātā ir universālāka, piemēram, wmv vai.mov. Es meklēju neskaitāmus forumus un vietnes un pēc tam atradu programmu ar nosaukumu
Failu kopēšana un ielīmēšana un piekļuve starp vairākiem datoriem: 3 soļi
Kopēt un ielīmēt un piekļūt failiem starp vairākiem datoriem: es tikko atradu vietni, kas ļauj cilvēkiem kopēt un ielīmēt jebkuru tekstu, attēlus, videoklipus utt. Starp vairākiem datoriem. Tas arī ļauj izveidot ziņojumu dēli, augšupielādēt failus un izdrukāt savu tīmekļa lapu. Un labākais ir tas, ka jums pat nav
Failu pārsūtīšana, izmantojot LAN, izmantojot BitTorrent: 6 soļi
Failu pārsūtīšana, izmantojot LAN, izmantojot BitTorrent: dažreiz jums var būt nepieciešams pārsūtīt failus tīklā uz vairākiem datoriem. Lai gan jūs to varētu ievietot zibatmiņas diskā vai CD/DVD diskā, jums būs jādodas uz katru datoru, lai kopētu failus, un visu failu kopēšana var aizņemt kādu laiku (īpaši ar f