![DB410 -ийг Ethernet Dongle болгон ашиглан алсын root файлын системд нэвтрэх: 6 алхам DB410 -ийг Ethernet Dongle болгон ашиглан алсын root файлын системд нэвтрэх: 6 алхам](https://i.howwhatproduce.com/images/005/image-13399-20-j.webp)
Агуулгын хүснэгт:
- Алхам 1: Шаардлагатай зүйлс
- Алхам 2: HOST дээр цөм үүсгэх, цөм үүсгэх хостыг тохируулах
- Алхам 3: HOST дээр Boot.img -ийг дахин бүтээнэ үү
- Алхам 4: HOST дээр root файлын системийг бий болгох
- Алхам 5: HOST дээр сервер NFS үүсгэх, файл хуулах
- Алхам 6: Dragonboard 410c ачаалах зургийг шинэчлэх, сүлжээний интерфэйсийг тохируулах
2025 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2025-01-23 15:00
![DB410 -ийг Ethernet Dongle болгон ашиглан алсын root файлын системд нэвтрэх DB410 -ийг Ethernet Dongle болгон ашиглан алсын root файлын системд нэвтрэх](https://i.howwhatproduce.com/images/005/image-13399-21-j.webp)
Зорилго:
- USB Ethernet CDC Gadget -ийн дэмжлэгийг оруулахын тулд багажны сүлжээ суулгаж, цөмийг дахин хөрвүүлэх;
- USB Ethernet CDC -ийг эхлүүлэхийн тулд Linaro -аас boot.img файлыг дахин үүсгэх;
- Root файлын системийг байршуулахын тулд NFS сервер үүсгэх;
- DEVICE болон HOST дахь IP тохиргоо.
Алхам 1: Шаардлагатай зүйлс
Танд дараахь хэрэгсэл хэрэгтэй болно
- A DragonBoard ™ 410c (энд DEVICE гэж нэрлэдэг);
- Ubuntu 16.04.3 ашигладаг компьютер шинэчлэгдсэн (энд HOST гэж нэрлэгддэг) интернет холболт, SDCard үүртэй;
- Linaro -хөгжүүлэгчийн 431 хувилбарын цэвэр суурилуулалт - Холбоос: Хормын хувилбар Linaro Debian v431
- HDMI дэлгэц;
- USB гар;
- 8 ГБ хэмжээтэй SD карт;
- HOST дээр DEVICE -ийг холбох USB кабель, uUSB USB.
Алхам 2: HOST дээр цөм үүсгэх, цөм үүсгэх хостыг тохируулах
Нэгдүгээрт, бид үргэлжлүүлэхийн өмнө бүх лавлах санг үүсгэх болно. Тиймээс:
$ cd ~
$ mkdir db410remoteroot $ cd db410remoteroot $ mkdir toolchain $ mkdir db410c-модулиуд
Харамсалтай нь Linaro (431 -р хувилбар) ашигладаг линукс цөм нь USB Ethernet хэрэгслийг дэмждэггүй тул Linux цөмийг энэ хувилбарт зориулж дахин бүтээх ёстой. X86 хост машинаас Dragonboard410c дээр линукс цөм бүтээх, байршуулахын тулд Linaro багаж хэрэгслийг татаж аваарай.
$ wget
$ tar -xf gcc-*-x86_64_aarch64-linux-gnu.tar.xz -C./toolchain-зурвас-бүрэлдэхүүн хэсгүүд = 1
Одоо цөмийг бүтээхэд шаардлагатай багцуудыг суулгаарай.
$ sudo apt update && sudo apt-get install git-essential abootimg kernel-package fakeroot libncurses5-dev libssl-dev ccache
Линукс цөмийн эх сурвалж болох Clone Qualcomm буух багийн Linux репозиторыг авах:
$ git clone
$ cd kernel $ git checkout source/release/qcomlt-4.14 -b my-custom-4.14
Одоо хөрвүүлэлтийн орчны хувьсагчдыг тохируулна уу.
$ экспорт ARCH = arm64
$ export CROSS_COMPILE = $ (pwd) /../ toolchain/bin/aarch64-linux-gnu-
Энэ үед бид модулийг цөм дэх USB Ethernet CDC дээр нэмэх хэрэгтэй. Би үүнийг өмнө нь хийж байсан бөгөөд энэ алхмын төгсгөлд та үүнийг авах боломжтой. Би зарим зүйлийг арилгасан боловч энэ нь ажилласан.
Эмхэтгэхийн өмнө цөмийн алдааг драйверууд/mmc/host/sdhci-msm.c болгон залруулж, 1150 мөр дэх бүтцийг өөрчилнө үү.
статик бүтэц бүтэц 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};
Configfile.zip файлыг задалж,.config файлыг цөмийн директор руу хуулж, цөм, модулиудыг бүтээж, директор дотор модулиудыг суулгана уу.
$ make -j $ (nproc) Image.gz dtbs
$ make -j $ (nproc) модулиуд $ make modules_install INSTALL_MOD_PATH =../db410c -модулиуд
Лавлагаа: 96Boards Documentation
Алхам 3: HOST дээр Boot.img -ийг дахин бүтээнэ үү
Энэ алхамд бид initrd зургийг нээж, зураг дотор байрлуулсан модулиудыг байрлуулж, уг модулийг эхлүүлэх системийг тохируулж, root файлын системийг алсаас эхлүүлэхийн тулд initrd.img -ийг шинэ цөмийн тушаалын мөрөөр дахин бүтээх хэрэгтэй.
Тиймээс эхлээд linaro вэбсайтаас initrd.img татаж авах хэрэгтэй.
$ cd..
$ mkdir inird_nfs $ cd initrd_nfs $ wget -O ramdisk.img
Одоо татаж авсны дараа эхлүүлэлтийг задалж задлаарай:
$ zcat ramdisk.img | cpio -idmv
Энэ лавлахад бид цөмийг эхлүүлэхэд ашигладаг эх файлын системтэй тул энд хэрэгтэй USB Ethernet CDC модулиуд болон NFS серверийн IP, ethernet (usb) зэрэг алсын параметрүүдийг тохируулах болно.
Одоо зарим файлуудыг тохируулцгаая.
conf/initramfs.conf:
МОДУЛЬ = хамгийн их
BUSYBOX = auto COMPRESS = gzip DEVICE = usb0 NFSROOT = auto RUNSIZE = 10%
Лавлах скриптүүд дээр init-premount директор үүсгэх/
$ mkdir скриптүүд/init-premount
шинээр үүсгэсэн директорын файлуудыг нэмнэ үү.
ЗАХИАЛГА
/скриптүүд/init-premount/usb "$@"
[-e /conf/param.conf] &&. /conf/param.conf
usb
#!/бин/ш
PREREQ = "" prereqs () {echo "$ PREREQ"} тохиолдолд $ 1 in # урьдчилсан урьдчилсан нөхцөлийг авах) урьдчилсан шаардлага 0 гарах;; esac modprobe usb_f_ecm modprobe libcomposite modprobe usb_f_rndis modprobe g_ether
Үүнийг ажиллуулахын тулд usb файлд chmod ашиглахаа бүү мартаарай.
$ chmod +x скриптүүд/init-premount/usb
Одоо db410c-modules (STEP 2) -аас modb бүхий бүх лавлахыг initrd дахь lib/modules руу хуулж аваарай.
$ cp -R../db410-modules/lib usr/
Lib/modules/4.14.96-xxxx-бохир дахь бүх файлын модулийг эс тооцвол бүх файлыг устга.* Болон тэр файлын жагсаалт:
цөм/драйверууд/usb/gadget/legacy/g_ether.ko
kernel/drivers/usb/gadget/legacy/g_mass_storage.ko kernel/drivers/usb/gadget/legacy/g_cdc.ko kernel/drivers/usb/gadget/legacy/g_serial.ko kernel/drivers/usb/gadget/function/usb_f_mass_storage.ko цөм/драйверууд/usb/gadget/функц/usb_f_acm.ko цөм/драйверууд/usb/гаджет/функц/u_ether.ko цөм/драйверууд/usb/гаджет/функц/usb_f_obex.ko цөм/драйверууд/usb/гаджет/функц /usb_f_serial.ko цөм/драйверууд/usb/gadget/функц/usb_f_ecm.ko цөм/драйверууд/usb/gadget/функц/usb_f_rndis.ko цөм/драйверууд/usb/gadget/функц/u_serial.ko цөм/драйверууд/usb/gadget /function/usb_f_fs.ko цөм/драйверууд/usb/gadget/function/usb_f_ecm_subset.ko цөм/драйверууд/usb/gadget/libcomposite.ko
Эдгээр файлууд нь USB Ethernet CDC -ийг эхлүүлэхэд шаардлагатай бүх модулиуд юм.
Эцэст нь анхны зургийг дахин боож, шахна уу.
$ олох. | cpio -o -H newc | gzip -9>../kernel/initrd_nfs.img
Наад зах нь, цөмийн зураг болон DTB файлыг Андройд ачаалах дүрс болгон оруулах ёстой. Ийм зургийг 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: off rw rootwait консол = tty0 консол = ttyMSM0, 115200n8"
Ашигласан материал:
- https://access.redhat.com/solutions/24029
- 96Boards -ийн баримт бичиг
Алхам 4: HOST дээр root файлын системийг бий болгох
Одоо бид луу самбар 410c -ийг шинэчлэх шинэ ачаалах дүрстэй боллоо. Гэхдээ модуль, үйлчилгээ, програмыг ачаалахын тулд алсын сервер дээр root файлын систем хэрэгтэй. Энэ алхам дээр бид эдгээр бүх өгөгдлийг хадгалахын тулд хост дотор хуваалцсан лавлах үүсгэх болно. Тиймээс, initrd -д ашигласан ижил хувилбартай линаро сайтаас rootfs файлын системийг татаж авцгаая. Тиймээс, нэг лавлах руу буцаж очоод 431 хувилбартай linaro-хөгжүүлэгчийн rootfs зургийг татаж аваарай.
$ cd..
$ wget
Энэ файлыг задлах
$ unzip dragonboard-410c-sdcard-developer-buster-431.zip
Энэ файлыг ашиглан бүх хуваалтуудад хандах, rootfs файлуудыг хуулахын тулд бүх зургийг sdcard дээр бичье. Тиймээс SDCard дээрх бүх зүйл устах тул uSDCard -ийн өгөгдлийг нөөцөлсөн эсэхийг шалгаарай.
SDCard төхөөрөмжийнхөө нэрийг олохын тулд SDCard -ийг устгаад дараах тушаалыг ажиллуулна уу.
$ lsblk
Бүх хүлээн зөвшөөрөгдсөн дискний нэрийг оюун ухаандаа хадгалаарай. Одоо SDCard -ийг оруулаад хэсэг хүлээгээд командыг дахин ажиллуулна уу.
$ lsblk
Шинээр танигдсан дискийг анхаарч үзээрэй. Энэ нь таны SDCard байх болно. Нэрээ санаж, SDCard төхөөрөмжийнхөө нэрний "of =" параметрийг өөрчилж, төхөөрөмжийн нэрийг хуваахгүйгээр ашиглахаа мартуузай, p.e.: /dev /mmcblk0
$ sudo dd if = dragonboard-410c-sdcard-developer-buster-431.img of =/dev/XXX bs = 4M oflag = sync status = явц
Тэмдэглэл:
- Энэ тушаалыг гүйцэтгэхэд хэсэг хугацаа шаардагдана. Тэвчээртэй байж, процесс дуусах хүртэл терминалыг хөндөхөөс зайлсхий.
- SD карт анивчсаны дараа хост компьютерээс салга.
Лавлагаа: 96 самбарын баримт бичиг
Алхам 5: HOST дээр сервер NFS үүсгэх, файл хуулах
Энэ тохиолдолд бидэнд ачаалах дүрс байгаа бөгөөд луу модны 410c болон бидний модуль, үйлчилгээ, програмд зориулсан rootfs файлын систем бүхий SDCard дээр харагдах болно. Дараагийн алхам бол USB Ethernet DEVICE товчлуурыг HOST rootfs файлын системтэй холбох алсын лавлах үүсгэх явдал юм. Үүнийг Ubuntu-аас nfs-kernel-server нэртэй багц ашиглан хийж болно.
Энэхүү багц нь NFS үйлчилгээг Ubuntu -д суулгаж, сүлжээнд байгаа зарим төхөөрөмжүүдийн зарим лавлахыг хуваалцах боломжийг олгодог бөгөөд бид таны IP -ийг ашиглан төхөөрөмж бүрт ямар директорыг ашиглахыг тохируулж болно.
Тиймээс, багцыг суулгаад тохируулцгаая.
$ sudo apt-get nfs-kernel-server-ийг суулгаарай
NFS үйлчилгээ автоматаар эхэлдэг. NFS үйлчилгээг хянахын тулд дараахь зүйлийг ашиглана уу.
$ sudo service nfs-kernel-server restart // дахин эхлүүлэх, эсвэл шаардлагатай бол 'stop' эсвэл 'start' командыг ашиглана уу.
NFS үйлчилгээний статусыг командын мөрөөс шалгахын тулд:
$ sudo үйлчилгээ nfs-kernel-server status
nfsd ажиллаж байна // Үйлчилгээ Дээш байна nfsd ажиллахгүй байна // Үйлчилгээ уналттай байна
Одоо, дээд директор /srv /nfs үүсгээд NFS -д суулгасан root файлын систем бүрийн хувьд дэд директор үүсгэе. Энд бид өөрсдийн root файлын системийг хадгалахын тулд хуваалцсан root файлын системийг оруулсан болно.
$ sudo mkdir -p /srv /nfs
$ sudo mkdir -p/srv/nfs/rootfs
Одоо NFS сервер нь тодорхой хостуудад NFS файлын системийн лавлах бүрийн хандалтыг хянахын тулд /etc /export -ийг зөв тохируулахыг шаарддаг. Энэ тохиолдолд хостуудыг IP хаягаар нь тодорхойлдог. Тиймээс, үүсгэгдсэн root файлын систем бүрийн хувьд экспортын хяналтын мөрийг /etc /export дээр нэмж, шаардлагатай бол өөрийн дотоод IP хаяг болон директорын нэрлэх схемийг тохируулна уу. Энэхүү гарын авлагад бид үүнийг үргэлж ашигладаг.
/srv/nfs/rootfs 10.42.0.2 (rw, sync, no_root_squash, no_subtree_check)
SDCard -аа дахин оруулаад суулгаад бүх rootfs файлын системийг/srv/nfs/rootfs руу хуулж, шинэ хуулагдсан файлуудыг ашиглан лавлах санг шинэчлэхийн тулд NFS үйлчилгээг дахин эхлүүлнэ үү.
Нэмж хэлэхэд, бид 2-р алхам дээр цөмийг хөрвүүлсэн тул шинэ модулийн файлуудыг rootfs файлын систем рүү хуулах шаардлагатай байна.
$ sudo cp -R ~/db410c -modules/*/srv/nfs/rootfs/
Эдгээр сангууд нь NFS үйлчилгээгээр харагддаг эсэхийг шалгаарай. Аль нь ч:
$ sudo exportfs -a
Лавлагаа: TFTP/NFS Root Files System
Алхам 6: Dragonboard 410c ачаалах зургийг шинэчлэх, сүлжээний интерфэйсийг тохируулах
Алсын rootfs файлын системийг хэрэгжүүлэхийн тулд бид бүх алхамыг эрт хийсэн, одоо бид dragonboard 410c доторх ачаалах дүрсийг шинэчлэх шаардлагатай бөгөөд ингэснээр өөрийн USB кабелийг компьютер болон луугийн USB холбогч дээр холбоно уу. Тиймээс fastboot -ийг хост компьютер дээр суулгасан эсэхийг шалгаарай, хэрэв суулгаагүй бол:
$ sudo apt fastboot суулгаарай
Одоо зургийг шинэчлэхийн тулд dragonboard -ийг дараах алхмуудыг дагаж fastboot горимд эхлүүлнэ үү.
- DragonBoard 410c дээрх Vol (-) товчлуурыг дарж барина уу, энэ бол S4 товч юм. DragonBoard ™ 410c асаалттай хэвээр байх ёсгүй
- Vol (-) товчлуурыг барьж байхдаа DragonBoard 410c-ийг залгаарай
- DragonBoard 410c тэжээлд холбогдсоны дараа Vol (-) товчлуурыг дарна уу.
- Ойролцоогоор 20 секунд хүлээнэ үү.
- Удирдах зөвлөл хурдан ачаалах горимд ачаалагдах ёстой.
Холбогдсон хост машины терминалын цонхноос дараах тушаалуудыг ажиллуулна уу.
$ 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 netmask 255.255.255.0 хүртэл
Эсвэл HOST дээрх "Тохиргоо" хэсэгт "сүлжээ" гэсэн хэсэгт ороод USB Ethernet -ийг тухайн интерфэйс рүү статик IP болгоно уу.
Одоо луу самбарыг дахин эхлүүлээд системийн эхлэлийг шалгаж, ssh ашиглан холбогдохыг оролдоорой:
$ ssh [email protected]
Ашигласан материал:
- 96 самбарын баримт бичиг
- HowtoForge - 6 -р зүйл
Зөвлөмж болгож буй:
Windows -ээр Raspberry Pi файлын системд нэвтрэх: 9 алхам
![Windows -ээр Raspberry Pi файлын системд нэвтрэх: 9 алхам Windows -ээр Raspberry Pi файлын системд нэвтрэх: 9 алхам](https://i.howwhatproduce.com/images/001/image-485-10-j.webp)
Windows -ээр Raspberry Pi файлын системд нэвтрэх: Та хэзээ нэгэн цагт Raspberry Pi аваад " Би үүнийг дэлгэц, хулгана, гараараа тохируулах ёстой! &Quot; Монитор болон гар/хулганыг салгах/салгахад хүргэдэг царцдас нь Raspberry Pi -д хандах нь юу ч биш юм
HT12D HT12E ашиглан RF 433MHZ радио хяналт - HT12E & HT12D ашиглан 433mhz ашиглан Rf алсын удирдлага хийх: 5 алхам
![HT12D HT12E ашиглан RF 433MHZ радио хяналт - HT12E & HT12D ашиглан 433mhz ашиглан Rf алсын удирдлага хийх: 5 алхам HT12D HT12E ашиглан RF 433MHZ радио хяналт - HT12E & HT12D ашиглан 433mhz ашиглан Rf алсын удирдлага хийх: 5 алхам](https://i.howwhatproduce.com/images/001/image-2937-16-j.webp)
HT12D HT12E ашиглан RF 433MHZ радио хяналт | HT12E & HT12D -ийг 433mhz ашиглан Rf алсын удирдлага хийх: Энэхүү зааварчилгаанд би HT12E кодчилол бүхий 433mhz дамжуулагч хүлээн авах модулийг ашиглан RADIO алсын удирдлага хийхийг танд үзүүлэх болно. HT12D декодер IC. Энэхүү зааварчилгаанд та өгөгдлийг маш хямд найрлагатай ашиглан илгээх, хүлээн авах боломжтой болно: HT
2.4Ghz NRF24L01 модулийг ашиглан Arduino ашиглан утасгүй алсын удирдлага - Nrf24l01 4 суваг / Quadcopter -ийн 6 суваг дамжуулагч хүлээн авагч - Rc нисдэг тэрэг - Arduino ашиглан Rc
![2.4Ghz NRF24L01 модулийг ашиглан Arduino ашиглан утасгүй алсын удирдлага - Nrf24l01 4 суваг / Quadcopter -ийн 6 суваг дамжуулагч хүлээн авагч - Rc нисдэг тэрэг - Arduino ашиглан Rc 2.4Ghz NRF24L01 модулийг ашиглан Arduino ашиглан утасгүй алсын удирдлага - Nrf24l01 4 суваг / Quadcopter -ийн 6 суваг дамжуулагч хүлээн авагч - Rc нисдэг тэрэг - Arduino ашиглан Rc](https://i.howwhatproduce.com/images/003/image-7044-j.webp)
2.4Ghz NRF24L01 модулийг ашиглан Arduino ашиглан утасгүй удирдлага | Nrf24l01 4 суваг / Quadcopter -ийн 6 суваг дамжуулагч хүлээн авагч | Rc нисдэг тэрэг | Arduino ашиглан Rc онгоц: Rc машин ажиллуулах | Квадрокоптер | Дрон | RC онгоц | RC завь, бидэнд үргэлж хүлээн авагч, дамжуулагч хэрэгтэй байдаг, RC QUADCOPTER -ийн хувьд бидэнд 6 суваг дамжуулагч, хүлээн авагч хэрэгтэй гэж бодъё, энэ төрлийн TX ба RX нь хэтэрхий үнэтэй тул бид үүнийг өөрөө хийх болно
Ачаалах самбар бүхий энгийн багц файлын нэвтрэх систем: 5 алхам
![Ачаалах самбар бүхий энгийн багц файлын нэвтрэх систем: 5 алхам Ачаалах самбар бүхий энгийн багц файлын нэвтрэх систем: 5 алхам](https://i.howwhatproduce.com/images/005/image-14898-25-j.webp)
Ачаалах самбар бүхий энгийн багц файлын нэвтрэх систем: Энд бид ачаалах самбар бүхий нэвтрэх системийн багц файлыг хуваалцаж байна. Бид танд кодыг үзүүлэхээс гадна хэрхэн ашиглахыг зааж өгөх болно. Та мөн манай блогт зочилж илүү их файлын код авах боломжтой. FFLocker 1.0: http://errorcode401.blogspot.in/2013/06/FFlocker-1.0.html Rar
Raspberry Pi ашиглан файлын сервер хэрхэн хийх вэ: 7 алхам
![Raspberry Pi ашиглан файлын сервер хэрхэн хийх вэ: 7 алхам Raspberry Pi ашиглан файлын сервер хэрхэн хийх вэ: 7 алхам](https://i.howwhatproduce.com/images/003/image-6115-85-j.webp)
Raspberry Pi ашиглан файлын сервер хэрхэн хийх вэ: Өнөө үед нэг байшинд олон компьютер хөгжим, видео тараах нь түгээмэл болсон. Өөрийнхөө зүйлийг зохион байгуулах өөр нэг арга бол үүнийг файлын SERVER гэж нэрлэдэг төвлөрсөн сервер дээр хадгалах явдал юм. Энэхүү зааварт бид файлын сервер үүсгэх болно