亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

QEMU模擬IMX6ULL:嵌入式Linux驅(qū)動開發(fā)實戰(zhàn)環(huán)境搭建

QEMU模擬IMX6ULL:嵌入式Linux驅(qū)動開發(fā)實戰(zhàn)環(huán)境搭建 做了大半年 Linux 驅(qū)動開發(fā)最讓我頭疼的不是驅(qū)動本身而是手里沒有 IMX6ULL 開發(fā)板。年初想寫一個平臺驅(qū)動手邊只有一臺 PC于是我研究出一套完全靠 qemu 模擬 IMX6ULL 開發(fā)板的環(huán)境用 QEMU 跑內(nèi)核、掛 rootfs、看串口日志、寫字符設(shè)備驅(qū)動再把驅(qū)動編譯成模塊加載進(jìn)去。這套方案實測下來覆蓋了真實開發(fā)板上九成的驅(qū)動開發(fā)流程內(nèi)核編譯、設(shè)備樹、模塊加載、串口控制臺、GDB 遠(yuǎn)程調(diào)試全都能在命令行里閉環(huán)。如果你也是剛?cè)胄凶銮度胧?Linux 驅(qū)動或者公司板子還沒到位想提前把環(huán)境摸熟這篇文章會把從零到一的過程完整走一遍。我會給出能直接復(fù)制運行的命令也會解釋每條命令背后的理由。那些網(wǎng)上教程不會告訴你的坑我單獨拉了一章出來保證都是我自己踩過的。1. 為什么要在 QEMU 里搭 IMX6ULL 驅(qū)動環(huán)境1.1 實體板子的痛點用實體開發(fā)板做驅(qū)動開發(fā)首先要面對三個問題硬件成本、環(huán)境破壞、反復(fù)燒錄。IMX6ULL 這塊板子入門不貴但正點原子、野火這類全套資料加屏幕加各種模塊加起來也是一筆開銷。更麻煩的是調(diào)試驅(qū)動時經(jīng)常要把內(nèi)核、設(shè)備樹、根文件系統(tǒng)來回?zé)龑?。SD 卡燒一次要幾分鐘U-Boot 不小心改壞板子直接變磚又要想辦法用 OTG 或者仿真器救回來。如果是團(tuán)隊里幾個人共用一塊板子那沖突更嚴(yán)重——一個人在做內(nèi)核實驗另一個人想測自己的驅(qū)動只能排隊。QEMU 恰恰能把這三個痛點全消掉。環(huán)境是一個普通文件毀了大不了重新解壓啟動時間從按下電源鍵到進(jìn)入 shell 只需要幾秒每個人都能在 PC 上獨立開一個“板子”而且完全不占實體硬件資源。1.2 QEMU 能模擬到什么程度不要把它想成一個普通的虛擬機。QEMU 在 ARM 模擬方面并不是簡單地把 CPU 指令翻譯執(zhí)行而是把 IMX6ULL 這顆 SoC 內(nèi)部的很多外設(shè)控制器也建模了。對驅(qū)動開發(fā)來說這意味著CPU 層面Cortex-A7 內(nèi)核的指令能正常跑32 位 ARM 代碼、中斷、異常、MMU、Cache 都有對應(yīng)模擬外設(shè)層面GPIO、UART、SD 控制器、定時器、看門狗這類常用外設(shè)都有寄存器模型內(nèi)核里的對應(yīng)驅(qū)動能正常 probe、正常讀寫寄存器板級層面QEMU 提供了類似真實開發(fā)板的 machine 模型內(nèi)核啟動時會加載匹配的設(shè)備樹總線枚舉、platform 設(shè)備注冊、驅(qū)動匹配這一整套流程和真實硬件完全一致。換句話說驅(qū)動本身的邏輯、注冊流程、中斷處理、文件操作接口在 QEMU 里驗證和真實板子幾乎沒區(qū)別。我在這套環(huán)境里調(diào)過的字符設(shè)備驅(qū)動移植回真實板子后幾乎沒有改動就能跑。1.3 模擬不了的邊界我必須把話說清楚QEMU 不是萬能的。IMX6ULL 上那些復(fù)雜外設(shè)比如 LCD 控制器、GPU、視頻編解碼單元、MIPI CSI 攝像頭接口QEMU 的模擬程度很淺甚至完全沒有模擬。你在這些外設(shè)上做驅(qū)動開發(fā)還是得靠實體板。另外模擬器的 GPIO 引腳并不會真的產(chǎn)生電平變化。你可以操作寄存器、可以請求中斷、可以用它驗證驅(qū)動框架的流程但不要指望能在 QEMU 里看到 LED 真的亮起來。部分版本的板級模型會把板載 LED 接到 GPIO 上能通過設(shè)備模型觀察狀態(tài)變化但這類細(xì)節(jié)每個 QEMU 版本不一樣不能當(dāng)作可靠依據(jù)。所以我的建議是基礎(chǔ)驅(qū)動、字符設(shè)備、平臺驅(qū)動、中斷請求、設(shè)備樹匹配這類“流程類”開發(fā)放心交給 QEMU涉及視頻、顯示、模擬信號這類強硬件相關(guān)的還是得老老實實用板子。2. 環(huán)境準(zhǔn)備QEMU、交叉編譯器與 rootfs2.1 QEMU 安裝與版本確認(rèn)我這里以 Ubuntu 系的發(fā)行版為例。用系統(tǒng)包管理器安裝是最快的sudo apt install qemu-system-arm裝完以后第一件事不是急著啟動而是確認(rèn)你拿到的 QEMU 機器模型。IMX6ULL 的 machine 是后來才加入 QEMU 的舊版本里沒有。我自己用的是 QEMU 8.2可以這樣查qemu-system-arm -machine help | grep -i imx6輸出里應(yīng)該能看到類似這樣的條目mcimx6ul-evk Freescale i.MX6UL Evaluation Kit (Cortex-A7) mcimx6ull-evk Freescale i.MX6ULL Evaluation Kit (Cortex-A7)如果你的系統(tǒng)包版本太老比如 Ubuntu 20.04 自帶的 QEMU 4.x很可能只有mcimx6ul-evk而沒有mcimx6ull-evk。這時候有兩種選擇一是直接用mcimx6ul-evkIMX6UL 和 IMX6ULL 在寄存器和設(shè)備樹層面高度兼容對大多數(shù)驅(qū)動開發(fā)影響不大二是自己編譯新版本 QEMU在官網(wǎng)下載源碼后按標(biāo)準(zhǔn)流程 configure、make、make install。后者不復(fù)雜但會花一些時間我建議先用系統(tǒng)包把環(huán)境跑通再回頭考慮升級。2.2 交叉工具鏈選擇IMX6ULL 是 32 位 ARM Cortex-A7 處理器所以必須用 ARM 32 位交叉編譯器。不少人會在這里犯迷糊順手裝了 aarch64 的交叉編譯器編譯出來的內(nèi)核根本跑不起來。Ubuntu 下直接安裝sudo apt install gcc-arm-linux-gnueabihf libc6-dev-armhf-cross安裝后檢查一下arm-linux-gnueabihf-gcc -v正常情況下會顯示 GCC 版本號并且 target 是 arm-linux-gnueabihf。注意這個hf后綴表示硬浮點IMX6ULL 的 Cortex-A7 支持 VFPv4 硬浮點選它是沒問題的。后面的內(nèi)核、busybox、驅(qū)動模塊全部要用這套工具鏈編譯所以先把環(huán)境變量固定好export ARCHarm export CROSS_COMPILEarm-linux-gnueabihf-2.3 用 BusyBox 做最小 rootfs內(nèi)核能啟動還不夠你得有一個能進(jìn)去操作的根文件系統(tǒng)。BusyBox 是最經(jīng)典的方案它把sh、ls、cat、mount這些常用命令集合成一個二進(jìn)制編譯快、體積小非常適合做嵌入式最小環(huán)境。先下載 BusyBox 源碼版本選 1.36 左右的穩(wěn)定版。然后tar xjf busybox-1.36.1.tar.bz2 cd busybox-1.36.1 make ARCHarm CROSS_COMPILEarm-linux-gnueabihf- defconfig make ARCHarm CROSS_COMPILEarm-linux-gnueabihf- -j$(nproc)編譯完以后把生成的 BusyBox 和命令鏈接安裝到一個臨時目錄里這個目錄就是我們 rootfs 的雛形mkdir -p ../rootfs make ARCHarm CROSS_COMPILEarm-linux-gnueabihf- install CONFIG_PREFIX../rootfs光有 BusyBox 還不夠得手工把目錄結(jié)構(gòu)和必要設(shè)備節(jié)點搭好mkdir -p rootfs/{proc,sys,dev,etc/init.d,lib,tmp,var} sudo mknod -m 666 rootfs/dev/console c 5 1 sudo mknod -m 666 rootfs/dev/null c 1 3沒有/dev/console是個大坑后面啟動時會話直接起不來這個節(jié)點必須提前創(chuàng)建。然后寫啟動腳本。etc/inittab負(fù)責(zé)告訴 init 進(jìn)程起來以后干什么::sysinit:/etc/init.d/rcS ::respawn:-/bin/sh ::restart:/sbin/initetc/init.d/rcS的內(nèi)容#!/bin/sh mount -t proc proc /proc mount -t sysfs sysfs /sys mount -t devtmpfs devtmpfs /dev echo echo IMX6ULL QEMU rootfs OK echo 記得給 rcS 加執(zhí)行權(quán)限chmod x rootfs/etc/init.d/rcS2.4 制作 ext4 根文件系統(tǒng)鏡像QEMU 里通常把 rootfs 做成一個 ext4 鏡像然后模擬成 SD 卡接進(jìn)系統(tǒng)。大小給 256MB 到 512MB一般 256MB 足夠。dd if/dev/zero ofrootfs.img bs1M count256 mkfs.ext4 rootfs.img如果你用的是新版本的 e2fsprogs1.47 及以上可以直接用-d參數(shù)把目錄內(nèi)容寫進(jìn)鏡像一步到位mkfs.ext4 -d rootfs rootfs.img如果報不支持-d那就掛載后復(fù)制mkdir -p mnt sudo mount rootfs.img mnt sudo cp -a rootfs/* mnt/ sudo umount mnt這一步做完rootfs 準(zhǔn)備完畢。后面內(nèi)核里掛載的就是這個文件。3. 內(nèi)核編譯從 defconfig 到 imx6ull 設(shè)備樹3.1 內(nèi)核源碼選取做 QEMU 環(huán)境我強烈建議用主線內(nèi)核不要用開發(fā)板廠商提供的 BSP 內(nèi)核。原因有二第一廠商 BSP 里的內(nèi)核往往改了很多板級代碼還夾雜著大量針對實體板卡的 NAND 分區(qū)、LCD 初始化、WiFi 模組支持這些配置在 QEMU 里不僅沒用反而可能引發(fā)啟動異常。第二主線內(nèi)核里的 imx6ull 設(shè)備樹和 QEMU 的 machine 模型配合得最干凈你編譯完就能啟動不用做任何 hack。我用的內(nèi)核版本是 6.1.y LTS這個版本足夠穩(wěn)定而且對 imx_v6_v7_defconfig 的支持非常完善。內(nèi)核源碼直接從 kernel.org 下載tar xjf linux-6.1.x.tar.xz cd linux-6.1.x3.2 defconfig 的取舍IMX6ULL 屬于 i.MX 系列里 armv7 架構(gòu)的 SoC主線內(nèi)核里對應(yīng)的默認(rèn)配置是imx_v6_v7_defconfig。這個配置會把 i.MX 系列大部分 SoC 的支持都編進(jìn)去好處是你不用糾結(jié)具體選了哪些選項壞處是編譯時間稍微長一點但完全在可接受范圍內(nèi)。配置命令make ARCHarm CROSS_COMPILEarm-linux-gnueabihf- imx_v6_v7_defconfig接下來有一個容易被忽略的環(huán)節(jié)——檢查關(guān)鍵配置項。執(zhí)行g(shù)rep -E CONFIG_SOC_IMX6ULL|CONFIG_GPIO_IMX|CONFIG_SERIAL_IMX .config這三個配置分別對應(yīng) IMX6ULL SoC 支持、GPIO 驅(qū)動、串口驅(qū)動任何一個缺失都會讓后續(xù)工作卡住。正常 defconfig 下這三個都是開啟的。如果你想用 GDB 調(diào)試內(nèi)核記得額外開啟調(diào)試信息make ARCHarm CROSS_COMPILEarm-linux-gnueabihf- menuconfig在 Kernel hacking → Compile-time checks and compiler options 里勾選Compile the kernel with debug info對應(yīng)配置項是CONFIG_DEBUG_INFO。有了這個后面才能對內(nèi)核下斷點調(diào)試。配置完成后開始編譯內(nèi)核鏡像make ARCHarm CROSS_COMPILEarm-linux-gnueabihf- -j$(nproc) zImage編譯產(chǎn)物在arch/arm/boot/zImage。這一步順利的話說明基礎(chǔ)工具鏈沒問題。3.3 編譯設(shè)備樹設(shè)備樹是 IMX6ULL 驅(qū)動開發(fā)里繞不開的一環(huán)。QEMU 啟動時會把 dtb 加載到內(nèi)存內(nèi)核根據(jù)它來枚舉平臺設(shè)備、匹配驅(qū)動所以 dtb 必須和 SoC 型號一致。在內(nèi)核源碼目錄下執(zhí)行make ARCHarm CROSS_COMPILEarm-linux-gnueabihf- dtbs完成以后找imx6ull-14x14-evk.dtbfind arch/arm/boot/dts -name imx6ull*.dtb注意路徑在不同內(nèi)核版本里有差異。6.1 及更早版本通常在arch/arm/boot/dts/imx6ull-14x14-evk.dtb6.7 之后內(nèi)核把設(shè)備樹源碼結(jié)構(gòu)調(diào)整過文件挪到了arch/arm/boot/dts/nxp/imx/imx6ull-14x14-evk.dtb。找不到就用 find 全盤搜一下這個最保險。設(shè)備樹里有一項需要注意內(nèi)存大小要和 QEMU 的-m參數(shù)匹配。imx6ull-14x14-evk.dtb默認(rèn)聲明 512MB 內(nèi)存我后面啟動時用的就是-m 512M兩者能對應(yīng)上。如果你要改內(nèi)存大小記得同步去改 dtb 或者用 QEMU 的-m參數(shù)對齊不然后果可能是內(nèi)核啟動一半直接 panic。3.4 驗證產(chǎn)物完整性編譯完以后先做一個簡單驗證避免后面啟動時手忙腳亂。核對三個文件是否齊全arch/arm/boot/zImagearch/arm/boot/dts/.../imx6ull-14x14-evk.dtb上一章做的rootfs.img這三個文件是后面 QEMU 啟動命令的全部輸入。4. QEMU 啟動 Linux 的完整命令4.1 啟動參數(shù)逐項拆解萬事俱備現(xiàn)在該上 QEMU 了。我最終使用的啟動命令長這樣qemu-system-arm \ -M mcimx6ull-evk \ -m 512M \ -kernel zImage \ -dtb imx6ull-14x14-evk.dtb \ -drive filerootfs.img,formatraw,ifsd \ -append root/dev/mmcblk0 rw rootfstypeext4 consolettymxc0,115200 panic5 \ -nographic每個參數(shù)都解釋一下知道為什么這么寫遇到問題才能自己排查-M mcimx6ull-evk指定模擬的板卡模型。如果你的 QEMU 版本沒有這個機器名就用mcimx6ul-evk。-m 512M模擬內(nèi)存大小要和 dtb 里聲明的大小匹配。-kernel zImage直接把內(nèi)核鏡像加載到內(nèi)存啟動不需要 U-Boot。這條路徑最簡單QEMU 會自行處理 zImage 的加載地址。-dtb imx6ull-14x14-evk.dtb把設(shè)備樹二進(jìn)制傳給內(nèi)核。-drive filerootfs.img,formatraw,ifsd把 rootfs 鏡像模擬成 SD 卡系統(tǒng)里會出現(xiàn) mmcblk0 設(shè)備。-append內(nèi)核啟動參數(shù)。root/dev/mmcblk0指定根文件系統(tǒng)所在設(shè)備consolettymxc0,115200指定內(nèi)核串口控制臺IMX 系列的第一路 UART 在 Linux 里的設(shè)備名是 ttymxc0panic5指定內(nèi)核 panic 后 5 秒自動重啟調(diào)試時很有用。-nographic把串口輸出重定向到當(dāng)前終端不使用圖形窗口。跑嵌入式模擬基本都是這個用法。4.2 第一次啟動成功的輸出長什么樣輸入啟動命令后你會看到一串內(nèi)核啟動日志最終停在類似這樣的界面... VFS: Mounted root (ext4 filesystem) on device 179:0. devtmpfs: mounted Freeing unused kernel image (initmem) memory: 1024K Run /sbin/init as init process IMX6ULL QEMU rootfs OK / #看到這個/ #提示符恭喜你的 QEMU 環(huán)境已經(jīng)全部跑通了。進(jìn)去先敲幾個命令驗證環(huán)境完整性/ # uname -a Linux (none) 6.1.xx #1 SMP ... armv7l GNU/Linux / # cat /proc/cmdline root/dev/mmcblk0 rw rootfstypeext4 consolettymxc0,115200 panic5 / # ls /sys/bus/platform/devices//sys/bus/platform/devices/下能看到大量由設(shè)備樹生成的 platform 設(shè)備這證明設(shè)備樹已經(jīng)被內(nèi)核正確解析了。到了這一步你已經(jīng)擁有了一個和真實開發(fā)板高度相似的 Linux 運行環(huán)境。4.3 網(wǎng)絡(luò)與外部訪問可選如果你要給 QEMU 加網(wǎng)絡(luò)接法比較直接qemu-system-arm \ -M mcimx6ull-evk \ -m 512M \ -kernel zImage \ -dtb imx6ull-14x14-evk.dtb \ -drive filerootfs.img,formatraw,ifsd \ -append root/dev/mmcblk0 rw rootfstypeext4 consolettymxc0,115200 panic5 \ -netdev user,ideth0 \ -device imx_fec,netdeveth0 \ -nographic進(jìn)系統(tǒng)后用ifconfig -a或者ip link show看有沒有eth0。需要提醒的是QEMU 不同版本對 i.MX 網(wǎng)卡模型的名字和綁定方式有差異如果你用的版本里imx_fec設(shè)備名不對可以用qemu-system-arm -device help | grep -i imx查一下支持列表。說句實話調(diào)試驅(qū)動階段網(wǎng)絡(luò)不是必需品。文件要傳進(jìn)系統(tǒng)更省事的方式是在 rootfs 鏡像制作時就拷貝進(jìn)去或者用 9p 共享目錄我建議新手先把網(wǎng)絡(luò)這層放一放別讓它干擾主線。5. 驅(qū)動調(diào)試從寫代碼到斷點5.1 最小字符設(shè)備驅(qū)動環(huán)境跑通了接下來進(jìn)入正題寫驅(qū)動。我用 misc 設(shè)備框架做例子它比傳統(tǒng)的 register_chrdev 寫起來簡單得多不用手動分配主設(shè)備號適合用來驗證整個工具鏈。文件叫hello.c#include linux/module.h #include linux/fs.h #include linux/miscdevice.h #include linux/uaccess.h #define DEV_NAME hello_imx6ull static ssize_t hello_read(struct file *file, char __user *buf, size_t count, loff_t *ppos) { const char *msg hello from IMX6ULL QEMU!\n; size_t len strlen(msg); if (*ppos len) return 0; if (copy_to_user(buf, msg, len)) return -EFAULT; *ppos len; return len; } static const struct file_operations hello_fops { .owner THIS_MODULE, .read hello_read, }; static struct miscdevice hello_dev { .minor MISC_DYNAMIC_MINOR, .name DEV_NAME, .fops hello_fops, }; static int __init hello_init(void) { int ret; ret misc_register(hello_dev); if (ret) return ret; printk(KERN_INFO hello_imx6ull: module loaded\n); return 0; } static void __exit hello_exit(void) { misc_deregister(hello_dev); printk(KERN_INFO hello_imx6ull: module unloaded\n); } module_init(hello_init); module_exit(hello_exit); MODULE_LICENSE(GPL);配套的 Makefileobj-m : hello.o KDIR ? /path/to/linux-6.1.x all: $(MAKE) -C $(KDIR) M$(PWD) ARCHarm CROSS_COMPILEarm-linux-gnueabihf- modules clean: $(MAKE) -C $(KDIR) M$(PWD) ARCHarm CROSS_COMPILEarm-linux-gnueabihf- clean注意KDIR必須指向你編譯內(nèi)核的那個源碼目錄而且模塊必須和內(nèi)核使用同一個源碼樹、同一個交叉編譯器否則 insmod 時會報 version magic 不匹配。5.2 交叉編譯與加載編譯模塊make正常會生成hello.ko。這里看不出什么特別關(guān)鍵在后面的加載環(huán)節(jié)。把hello.ko放進(jìn) rootfs 的/root目錄里sudo cp hello.ko rootfs/root/ sudo umount mnt # 如果用掛載方式做的鏡像記得重新打包這里有個經(jīng)驗如果你用的是mkfs.ext4 -d rootfs rootfs.img這種一次性生成方式那就在生成鏡像前把 hello.ko 放進(jìn) rootfs 目錄。如果已經(jīng)是鏡像文件就掛載后復(fù)制再卸載。重新啟動 QEMU進(jìn)入系統(tǒng)后加載模塊/ # insmod /root/hello.ko / # cat /proc/misc 127 hello_imx6ull / # cat /dev/hello_imx6ull hello from IMX6ULL QEMU! / # rmmod hello_imx6ull / # dmesg | tail [ xx.xxxxxx] hello_imx6ull: module loaded [ yy.yyyyyy] hello_imx6ull: module unloaded這一整套流程走通說明你已經(jīng)具備在 QEMU 里做驅(qū)動開發(fā)的基本能力了。/proc/misc能看到設(shè)備注冊成功/dev/hello_imx6ull能正常讀寫這不只是“能編譯”而是驅(qū)動從注冊到文件操作接口的全鏈路驗證。5.3 GDB 遠(yuǎn)程調(diào)試內(nèi)核這是 QEMU 環(huán)境比實體板子強太多的地方。實體板子上你想看內(nèi)核某個函數(shù)有沒有被調(diào)用得靠 printk 一點一點打QEMU 里可以直接掛 GDB 斷點。先重新編譯內(nèi)核確認(rèn)開啟CONFIG_DEBUG_INFO然后保留編譯生成的vmlinux文件注意不是 zImage。之后啟動 QEMU 時加兩個參數(shù)qemu-system-arm \ -M mcimx6ull-evk \ -m 512M \ -kernel zImage \ -dtb imx6ull-14x14-evk.dtb \ -drive filerootfs.img,formatraw,ifsd \ -append root/dev/mmcblk0 rw rootfstypeext4 consolettymxc0,115200 panic5 \ -nographic \ -s -S-s表示在 TCP 1234 端口開放 GDB 服務(wù)-S表示暫停 CPU等待調(diào)試器連接后再開始執(zhí)行。打開另一個終端gdb-multiarch vmlinux在 GDB 里(gdb) target remote :1234 (gdb) break do_init_module (gdb) continue這時如果回到 QEMU 終端執(zhí)行insmod /root/hello.koGDB 會立刻命中do_init_module斷點——這是內(nèi)核加載任何模塊都會經(jīng)過的入口函數(shù)。你可以從這里一步步往下看模塊初始化是怎么被調(diào)用的。如果你想直接對hello_init下斷點需要先等模塊加載后讓 GDB 讀取模塊符號方法是在 insmod 前先break do_init_module斷下后再用(gdb) add-symbol-file /path/to/hello.ko 0x地址模塊加載的基地址可以從/proc/modules里讀到。這塊稍微進(jìn)階但掌握了以后你調(diào)試驅(qū)動時的視野會完全不一樣。VS Code 里配好 cortex-debug 或者 Native Debug 插件也能把這套 GDB 流程圖形化適合不習(xí)慣命令行的人。6. 踩過的坑和常見問題解決6.1 啟動卡死在 “Uncompressing Linux... done, booting the kernel”這是最常見的一種翻車現(xiàn)場。內(nèi)核其實已經(jīng)解壓完成但在切換控制臺時輸出中斷了。絕大多數(shù)原因是控制臺參數(shù)不對——很多人習(xí)慣性地寫consolettyS0,115200但 IMX6ULL 的串口在 Linux 里叫ttymxc0。把啟動參數(shù)改成consolettymxc0,115200問題立刻消失。如果還不行檢查 dtb 文件名是不是imx6ull-14x14-evk.dtb以及-M指定的機器名是否支持當(dāng)前 dtb。6.2 機器名選錯導(dǎo)致的行為差異如果你的 QEMU 版本比較老沒有mcimx6ull-evk用mcimx6ul-evk啟動大概率也能跑但設(shè)備樹最好換成imx6ul-14x14-evk.dtb。IMX6UL 和 IMX6ULL 差異不大可設(shè)備樹里外設(shè)的細(xì)節(jié)還是有區(qū)別。我的經(jīng)驗是查一下 QEMU 支持哪些機器名然后讓 dtb 跟著機器名走別混搭。要是系統(tǒng)自帶的 QEMU 實在太老連mcimx6ul-evk都沒有那就直接去官網(wǎng)下載新版源碼編譯./configure --target-listarm-softmmu make -j$(nproc) sudo make install編譯新版 QEMU 本身不復(fù)雜二十分鐘以內(nèi)能搞定。6.3 insmod 報 version magic 不匹配這個報錯信息類似hello: version magic 6.1.0 ... should be 5.15.0 ...原因只有一個模塊和內(nèi)核不是同一個源碼樹編出來的。很多人為了方便模塊用板子廠商給的 SDK 編譯內(nèi)核卻自己下了主線源碼兩邊版本對不上。解決方案是模塊的KDIR必須指向你實際編譯內(nèi)核的那個目錄且CROSS_COMPILE一致。模塊和內(nèi)核用同一套配置、同一個編譯器version magic 自然就對了。6.4 rootfs 起來以后沒有 shell 交互有時候內(nèi)核能掛載 rootfs但輸出停在一行就沒有動靜或者直接 kernel panic。排查順序第一確認(rèn)/dev/console節(jié)點存在這是我在 2.3 節(jié)特意強調(diào)過的點。沒有這個節(jié)點init 進(jìn)程無法打開標(biāo)準(zhǔn)輸入輸出shell 起不來。如果你初始化腳本里有mount -t devtmpfs devtmpfs /dev理論上 devtmpfs 會自動創(chuàng)建 console但保險起見手動創(chuàng)建一次沒壞處。第二確認(rèn)etc/inittab里的::respawn:-/bin/sh寫對了。BusyBox 的 init 和傳統(tǒng) SysV init 語法類似但細(xì)節(jié)不同少一個冒號都會導(dǎo)致行為異常。第三rcS腳本有沒有可執(zhí)行權(quán)限。我犯過最蠢的錯誤就是忘了chmod x結(jié)果每次啟動都靜默失敗查了半天才發(fā)現(xiàn)。6.5 鏡像反復(fù)修改太麻煩如果像我一樣頻繁修改 rootfs每次重新生成 ext4 鏡像會非常浪費時間。我的建議是做一次 NFS 根文件系統(tǒng)把 rootfs 放在主機目錄里通過網(wǎng)絡(luò)掛載QEMU 里改文件即時生效。雖然前面說網(wǎng)絡(luò)屬于進(jìn)階內(nèi)容但 NFS rootfs 在開發(fā)階段的價值極大值得專門花時間配一次。命令大致長這樣guest 內(nèi)核啟動參數(shù)里把root改成 NFS 路徑配合-netdev user的 hostfwd 做端口轉(zhuǎn)發(fā)root/dev/nfs nfsroot10.0.2.2:/path/to/rootfs,vers3 rwQEMU 的 user 網(wǎng)絡(luò)模式下guest 的 10.0.2.2 就是宿主機這個地址組合是固定的。如果你頻繁迭代驅(qū)動模塊這套方案能幫你省下大量重復(fù)打包的時間。這套 QEMU 環(huán)境我到現(xiàn)在還在用哪怕后來拿到了實體開發(fā)板很多基礎(chǔ)驗證工作我還是會先在 QEMU 里跑一遍。驅(qū)動框架、設(shè)備樹匹配、模塊加載這些邏輯性問題在模擬環(huán)境里排查效率遠(yuǎn)高于實體板子畢竟重啟快、可斷點、不怕搞壞。等你把 QEMU 這套鏈路跑熟了再回到真實板子你會發(fā)現(xiàn)自己省下來最多的就是反復(fù)燒寫和串口日志翻找的時間。如果你也打算搭一套按照上面的順序一步步來中間卡住的地方多半都能在第六章里找到答案。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
91丨九色丨43老版熟女| 91熟女丨老女人| 亚洲精品久久久久毛片A片拉屎 | 97人人操人人摸人人爱| 精吧天堂| 久操网线| 老司机福利社视频在线观看| 99色婷婷| 97亚洲色图| 4399成人黄A片| 91M一社| 亚洲密乳AV| 嫩草 人人网精品| 东北丰满熟女国产一区| 人妻丰满熟妇av无码区蜜桃| 天天色综合天天操| 久草午夜| 射丝袜高跟鞋99| 性爱综合一区二区| 亚洲91网站| 国产精品一区av在线| 亚洲揄拍网| 亚洲av综合色区图片亚洲| 东北老女人的激情视频| 国产操逼逼网| 超碰社区97| 五月婷婷六月丁香| 亚一综合久久久久久久久久| 国产精品粉嫩福利在线| 色婷婷影视| 青青色在线观看| 久草精品热视| ji熟女.com| 青草视频人妻在线观看| 日韩有码免费视频| 性开放中文AV高清无码免费看| 亚洲网污污污污| 人人操,操人人| 一二三区视频在线观看| 中文字幕视频一区视频二区| 九色精品视频导航1| 大香蕉日韩欧美| 嗯啊不要啊在线| 精品欧美不卡在线播放| 国产精品久久久久久夜夜夜夜| 欧洲一级性爱视频在线观看| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 欧洲小说色图视频另类| 超碰在线看| 偷拍 亚洲 欧美| 亚洲综合在线高清| a网站免费观看| 黄骗免费网站| 精品久久久一本一道| 人妻天堂综合网| 国产精品一区二区校花| 超碰人人干天天射| 曰韩香蕉97| 欧美老熟另类| 美女刺激久久国产欧美| 亚洲熟女性高潮久久久| 97在线免费看视频| 久久人妻少妇| 美女干逼2| www.激情| 深夜激情无码| 一级日本牲交大片好爽在线看| 亚洲一二三四区在线免费看视频| 人妻一区二区三区| 婷婷五月色| 免费的黄片有限公司| 青女偷拍网| 日本大香蕉| 婷婷五月天成人| 十八岁啪啪视频免费看| 国产主播福利| 99re在线| 日夜精品| 小电影欧美91| 亚洲脚交| 96一区二区| 亚洲综合另类色图| 狠色婷婷久久一区二区三区_| 草b在线 | 无码日韩网站| 一区二区影院| 岛国网址国产 | 乱伦一区二区三区‘| 亚洲天堂男人天堂网| 激情小说亚洲图片| 亚洲免费97免费| 亚洲有码 视频一区| 亚洲成熟国产精品美女| 欧美亚洲另类在线蜜桃| 欧美劲爆视频一区二区| 国产精品一二三在线看| 色乱二区| 激情开心五月天| 欧美午夜一区二区三区| 国产人伦a片信息免费片| 中文字幕一区二区视频在线观看 | 老汉网| 青青草在线成人视频| 一本道综合色图| 大香樵伊人网| 偷拍欧美激情| 粉嫩国产精品久久久| 淫色网综合| 老色69| 大稥蕉免费视频这里只有精品| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 日本三级中国三级99人妇网站| 东亚亚洲无码高清| 日韩中文字幕视频在线观看| 91干熟女| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 欧美1区二区三区公司| 99久久亚洲精品无码毛片潘甜甜| 在线观看高清AV| 国产免a费看黄片在线| 偷拍亚洲熟女视频播放| 操逼不卡中文字幕| 婷婷五月天影院| 人妻激情偷乱视频一区二区三区| 久久9亚洲| oumeizonghese,www| 天天α片| 国产精品白丝AV| 日本不卡在线二区三区| 眼镜人妻101.com| 一类无码操逼视频| 日日操天天操| 午夜欧美神马久久久久| 97超碰影音| 青娱乐91| 久久国产免费激情视频| 国产精品久久久鸭无码的功能| 亚洲色诱惑| 欧美大香蕉在线观看| 久久111| 91久久国外网| WWW.操逼.COM| 国人欧美精品一区二区| 蜜桃成人1区2区3区| 亚洲 欧美 日韩 国产一区二区| 国产综合日韩伦理| 操比国产| 色哟哟-国产专区| 99re在线视频这里只有精品| 欧美一二三| 东京热男人的天堂精品| 久久极品一区二区| 啊啊啊轻点在线观看| 91bbb| 夜夜影视四色| 欧日韩在线观看| 天天综合网网欲色| 婷婷久草一区二区三区| 日本天堂在线播放| 伊人精品久久网站| 中文字幕视频在线观看一区二区| 青久久| 久久久久九九九九| 久久人人看| 人人搡人人肉久久精品| 亚洲欧美日韩偷拍色图| 日韩中文字幕二区| Aa东京男人的天堂| 国产传媒午夜理伦精品| 欧美日日网| 欧美在线综合| 操www| 中文字幕日产av人| 婷婷五月天激情四射| 亚洲精品aa久久伊人| 蜜臀在线免费观看在线免费观看| 人妻熟女一区二区在线视频| 热99这里只有精品| 天操天操夜操夜月操月年年操操| 五月天久久综合网| 欧美日韩国产人人| 国产av又色又爽又黄| 日本天堂网| 男人天堂欧美| 麻豆2区1区天美| 日韩91网| 午夜色婷婷| 麻豆区久久久久亚| 欧美 亚洲 偷拍自拍| 久久熟女久| 久久久久免费看少妇A片特黄| 久久一二三四五六七八九区区区| 色九九久九九| 五月丁香大香蕉| 欧亚 另类 久| 婷婷久草| 久久这里只| 无码又爽又硬又激情免费视频| 精品少妇一区二区| 天天色香欲综合网| 色色毛片| 精品亚州18| 国产精品婬乱一级毛片彝族| 亚洲自拍欧美色综合| 大香蕉黄色一级片免费看| 亚洲综合888| 免费家庭乱伦视频| 十八禁一区二区无码观看| 中文日本免费高清| 97久久国产精品| 99久视频| 久久亚洲AV无码白度| 精品视频123区小说区| 精品无码久久久久久久久果冻糖心| 欧美不卡在线美女| 91人精品妻入口| 欧美中字二区| 五月综合激情| 91碰超| 青青操视频在线| 亚洲无码AV九九九| 丰满人妻-区二区三区免费看 | 丰满人妻一区二区三区四区| 熟女露脸激情自拍视频| renqi久久久久久久久久久久| 国产一区在线看| 青青草在线视频人人想人人上| 97色伦97色伦国产欧美| 91男人天堂网| 四月丁香婷婷| 人人爱人人操人人性| 久久久91福利姬| 920日本午夜免费| a男人的天堂久久一级A毛片| 亚洲伊人久久精品影院| 99色婷婷| 黄色视频60分钟| 欧美日韩中国x| 91在线页| 午夜男女爽爽爽在线视频| 欧美牲| 色在线69堂| 欧美综合自拍成人自拍第二十页| 久久久久亚洲av综合波多野制衣| 91国产丝袜白虎| 成人色女网| 精品少妇一区二区三区在线视频| 亚洲综合电影| 精品超碰色| 天天弄欧美| 丰满人妻大屁一区二区| 欧美成人A√在线一区二区| 天天日骚逼熟女| 嗯嗯啊啊用力视频免费| 婷婷亚洲色| 国产成人综合在线播放| 男啪女色黄无遮挡免费观看| 大逼色网站| oumeizonghese,www| 天天操狠狠日夜夜干超碰撸com视频在线观看 | 99无码狠狠久久| 国产熟女自拍| 日本999精品| 污啪啪啪视频| 六月丁香网| 亚洲一区二区三区不卡国产欧美| 无码78| 丝袜高跟澳门91视频| 污到发麻的视频 国产| 超碰97网址| 欧美亚州综合网图片| 三男一女不戴套的A片| 色噜噜狠狠色综合日日| 国产精品女生av| 欧美日韩国产黄色片| 成人无遮挡毛片免费看| 久久久999日本大片| 欧美顶级黄色大片免费| 日韩无码操逼片| 日本不卡五区| 日本一级特级毛片视频| JuliaAnn丝袜熟女系列| 蜜臀99久| 日本久久超碰| 久久久久久久| 国产久久久| 麻豆av一区二区| 极品出轨视频网站| 亚洲丝袜二区在线| 亚洲高清91| 中国91AV| 99久久无码| 欧美激情激情xxxx欧美专区| 校园春色综合网| 男人天堂欧美| 欧美成人一级麻豆| 亚洲高清视频在线免费观看| 老司机福利青青草| 亚洲一区中文精品| 插穴性爱视频在线观看| 日韩不卡a级视频专区| 91快色色色色色| aaaa少妇高潮大片| 国产自偷自拍一区| 日韩偷拍色图| 欧洲精品在线播放| 亚洲综合骚逼| 97中文综合| 欧美色图第一页| 亚洲天堂久久久久久粉红视频| 91老熟女视频| 超清福利精品视频在线| 加勒比在线视频一区二区三区| 国产精品无码在线| 少妇一线天久久久久久| 久久超碰大香蕉| 涩涩久久精品| 韩日欧亚a级| 91亚洲欧美激情| 91亚洲色图| 中文字幕日韩人妻视频| 午夜大香蕉| 97综合在线观看| baiduhicn.com。| 美女网站黄页| 九九AV| 在线无码视频| 中文字幕精品一区二区精品| 精品亚洲俞拍视频一区| 欧美在线电影| 亚洲密乳AV| 熟妇操花| 国产精品制服丝袜中文字幕日韩一区二区三区 | 久久线上视频免费看| 97精品国产| 丰满人妻无码一区二区三区| 人妻熟女一区在| 日本99一区二区| 97国产|免费| 美女视频尤物网在线看| 91超级碰碰碰| 欧美成人综合| 9色国产精品一区粉嫩| 久久激情亚洲精品无码?V| 色综合色色| 最新av在线| 国产精品诱惑| 国产小u女在线观看| 久久久噜噜噜久久久| 黄色片G G G| 97在线视频免费观看| 婷婷激情五月天小说网| 青青草伊人久久| 91色亚洲| 亚洲AV成人无码一区二区三区在线观看| 黄页18禁| 丰满人妻-区二区三区免费看 | 天天综合网网欲色| 人人插人人搞人人操| 97 视频在线| 欧美综合第一页| 国产一区二区三区精品观看啪| 亚洲美女30b| 欧美翘臀视频网站一区二区三区| 亚欧性爱ab| 亚洲国产精品久久久男人的天堂| 欧差乱伦二三| 日本超碰在线国产一区| 一区二区三区看视频| 日韩性爱小视频在线观看| 欧美色图成人网一区二区 | 亚洲日韩久久精品一区| 人人操我人人干| 国产精品青青草| 啊啊啊啊啊好多水| 欧美色偷拍| 一起草在线视频| 色999亚洲人成色| 丰满欧美放荡少妇在线| 亚乱色| 久久综合久色欧美综合狠狠| 性色生活片久久毛片婬片免费放女人一级毛片| 又黄又粗又硬又长又大| 欧美成熟性爱精品| 国产白领连续中出在线播放| 少妇人妻好深太紧了vr91| 东北老女人的激情视频| 欧美日韩性爱电影在线| 嫩草影院永久在线制服丝袜| 亚洲成a人在线观看久| 亚洲自拍欧美色综合| 黄色片,com| 亚洲国内精品成人不卡| 成年人一级黄色毛片大全在线观看| 伊人 俄罗斯 a v| 日韩无码黄色片| 欧洲亚洲人人爽爽视频| 综合五月婷婷| 精品91日日夜夜超清资源| 欧美黑人猛交春色影视大全| 亚洲在线网站| 97视频www| 亚洲精品a人片在线观看视| 色色青青久久| 伊人AAA| 日韩啊V| 久久国产对白激情浪潮| 丰满人妻av一区二区三区| 欧美人妖内射| 少妇国产不卡| 色噜噜精品一区二区三| 亚洲男人天堂网站| 欧美少妇第一页| 国模不卡| 亚洲无码日韩电影| 青青国产在线拍揄自揄拍| 天天做日日做天天欢。| 外国91| 国产熟女| 91操操| av影片在线观看不卡| 亚洲欧美另类少妇精品| 日韩欧美国产高清视频| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 日韩有码 一区二区三区| 夜精品久无码| 人妻啊啊人妻啊| 国产家庭乱伦性爱视频| 国产激情在线| 欧美后入视频| 校园春色制服丝袜中文字亚洲| 日韩字幕一区| 国产精品福利视频| 97在线观看免费| 伊人成人情色综合| 婷婷综合网| 国产亚洲欧美每日在线| 91处女在线观看| 亚洲日韩久久精品一区| 91在线美女| 国产一区二区视频在线播放| 国产无码精品无码| 久久久精选| 人妻酒店出差被中出免费在线播放| 成人国产精品三级A片| A 天堂| 成人精品久久| 97欧美色综合| 成人综合网 欧美| 婷婷99狠狠| 久久精品国产亚洲AV无码做| 日韩熟女三十乱伦| 九九九999久久久网站| 成人在线午夜视频一区| 四虎884a| 人妻在线臀日韩| 天天干,夜夜爽| 亚洲黄色a级片| 91东京热男人的天堂| 日本大香蕉综合网| 久久久91| 亚洲春色欧美| 亚洲大色鬼| 亚爽爽爽爽爽爽爽爽| 99热97| 91操碰| 欧美性爱精品一区二区| 久久久久久AⅤ无码免费肉站| 岛国1区2区3区在线观看| av中亚| 亚洲中文字幕熟女少妇一区二区| 天操天操夜操夜月操月年年操操| 精品一区二区三区四区外站 | 人妻少妇一区二区| 天天干天天干天天干| 日韩一级片在线看| 日日碰狠狠添天天爽超| 把腿张开老子CAO烂你| av无线看| 91精品人妻电影| 秋霞久久亚洲精品成人| 无码WWW免费视频网站| 操操逼视频| 欧 美 自 拍 偷 拍| 国产精品露脸在线观看| 精品丝袜无码一区二区三APP| 国产精品白领在线观看| 无遮挡男女激烈动态图| 偷拍偷窥与盗摄视频专区| 亚洲精品久久久久毛片A片拉屎 | 91亚洲情色| 亚洲国产精品无石码久久| 97综合激情| 哈哈操电影| 亚洲熟女综合网| 99无码狠狠久久| 亚洲人妻中文在线视频| 亚洲AV无码翔田千里网站| 久久美女国产| 91九色精品熟女内射| 色婷婷成人| 九色 人妻 大香蕉| 91色噜噜狠狠| 大屁股国产在线视频| 老色鬼成人精品视频下载大在线观看| 精品少妇高潮久久| 操碰97| 免费一级性爱久久| 操逼日韩无码 | 少妇内射www在线观看视频| 久久精品中文字幕女同| 9 1果冻精品视频| 欧美色网| 国语国产操逼伊人AV网| 五月综合色| 久久水蜜臀亚洲AV无码精品| 亚洲欧美综合网站| 五十路熟女人妻一区二区在线观看| 欧美视频一| AAAAAAAAA黄片| 97色干| 欧美大香蕉97| 欧美综合中文| 人人贴人人摸| 丰满人妻一区二区三区| 欧美72网页| 亚洲男人在线观看天堂| 天天懆天天日| 99精品网| 香蕉大久久久| 亚洲成人黄色在线观看| 影音先锋国产精品| 精品国产国产AV| 欧美天天干| 欧美性爱www免费版| av天天在线观看| 久久久久无码一妻区| 97超碰超碰| 亚洲综合一区二区| 欧美97视频| 97超碰精品| 国产乱伦性爱AV| 99热aaa| 偷拍盗拍亚洲色图图片| HEYZO高无码国产精品227| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 一区二区三区一亚洲中文字幕、综合区灬 | 91在线精品一区二区三区| 中文字幕 国产区| 99精品伊人| 成人怡红院| 中文字幕 国产 精品 | 懂色AV一区二区三区| 九99久久| 91人妻做a观看视频| 歐美一級亂黃99在綫精品| 美女t无毒不卡不卡| 国产白嫩漂亮KTV在线| AV天堂男人的天堂| 国产无码久久高清| 99re6久热只有精品6在线直播 | 亚洲欧洲无码一区夜| 日韩熟女无码| 伊人97色天使| 大学生美女口爆| 精品久久久久久亚洲| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 人妻激情在线视频| 少妇3P性爱自拍| 91日日| 1769一区| 久久九七| 国产高清精品一区二区三区毛片| 青久操| 久艾草在线精品视频在线观看| 婷婷成人久久久精品| 变态综合色| 久久久久成人蜜桃精品| 亚洲超碰97| 色哟哟国产精品免费网址| 外国91| 精品妇女一区二区三区| 在线综合网| 第四色亚洲色图| 国产探花日韩援交| 91色伦综合| 亞洲久久直播| 色悠悠伊人网五月天| 97av在线视频| 男人天堂欧美| 欧美精品久久96人妻无码| 黑人精品一区二区在线播放| 最新av在线| 97欧美性爱| 欧美日本不卡在线| 日韩美女久久一区二区三区| 精品久久久久久无码| 后入式在线免费观看60秒| 亚洲AV秘 精品久久老牛影视| 青草视频人妻在线观看| 亚洲欧美国产日本一区二区三区| 97在线免费看视频| 精品美女在线视频| 免费作爱一级视频| 亚州综| 国产精品 午夜福利| 中文字幕亚洲永久精品| 综合网亚洲在线| 91丨国产丨白浆| 国产成人自拍视频视频| 青青操日韩| 久久这里都是精品| 国产AV激情无码久久无码| 亚91网| 中文久久一区| 日本3级一区二区免费| 亚洲欧美人妻| 麻豆黄站| 强上我不卡卡| 国产精品自拍欧美在线| 久久久久久久97| 中文字幕精品久久久久人妻红杏ⅰ| 午夜国产成人福利视频| 欧美亚洲中文| 女上位精品在线| 毛片17S| 天天干人妇| 深夜福利黄片| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 97草草| 精品视频123区小说区| xxx0国产在线播放| 91av熟女人妻| 久99在线免费观看视频| 色噜噜人妻丝袜AV资源| AV大香蕉| 免费伦费视频在线观看| av亚欧| 人妻精品一区二区三区| 夜夜 中文视频rt| 爱射综合| 亚洲中文字幕网| 思思热久久成人| 啊啊啊啊啊在线| 国产日产欧产美韩系列麻豆免费| 在线天堂999| 五月婷婷色色| 日本日皮视频逼| 日韩中文字幕精品一区在线| 亚洲91网| 97鸡把在线视频| 91熟女.com| 10000部十八禁看电影| 久久婷婷一区二| 色五月激情综合网| 激情五月天社区| 国产欧美精选自拍一区| 欧美性生活男人的天堂| 啪啪综合网| 久草资源在线| 国产91美女视频| 久久久久久99999国产精品| 亚洲精品一区二区免费在线观看| a男人的天堂| 狠狠中文字幕| 97国产色综合| 超碰爽人妻熟女Av| 116美女午夜| 女同亚洲欧美一二三区久久电影| 一本道综合色图| 香蕉久久国产AV一区二区| 国产激情av女片自拍| 亚洲人妻中文高清| 亚洲天堂人妻熟妇视频| 人人妻人射| 99久久婷婷丁香| 操逼片中文| 亚洲中文日韩精品| 国产免费一区在线观看| 九九aV| 天天操夜夜操| 日韩人妻操B| 久悠悠av| 国产AV天美| 牛牛久久国产精品视频一二三| 免费久久9999| 亚洲丝袜99| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 秋霞一级视频在线观看免费| 中文字幕在线观看二区三区| 人妻22p| 天天综合网~69| 四虎永久在线精品免费网址 | 九九热免费国产视频婷婷伊人五月| 夜夜操天| 啊啊啊97视频| 天堂精品| 综合第一页| 白丝被操91| 亚洲第一精品在线视频| 久久草在线综合视频| 97干在线视频| 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 九久9热| 77国产精品| 极品出轨视频网站| 精品视频一区二区| 国产网红精品| 99热精品在线观看| 国产专区路线| 中文字幕免费看| 97日亚洲欧美| 黄片国产精品一区二区| www.色操逼| 免费的av网| 亚州九九九精品视频| 成人性交免费视屏| 日本一区二区三区午夜观看| 免费操逼视频下载| 欧美精品成人亚洲| 长久操视频| 一区二区高清视频| 三级三级三级a级全黄三| 中文字幕在线观看丝袜| 欧美亚洲日韩16色| 96久久久久| 国产精品无码av在线 | 牛牛aV| 中文字幕视频一区视频二区| 在线五区| 无码人妻一区二区三区色欲aⅴ| 欧亚在线视频| 亚洲日韩青青草色月| 欧美色图另类图片| 亚洲成人日韩小说| 一二三啪啪专区| 久久久久久中文| 久操操AV电影| 久久黄黄| 97视频在线免费| 九九精品无码专区免费| 六六久久日韩不卡| 欧洲一区二区三区四区在线观看| 人妻精品免费一二三区| 大香蕉手机视频| 超碰97首页| 国产精品久久久久久久电影渣男| 激情综合五月| 99日视频在线免费| 99re国产精品视频| 亚洲限制级在线| 91亚洲网| 天堂岛av| 男女啊啊啊啊啊| 久久婷婷综合国际产色怕| 青青草乱入乱欲视频在线观看| 啊啊啊啊啊啊在线观看| 五月丁香久久| 黑白配性爱AV成| 日韩人妻 中文字幕| 嗯嗯啊啊好疼| 亚洲av国产av综合av卡| xxx亚洲午夜天堂| 天天肏天天干| 久操大香蕉手机视频在线看 | 欧美一区二区福利在线| 天欧美在线| 日韩亚洲Av人人夜夜澡人人爽| 人妻熟女av国产网站| 男人的天堂久久狠| 国产精品无码av| 夜夜操一区二区| 亚洲一区二区三区中文字幕| 91性生活久久久| 91久久九九精品国产综合| 久久久噜噜噜久久久| 久久男人天堂| 欧洲免费一区二| 高清有码一区二区| 青青色综合| 高清在线不卡一区二区 视频| 不卡码视频| 强被迫伦姧在线观看无码网站| 国产老熟女| 黄片qw| 国产精品视频播放| 国产曰批免费观看久久久| 不卡一区视频| 亚洲图片欧洲图片aⅴ| 九九九九九九免费视频| 三级片网站在线播放| 新怡红院| 色性综合| 精品日韩人妻视频| 91性感网站| 亚洲国产午夜真人一级片中文字幕精品黄网站| 成年人免费观看网站| 国产精品久久久久av| 91中文字幕制服丝袜免费视频| 五月丁香啪| 97超碰人人操人人操| 欧美白嫩女HD| 美国一区二区免费视频| AV色女综合| 久久25| 亚洲AV噜噜狠狠网址蜜桃动漫| 日日干夜夜欢| h在线看免费版在线看| 天天看天天日| 日本新免费二区三区| 免費黃色視頻觀看一| 久久久亚洲| 美性中文综合网| 女人爽到高潮潮喷18禁网站| 精品91日日夜夜超清资源| 神马久久久久久久久久久久| wwwcaobibi| 男人的天堂2018| 蘋果手機免費看成人Av| 91呆哥人妻| 人人弄人人摸| 亚洲第一男人天堂| 亚洲最大黄网| 亚洲黄网在哪免费看| 欧美人妻少妇| 亚洲色图欧美色图制服诱惑| 五月天激情小说| 欧美激情另类一区二区| 精品国产乱码久久久| 大香蕉十区| 天天躁日日躁AAA片李宗瑞| 久久色精品视频在线| 97一区二压| 狠狠操天天干| 思思热免费在线视频| 美女高潮国产高清| 9久精品视频在线观看| 日本三级韩国三级99| 国产黄片精品在线| 东京热天堂网| 久久精品一区二区三区蜜桃臀| 偷拍网站久久男女男| 日本操BAV| 三级精品三级在线观看| 久久久精精精| 色臀aV| 国产污视频麻豆传媒一区二区| 看一级黄色视频| 91午夜无码| 超碰97护士| 国产精品电| 日本东京热大香蕉a片| 麻豆久久久一区二区| www国产天美久久久| 国产又猛又粗又爽又黄| 91久| 超碰久久.com| 另类专区加勒比| 刺激精品视频| 亚洲成人一二三区| 久久精精区一区二区一蜜桃一区二区| www黄片免费看com| 色操逼网| 五月天婷婷在线看 | 台欧久久精品视频| 九九色色| 五月天色图| 中文字幕免费看大片| 中文字幕一区二区在线日韩精品| 亚洲本色精品一区二区久久| 96精品久久| 日韩一卡二卡三卡| 国产精品白丝www| 激情久久日韩精品中文字幕麻豆| 青青草色插素人| 少妇人妻精品| 97人人爱人人做人人乐| 日本免费一区二| 天美国产精品| 台湾佬激情综合| 亚殴在线| 嫩草 人人网精品| 欧洲射精91| 综合久欧洲| 日韩精品人妻中文字幕有码午| 日韩免费人妻色情网站| 婷婷五月天补不补| 熟女人妻av在线资源,黄色的资源| wwwss在线观看| 99热在线播放| 麻豆精品久久久久久久| 久久久精品国产亚洲伊人| 狠狠综合网| 亚码激情| 婷婷伊人一区| 久久欧洲| 国产精品久久久久久久久久久久久久久| a人欧美综合天堂麻豆| 都市激情人妻一区二区青青操视频| 国产二区三区粉嫩在线| 欧美亚洲成人在线一区二区三区| 亚洲999综合| 不卡六六在线91| 日韩日韩日韩-国产乱码精品一区二区| 久9爱精品| 亚洲久久久久| 国产丝袜欧美在线视频| 成人aⅴ一区二区三区| 一级久久久久久久久久久| 天天插天天操| 欧美黑人猛交春色影视大全| 中文字幕丝袜人妻| 国产精品久久久久久久免牛肉蒲团| 另类专区加勒比| 欧美宗合网| AV麻豆免费一区| 日本视频一区二区三区| 欧美国产日韩高清在线| 日韩美脚一区二区网站| 亚洲激情色片| 色亚洲欧美| 国产91影院| av午夜影院在线播放| 天天爽天天| 狠狠夜色午夜久久综合在线| 久久久一二三四区| 免费操逼91| 久久久久久国产无码精品| 另类在线| 97超碰亚洲| 好涩综合| 欧美性爱第一区| 色色色综合网| 日韩少妇无吗| 亚洲综合97| 欧美日韩操操操| 欧美专区在线| 五十路熟女,国产欧美精品区一区二区三区 | 欧美大香蕉卡久久| 狠操91,com| 国产精品操| 91天堂色男人的天堂| 欧美亚洲性爱一区二区| 久久偷偷色综合蜜桃| 亚洲无线观看久久| 欧美人人AAA| 亚洲码和欧洲精品激情系列| 91大香蕉伊人| 日韩国产欧美伦理在线| 深夜操逼网| 热热色国产一二区AV| 日韩成人私密一级精品av| 欧美婷婷五月天| SS久久| 91人人| 黄片不用下载在线观看| 啊啊啊啊啊在线视频| 91久久婷婷| 欧美日韩性爱无码| 亚洲第一页欧美| 欧中美三级一区二区三区| 天天搞在线综合网| 欧美色图亚洲特色| 亚洲激情视频| 人妻中文在线| 蜜桃臀久久| 久久久久人妻二区精品叶可怜| 国内91熟女人妻丝袜天天精品视频在线 | 97超碰中文| 国产婷婷综合在线观看| 日韩精品99999| 大香蕉性欧美| 亚洲精品aa久久伊人| 欧美aⅴ99久久黑人专区| 日本久久女同性恋视频| 久久,精品一二三| 亚91网| 中文字幕一区日韩精| 97国产精品久久久久| 亚洲制服aⅴ中文字幕| 天天舔九色婷婷| 超碰精品国产无码| 少妇被玩视频二三区| 欧美狠狠| 97资源超碰| 夜夜嗨视频| 狠狠狠一区二区三区| 熟妇熟女一区二区三区| 丁香五月激情综合| 97亚洲色图| 99热这里只有精品9| 操一对老熟妇爽上天视频| 操逼网站地址| 97资源站国产精品| 亚洲激情av| 男人的天堂1024| 精品久久一区二区三区四区五区| 日日摸日日碰夜夜爽视频| 91精品久久久久久综合五月天| 精品免费成人久久| 大香蕉啪啪啪| 精品人妻一区二区三区日产| 男人的天堂在线有码| 国产老女人久久毛| 亚洲一二三四区机械| 日韩一区二区精彩视频| 久久亚洲人妻| 国产精品久久久久中文字幕| 亚洲国产精品久久久久婷婷老年| 国产亚洲色婷婷久久99精品91葵花宝典 | 91色综合激情| 天天草夜夜草高潮片| 亚洲色图综合网| 成人黑料社久久| 97亚洲精品超碰| 久久久啊啊| 中文字幕一区二区日韩网| 亚洲色图 综合| 综合激情婷婷| 久久久新亚洲AV| 一区二区不卡| 免费看日产一区二区三区| 欧美 亚洲| 99国产天美| 特级毛片特黄久久免费看| 伊人网在线点播| 精品久久在线区一区| 欧美精品一区二区少妇免费A片| 九一性生活免费视频| 大香蕉丝袜一级片| 一区在线精品中文字幕| 91美女色视频亚洲| 亚洲九区| 三级日韩一区二区三区| 久久视频,这里只有精品| 99久热| 色欲无码人妻日韩欧美精品| 日韩欧美麻豆| 欧美 亚洲 大香| 无码日韩网站| 在线αⅴ| 蜜桃午夜视频一区二区| 狠狠躁AV| 国产剧情AV不卡在线观看| 热热色中文无码| 日韩无码AB| 大香蕉色十月| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 91在线限制级| 国产成人自拍视频在线| 亚洲阿v天堂在线| 国产吹潮女在线观看| 久久久久精| 五月天婷精品激情| 婷婷干黄色| 啊啊啊好大好深| 人人噜夜夜操| av优播| 强免费黄色网址| 国产精品盗摄 偷窥盗摄| 久久精品电影在线| 少妇色综合| 亚洲棕合电彰| 国产女人高潮视频| 人人操,操人人| 在线播放成人高清免费视频| 青青操在线视频| 亚洲性猛| 白丝AV网站| 另类图片五月| 欧美人人AAA| 欧美一级国产一级| 国产黄色视频久久| 欧美色院| 蜜臀99久久精品久久久久久| 极品后入免费视频| 刺激性视频黄页| 蜜桃臀av在线观看| 亚洲成?V人片在线观看福利| 看大黄色大片原件| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 伊人骚琪琪亚洲天堂网站| 999熟女精品| 欧美亚州综合图片| 综合网欧| 九月AV| 91人妻视频在线| 欧美日不卡| 免费夜夜爱黄色视频毛片| 日韩中文字幕二区| 亚洲操逼视频网站| 成人无码影片视频在线| 91精品国产日韩欧美综合| 操逼逼一区视频| 国产精品久久妻无码网站| 色色毛片| 国产精品黑人一区二区三区| av中亚| 美女诱惑一区| 97天堂| 久久男人天堂| 久久AV无码AV| 国产 日韩,欧美 自拍| 久操免费在线| 国产女大学生AV| 久96热在线观看视频| 深夜福利黄片| 亚洲 中文字幕 精品| 亚洲熟女乱色一区二区三区| 女人与公拘交酡2020视频| 蜜臀99999| 国产又黄又爽又刺激久久久久久| 亚洲中字幕日本一区二区三区| 精品久久久久久久| 中文字幕欧美丝袜07资源| 屁股久久久久久久久久| 欧美黑人熟妇精品91| 啊啊啊免费视频| 韩国一级做a久久久久| 亚洲 无码 偷拍| 日婷婷| 国产精品爽爽v| 成人免费福利网站国产| 亚欧高清在线| www.婷婷五月天| 操狠狠| 国模不卡一本二本三电影| 农村妇女精品一区二区| 国产精品乱码久久久久久| 九九九偷拍| 99热在线观看| 中文人妻av高清一区| 国产区性爱在线视频秋霞豆| 亚洲AV无码乱码在线观看性色| 丁香六月激情综合| 97 亚洲 日韩 欧美 在线| 大香网伊人久久综合网eew| 超碰97首页| 欧美性性性| 国产亚洲色婷婷久久99精品91 - 百度| 国产精品99精品视频网站| 日本一区二区三区四区免费观看| 日本免费亚洲欧美| 青青草原人妻| 少妇精品久久久| 草草草视频| 国产探花日韩援交| 强奸乱伦日韩AV| 久久久人体| 成人久久精品| 美女好片色日本| 91成人高清在线观看| 操逼操操操91| 麻豆区99999| 欧美日韩亚洲国产中文永久天天看| 久久精品国产亚洲av水密被窝| 亚洲最新Av| 色婷亚洲五月在线观看| 国产精品乱码久久久久久久久久久久| 啊啊啊啊啊啊啊在线|