Բովանդակություն:
- Քայլ 1: Պահանջներ
- Քայլ 2. Հոսթում միջուկի կառուցման և միջուկի կառուցման տանտիրոջ կազմաձևում
- Քայլ 3. Վերակառուցեք Boot.img- ը HOST- ում
- Քայլ 4. Ստեղծեք արմատային ֆայլային համակարգ HOST- ում
- Քայլ 5. Ստեղծեք սերվերի NFS HOST- ում և պատճենեք ֆայլերը
- Քայլ 6. Dragonboard 410c- ի Boot Image- ի թարմացում և ցանցի միջերեսների կազմաձևում
Video: Մուտք գործեք հեռավոր արմատային ֆայլային համակարգ ՝ օգտագործելով DB410- ը որպես Ethernet Dongle: 6 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Նպատակներ:
- Տեղադրեք գործիքաշղթա և նորից կազմեք միջուկ ՝ USB Ethernet CDC գործիքի աջակցությունը տեղադրելու համար;
- Ստեղծեք boot.img- ը Linaro- ից ՝ USB Ethernet CDC- ն գործարկելու համար;
- Ստեղծեք NFS սերվեր ՝ արմատային ֆայլային համակարգը հյուրընկալելու համար;
- IP կոնֆիգուրացիա DEVICE- ում և HOST- ում:
Քայլ 1: Պահանջներ
Ձեզ հարկավոր են հետևյալ պարագաները
- DragonBoard ™ 410c (այստեղ անվանում են ՍԱՐՔ);
- Ubuntu 16.04.3 -ով օգտագործվող համակարգիչը թարմացվել է (այստեղ նշվում է HOST) `ինտերնետ կապով և SDCard բնիկով;
- Linaro -developer 431 տարբերակի մաքուր տեղադրում - Հղում ՝ Լուսանկար Linaro Debian v431
- HDMI մոնիտոր;
- USB ստեղնաշար;
- 8 Գբ SD քարտ;
- USB մալուխ, uUSB USB ՝ ՍԱՐՔԸ HOST- ին միացնելու համար:
Քայլ 2. Հոսթում միջուկի կառուցման և միջուկի կառուցման տանտիրոջ կազմաձևում
Նախ, շարունակելու համար մենք կստեղծենք բոլոր գրացուցակները: Այսպիսով, $ cd
$ mkdir db410remototoot $ cd db410remoteroot $ mkdir գործիքաշղթա $ mkdir db410c- մոդուլներ
Unfortunatelyավոք, Linaro- ի կողմից օգտագործվող linux միջուկը (տարբերակ 431) չունի USB Ethernet գործիքի աջակցություն, դրա պատճառով Linux միջուկը պետք է վերակառուցվի այս հատուկ տարբերակի համար: Ներբեռնեք Linaro գործիքակազմը ՝ x86 ընդունող մեքենայից linux միջուկ կառուցելու և տեղակայելու համար Dragonboard410c- ում:
$ wget
$ tar -xf gcc-*-x86_64_aarch64-linux-gnu.tar.xz -C./toolchain --strip-components = 1
Այժմ տեղադրեք փաթեթներ, որոնք անհրաժեշտ են միջուկը կառուցելու համար.
$ sudo apt Update && sudo apt-get install git build-essential abootimg kernel-package fakeroot libncurses5-dev libssl-dev ccache
Ստացեք Linux միջուկի աղբյուր Clone Qualcomm վայրէջքի թիմ Linux պահոց.
$ git կլոն
$ cd միջուկ $ git վճարման սկիզբ/թողարկում/qcomlt-4.14 -b my-custom-4.14
Այժմ, սահմանեք կազմող միջավայրի փոփոխականներ.
$ արտահանման ARCH = arm64
$ արտահանում CROSS_COMPILE = $ (pwd) /../ toolchain/bin/aarch64-linux-gnu-
Այս պահին մենք պետք է մոդուլները ավելացնենք միջուկում USB Ethernet CDC- ին: Ես դա արել եմ նախկինում, և դուք կարող եք դա ստանալ այս քայլի վերջում: Ես հեռացրել եմ մի քանի կտոր, բայց այն աշխատում է:
Նախքան կազմելը, խնդրում ենք ուղղել միջուկի սխալը վարորդների/mmc/host/sdhci-msm.c մեջ ՝ 1150 տողում կառուցվածքը փոխելով հետևյալի.
ստատիկ կոնստրուկցիա sdhci_ops sdhci_msm_ops = {
. Վերագործարկեք = 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};
Uncompress configfile.zip, պատճենեք.config ֆայլը միջուկի գրացուցակում, կառուցեք միջուկ, մոդուլներ և տեղադրեք մոդուլներ գրացուցակում.
$ make -j $ (nproc) Image.gz dtbs
$ make -j $ (nproc) մոդուլներ $ make modules_install INSTALL_MOD_PATH =../db410c- մոդուլներ
Հղում ՝ 96Boards Փաստաթղթեր
Քայլ 3. Վերակառուցեք Boot.img- ը HOST- ում
Այս քայլում մենք պետք է բացենք initrd պատկերը, տեղադրենք նկարի ներսում կառուցված մոդուլները, կազմաձևենք համակարգը, որպեսզի սկսի այդ մոդուլները և վերակառուցենք initrd.img- ը նոր միջուկի հրամանի տողով ՝ արմատային ֆայլային համակարգը հեռակա բեռնելու համար:
Այսպիսով, նախ, մենք պետք է ներբեռնենք initrd.img- ը linaro կայքից.
$ cd..
$ mkdir inird_nfs $ cd initrd_nfs $ wget -O ramdisk.img
Այժմ, ներբեռնելուց հետո, հանեք և սեղմեք initrd- ը.
$ zcat ramdisk.img | cpio -idmv
Այս գրացուցակում մենք ունենք հիմնական ֆայլային համակարգը, որն օգտագործվում է միջուկի սկզբնավորման մեջ, այնպես որ մենք կկարգավորենք USB Ethernet CDC մոդուլներ և NFS հեռավոր պարամետրեր, ինչպիսիք են NFS սերվերի IP- ն և ethernet- ը (usb), որոնք անհրաժեշտ են այստեղ:
Հիմա եկեք կազմաձևենք որոշ ֆայլեր.
conf/initramfs.conf:
ՄՈԴՈLESԼՆԵՐ = առավելագույնը
BUSYBOX = auto COMPRESS = gzip DEVICE = usb0 NFSROOT = auto RUNSIZE = 10%
Ստեղծեք գրացուցակի init-premount գրացուցակի սցենարներում/
$ mkdir սցենարներ/init-premount
և ավելացրեք ֆայլերը այս նոր ստեղծված գրացուցակում.
ՊԱՏՎԵՐ
/scripts/init-premount/usb "$@"
[-e /conf/param.conf] &&: /conf/param.conf
USB
#!/bin/sh
PREREQ = "" prereqs () {echo "$ PREREQ"} դեպքում $ 1 #-ում # ստացեք նախապայմանների նախնական պահանջներ) նախադրյալներ ելք 0;; esac modprobe usb_f_ecm modprobe libcomposite modprobe usb_f_rndis modprobe g_ether
Մի մոռացեք օգտագործել chmod usb ֆայլում `այն գործարկելի դարձնելու համար.
$ chmod +x սցենարներ/init-premount/usb
Այժմ պատճենեք բոլոր գրացուցակը մոդուլներով db410c- մոդուլներից (ՔԱՅԼ 2) դեպի init/in lib/մոդուլներ.
$ cp -R../db410-modules/lib usr/
Հեռացրեք lib/modules/4.14.96-xxxx- կեղտոտ բոլոր ֆայլերը, բացառությամբ բոլոր ֆայլերի մոդուլի:* և այդ ֆայլերի ցանկը.
միջուկ/վարորդներ/usb/գործիք/ժառանգություն/g_ether.ko
kernel/drivers/usb/gadget/legacy/g_mass_storage.ko kernel/drivers/usb/gadget/legacy/g_cdc.ko միջուկ/վարորդներ/usb/gadget/legacy/g_serial.ko միջուկ/վարորդներ/usb/gadget/գործառույթ/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 միջուկ/վարորդներ/usb/գործիք/գործառույթ /usb_f_serial.ko միջուկ/վարորդներ/usb/գործիք/գործառույթ/usb_f_ecm.ko միջուկ/վարորդներ/usb/գործիք/գործառույթ/usb_f_rndis.ko միջուկ/վարորդներ/usb/գործիք/գործառույթ/u_serial.ko միջուկ/վարորդներ/USB/գործիքի /function/usb_f_fs.ko միջուկ/վարորդներ/usb/գործիք/գործառույթ/usb_f_ecm_subset.ko միջուկ/վարորդներ/usb/գործիք/libcomposite.ko
Այդ ֆայլերը բոլորը մոդուլներ են, որոնք անհրաժեշտ են USB Ethernet CDC- ն գործարկելու համար:
Վերջապես փաթեթավորեք և սեղմեք նախնական պատկերը.
$ գտնել. | cpio -o -H newc | gzip -9>../kernel/initrd_nfs.img
Առնվազն միջուկի պատկերը և DTB ֆայլը պետք է փաթեթավորվեն Android- ի boot պատկերի մեջ: Նման պատկերը կարող է ստեղծվել abootimg գործիքի միջոցով:
Եկեք հայտնվենք միջուկի գրացուցակում և օգտագործենք ստորև բերված հրամանը ՝ պատկեր ստեղծելու և սեղմված միջուկի պատկերում DTB ավելացնելու համար.
$ cd../ միջուկ
$ cat arch/$ ARCH/boot/Image.gz arch/$ ARCH/boot/dts/qcom/apq8016-sbc.dtb> Image.gz+dtb
Եվ վերջապես, ստեղծեք բեռնախցիկի պատկերը (այստեղ մեր rootfs- ը գտնվում է հեռավոր բաժանմունք 10.42.0.1 -ում)
abootimg -ստեղծել boot -db410c.img -k Image.gz+dtb -r initrd_nfs.img -c Էջերի չափս = 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: անջատված rw rootwait վահանակ = tty0 վահանակ = ttyMSM0, 115200n8"
Հղումներ:
- https://access.redhat.com/solutions/24029
- 96 Տախտակներ Փաստաթղթեր
Քայլ 4. Ստեղծեք արմատային ֆայլային համակարգ HOST- ում
Այժմ մենք ստացել ենք բեռնախցիկի նոր պատկեր ՝ վիշապախտակը 410c- ն թարմացնելու համար: Բայց մեզ անհրաժեշտ է արմատային ֆայլային համակարգ հեռավոր սերվերում `մոդուլներ, ծառայություններ և ծրագրեր բեռնելու համար: Այս քայլում մենք սերվերում կկառուցենք ընդհանուր տեղեկատու ՝ այս բոլոր տվյալները պահելու համար: Այդ կերպ, եկեք ներբեռնենք rootfs ֆայլային համակարգը linaro կայքից ՝ initrd- ում օգտագործված նույն տարբերակով: Այսպիսով, վերադարձեք մեկ գրացուցակ և ներբեռնեք linaro-developer rootfs պատկերը 431 տարբերակով:
$ cd..
$ wget
Հեռացրեք այս ֆայլը
$ unzip dragonboard-410c-sdcard-developer-buster-431.zip
Օգտագործելով այս ֆայլը, եկեք բոլոր պատկերները գրենք sdcard- ում ՝ բոլոր միջնապատերին մուտք գործելու և rootfs ֆայլերը պատճենելու համար: Այսպիսով, համոզվեք, որ uSDCard- ի տվյալները պահուստավորված են, քանի որ SDCard- ում ամեն ինչ կկորչի:
Ձեր SDCard սարքի անունը գտնելու համար հեռացրեք SDCard- ը և գործարկեք հետևյալ հրամանը.
$ lsblk
Ձեր մտքում պահեք բոլոր ճանաչված սկավառակների անունները: Այժմ տեղադրեք SDCard, սպասեք մի պահ և նորից կատարեք հրամանը.
$ lsblk
Ուշադրություն դարձրեք նոր ճանաչված սկավառակին: Սա կլինի ձեր SDCard- ը: Հիշեք ձեր անունը և փոխեք «=» պարամետրը ձեր SDCard սարքի անվան համար և համոզվեք, որ օգտագործեք սարքի անունը առանց միջնապատի, օրինակ ՝ /dev /mmcblk0
$ sudo dd if = dragonboard-410c-sdcard-developer-buster-431.img of =/dev/XXX bs = 4M oflag = համաժամացման կարգավիճակ = առաջընթաց
Նշումներ.
- Այս հրամանը կատարելու համար որոշ ժամանակ կպահանջվի: Եղեք համբերատար և խուսափեք տերմինալի հետ շփումից մինչև գործընթացի ավարտը:
- Երբ SD քարտը թարթում է, հեռացրեք հյուրընկալող համակարգչից:
Տեղեկանք. 96 տախտակի փաստաթղթավորում
Քայլ 5. Ստեղծեք սերվերի NFS HOST- ում և պատճենեք ֆայլերը
Այս պահին մենք ունենք բեռնախցիկի պատկեր, որը պետք է շոշափվի dragonboard 410c- ում և SDCard- ով `rootfs ֆայլային համակարգով մեր մոդուլների, ծառայությունների և ծրագրերի համար: Հաջորդ քայլը ստեղծում է հեռակա գրացուցակ ՝ USB Ethernet DEVICE սարքը միացյալ հոսթոֆթ HOST արմատային համակարգի հետ միացնելու համար: Դա կարելի է անել ՝ օգտագործելով Ubuntu- ի nfs-kernel-server անունով փաթեթ:
Այս փաթեթը տեղադրում է NFS ծառայություն Ubuntu- ում, որը թույլ է տալիս կիսել ցանցի որոշ սարքերի որոշ գրացուցակներ, մենք կարող ենք կարգավորել, թե որ գրացուցակը կօգտագործվի յուրաքանչյուր սարքի համար ՝ օգտագործելով ձեր IP- ն:
Այսպիսով, եկեք տեղադրենք փաթեթը և կազմաձևենք այն:
$ sudo apt-get տեղադրել nfs-kernel-server
NFS ծառայությունը սկսվում է ինքնաբերաբար: NFS ծառայությունները վերահսկելու համար օգտագործեք.
$ sudo ծառայություն nfs-kernel-server վերագործարկեք // վերագործարկելու համար, կամ անհրաժեշտության դեպքում օգտագործել «stop» կամ «start»:
NFS ծառայության կարգավիճակը հրամանի տողից ստուգելու համար օգտագործեք.
$ sudo ծառայություն nfs-kernel-server կարգավիճակ
nfsd աշխատում է // Serviceառայությունը վեր է nfsd չի աշխատում // Serviceառայությունն անջատված է
Այժմ, եկեք ստեղծենք վերևի գրացուցակ /srv /nfs և դրա ենթածրագիր ստեղծենք NFS- ի վրա տեղադրված յուրաքանչյուր արմատային ֆայլային համակարգի համար: Այստեղ մենք ներառում ենք ընդհանուր արմատային ֆայլային համակարգ `մեր արմատային ֆայլային համակարգը պահելու համար.
$ sudo mkdir -p /srv /nfs
$ sudo mkdir -p/srv/nfs/rootfs
Այժմ, NFS սերվերը պահանջում է /etc /export- ը ճիշտ կազմաձևել ՝ վերահսկելու NFS ֆայլային համակարգի յուրաքանչյուր գրացուցակի մուտքը որոշակի տանտերերին: Այս դեպքում տանտերերը նույնականացվում են իրենց IP հասցեով: Այսպիսով, ստեղծվող յուրաքանչյուր արմատային ֆայլային համակարգի համար ավելացրեք արտահանման կառավարման գիծը /etc /export- ին ՝ անհրաժեշտության դեպքում հարմարեցնելով ձեր տեղական IP հասցեն և գրացուցակների անվանման սխեման: Այս ձեռնարկում մենք միշտ օգտագործում ենք դա.
/srv/nfs/rootfs 10.42.0.2 (rw, sync, no_root_squash, no_subtree_check)
Նորից տեղադրեք ձեր SDCard- ը, տեղադրեք այն և պատճենեք բոլոր rootfs ֆայլային համակարգը/srv/nfs/rootfs- ում, վերագործարկեք NFS ծառայությունը ՝ գրացուցակը նոր պատճենված ֆայլերի միջոցով թարմացնելու համար:
Ավելին, մեզ անհրաժեշտ է պատճենել նոր մոդուլների ֆայլերը rootfs ֆայլային համակարգում, քանի որ մենք կազմել ենք միջուկը 2-րդ քայլին: Այսպիսով, պատճենեք բոլոր դիրեկտորիաները ~/db410c-modules/to/srv/nfs/rootfs- ում:
$ sudo cp -R ~/db410c- մոդուլներ/*/srv/nfs/rootfs/
Համոզվեք, որ այս գրացուցակները տեսանելի են դառնում NFS ծառայության կողմից: Կամ ՝
$ sudo exportfs -a
Հղում ՝ TFTP/NFS արմատային ֆայլային համակարգ
Քայլ 6. Dragonboard 410c- ի Boot Image- ի թարմացում և ցանցի միջերեսների կազմաձևում
Մենք վաղուց արեցինք բոլոր քայլերը ՝ հեռավոր rootfs ֆայլային համակարգը ներդնելու համար, այժմ մեզ անհրաժեշտ է թարմացնել բեռնախցիկի պատկերը dragonboard 410c- ի ներսում, դրա համար միացրեք ձեր USB մալուխը համակարգչին և dragonboard uUSB միակցիչին: Այսպիսով, համոզվեք, որ fastboot- ը տեղադրված է ընդունող համակարգչում, եթե այն տեղադրված չէ ՝ օգտագործելով.
$ sudo apt տեղադրեք fastboot
Այժմ պատկերը թարմացնելու համար վահանակը միացրեք fastboot ռեժիմին ՝ հետևելով այս քայլերին.
- Սեղմեք և պահեք Vol (-) կոճակը DragonBoard 410c- ում, սա S4 կոճակն է: DragonBoard ™ 410c- ն դեռ չպետք է միացված լինի
- Vol (-) կոճակը պահելիս միացրեք DragonBoard 410c- ը `այն միացնելով
- Երբ DragonBoard 410c- ը միացված է հոսանքին, ազատ արձակեք Vol (-) կոճակը:
- Սպասեք մոտ 20 վայրկյան:
- Տախտակը պետք է բեռնվի fastboot ռեժիմում:
Միացված հյուրընկալող մեքենայի տերմինալի պատուհանից գործարկեք հետևյալ հրամանները.
$ sudo fastboot սարքեր
Սովորաբար այն կցուցադրվի ստորև
de82318 fastboot
Այս պահին դուք պետք է միացված լինեք ձեր DragonBoard 410c- ին USB- ից microUSB մալուխով: Ձեր DragonBoard 410c- ը պետք է գործարկվի fastboot ռեժիմի մեջ և պատրաստ լինի շողալ համապատասխան պատկերներով: Եկեք թարմացնենք բեռնախցիկի պատկերը մեր բեռնախցիկի պատկերով.
$ sudo fastboot flash boot ~/db410remoteroot/kernel/initrd_nfs.img
Եվ, վերագործարկեք խորհուրդը
$ sudo fastboot վերագործարկում
Այժմ, ձեր HOST- ը կբացահայտի usb0 անունով նոր ինտերֆեյս, սակայն այն դեռ IP չունի: Այսպիսով, այս ինտերֆեյսին ավելացրեք ստատիկ IP ՝ օգտագործելով.
$ sudo ifconfig usb0 10.42.0.1 ցանցային դիմակ 255.255.255.0 դեպի վեր
Կամ մուտքագրեք «Կազմաձևում» HOST- ում, «ցանց» կետում ՝ USB Ethernet- ին այդ ինտերֆեյսի ստատիկ IP սահմանելով:
Այժմ, նորից վերագործարկեք վիշապախտակը և ստուգեք համակարգի գործարկումը ՝ փորձելով միանալ ssh- ի միջոցով.
$ ssh [email protected]
Հղումներ:
- 96 տախտակի փաստաթղթավորում
- HowtoForge - 6 -րդ կետ
Խորհուրդ ենք տալիս:
Մուտք գործեք Android բջջային հեռակառավարման ցանց: 9 քայլ
Մուտք գործեք Android բջջային հեռակառավարման ցանց: ¡Bienvenido! Իրականում, անհրաժեշտ է միանալ ինտերնետին: Piennsalo bien, el internet is una red global de computadoras que transmiten datos entre sí; así que sólo es necesario contar con las herramientas y técnicas correctas para poder ac
Մուտք գործեք Raspberry Pi ֆայլային համակարգ Windows- ի միջոցով. 9 քայլ
Մուտք գործեք Raspberry Pi ֆայլային համակարգ Windows- ի միջոցով. Երբևէ ունեցե՞լ եք Raspberry Pi և գնացել եք " Ես ստիպված եմ ամեն անգամ այն տեղադրել մոնիտորով, մկնիկով և ստեղնաշարով: " Այն հիասթափությունը, որն առաջացնում է ձեր մոնիտորը և ստեղնաշարը/մկնիկը միացնել/անջատել, պարզապես Raspberry Pi- ին մուտք գործելը երկրորդն է:
Մուտք գործեք ձեր Solaredge տվյալներ Python- ի միջոցով. 4 քայլ
Մուտք գործեք ձեր Solaredge տվյալներ Python- ի միջոցով. Քանի որ solaredge տրանսֆորմատորների տվյալները չեն պահվում տեղում, այլ solaredge- ի սերվերների վրա, ես ուզում էի օգտագործել իմ տվյալները տեղական մակարդակով, այս կերպ ես կարող եմ օգտագործել տվյալները իմ սեփական ծրագրերում: Ես ձեզ ցույց կտամ, թե ինչպես կարող եք ձեր տվյալները պահանջել արևապաշտպան ցանցերում
Ապահով մուտք գործեք ձեր Pi- ն աշխարհի ցանկացած վայրից. 7 քայլ
Ապահով մուտք գործեք ձեր Pi աշխարհի ցանկացած վայրից. Pi- ի վրա շուրջօրյա աշխատող մի քանի ծրագիր ունեմ: Ամեն անգամ, երբ ես դուրս էի գալիս իմ տնից, շատ դժվար էր դառնում ստուգել Պիի առողջական վիճակը և կարգավիճակը: Հետագայում ես հաղթահարեցի փոքր արգելքը `օգտագործելով ngrok: Սարքին դրսից մուտք գործելը հնարավորություն է տալիս
Մուտք գործեք բարձր արագությամբ ԷՍԳ կամ այլ տվյալներ ՝ շարունակաբար մեկ ամսվա ընթացքում ՝ 6 քայլ
Մուտք գործեք բարձր արագությամբ ԷՍԳ կամ այլ տվյալներ ՝ շարունակաբար մեկ ամսվա ընթացքում. Այս նախագիծը մշակվել է համալսարանական բժշկական հետազոտական թիմին աջակցելու համար, որին անհրաժեշտ էր կրելի սարք, որը կարող էր մուտքագրել 2 x ԷՍԳ ազդանշաններ 1000 նմուշ/վրկ յուրաքանչյուրում (ընդամենը 2K նմուշ/վրկ) շարունակաբար 30 օր, առիթմիայի հայտնաբերման համար: Նախագիծը նախատեսում է