日韩av免费看-一区二区精品在线-高清视频免费在线观看-中文字幕欧美日韩-日韩无套-亚洲国产精品18久久久久久-中文字幕一区二区三区精品-欧美日韩亚洲国产精品-青青草国产精品-日韩少妇激情-av高清一区-91免费看片播放器-a级片黄色-亚洲精品男人天堂-亚洲欧美精品-男女涩涩

信盈達—您身邊的嵌入式&人工智能專家
全國免費咨詢熱線:400-8788-909

嵌入式培訓:如何快速高效掌握Linux內核編譯過程

時間:2018-08-26 00:00:00 來源:信盈達 作者:信盈達

Linux內核編譯

 

一、linux內核的配置與編譯:

 

1.配置內核

 

1)導入默認配置:

 

make xxxx_defconfig

 

1:xxxx表示內核支持的芯片的名稱 比如make exynos_defconfig

 

2:內核源碼中對每個支持的芯片都有默認的配置,默認配置很少只能保證系統完成最基本的功能

 

3:可以通過直接修改.config文件來進行內核的配置(麻煩),所有內核配置的本質都是修改.config文件

 

4:配置文件中xxxx=y表示添加了該功能,注釋表示不添加該功能(減小內核體積)

 

2)修改配置(內核提供了幾種簡單的配置方法,其本質都是修改.config文件中的配置)

 

make gconfig 依賴于GTK庫

 

make xconfig 依賴于QT庫

 

make config 麻煩

 

-> make menuconfig

 

選中的狀態切換:空格

 

搜索一個選項:/

 

[ ] 有兩種狀態。

 

輸入Y,顯示為“*”,表示內核中該功能被選中,相關功能代碼將會被編譯進內核。

 

輸入N,顯示為空,表示內核中該功能沒有被選中。

 

< > 有三種狀態

 

輸入Y,顯示為“*”,表示內核中該功能被選中

 

輸入N,顯示為空,表示內核中該功能沒有被選中

 

輸入M,則顯示為“M”,表示內核中該功能被選為模塊(編譯后與內核鏡像不在同一文件)

 

2.編譯內核

 

make uImage 編譯內核鏡像(編譯選中為“*”的選項到內核)

 

make modules 編譯內核模塊(編譯選中為“M”的選項)

 

make dtbs 編譯設備樹文件(使驅動與設備建立關系的文件)

 

make clean 刪除文件

 

二、在內核中添加子菜單:

 

每一級目錄中都包含一個Kconfig文件,用于生成選配菜單的。按照Kconfig的語法修改對應的Kconfig文件就可以在菜單中添加自己的選項。在一個Kconfig文件中menu是本級菜單,如menu "Character devices",如果我們想在該菜單下自己添加子菜單按照語法添加在menu和endmenu之間即可

 

語法:

 

config FS4412_LED # 固定語法,config XXX,XXX用來與MakeFile關聯,即配置后MakeFile會按照該配置進行編譯

 

tristate "FS4412LED Device Support"

 

# tristate “菜單顯示名稱”;tristate表示該選項有三個狀態<>(即可以選擇成N/Y/M),bool表示有兩個選項[](N/Y)

 

default n

 

# default n 默認是'N',即不添加該功能 default y 默認添加該功能default m 默認編譯成模塊(重新配置后生效)

 

depends on ARCH_EXYNOS4

 

# depends on 依賴的菜單 當有依賴關系的選項沒有被選擇時該選項也不顯示

 

help

 

support leddevice on FS4412 develop board # 幫助文檔 可有可無

 

詳情參考:Documentation/kbuild

 

將自己的模塊添加到菜單的步驟:

 

1.修改Kconfig添加子菜單

 

2.添加對應的.C文件(驅動文件)

 

3.修改對應的Makefile使菜單與編譯關聯(將驅動文件編譯)

 

三、linux內核(uImage)的編譯過程:

 

1.在頂層目錄下執行make uImage

 

2.頂層目錄下的MakeFile

 

155 srctree := $(if $(KBUILD_SRC),$(KBUILD_SRC),$(CURDIR))

 

# srctree為當前MakeFile所在目錄

 

198 ARCH ?= arm # 自己修改的

 

203 SRCARCH := $(ARCH)

 

504 include $(srctree)/arch/$(SRCARCH)/Makefile

 

-> include arch/arm/MakeFile

 

-> 執行make uImage后會根據我們設置的CPU架構,執行對應架構下的MakeFile

 

3.arch/arm/MakeFile

 

291 boot := arch/arm/boot

 

299 BOOT_TARGETS = zImage Image xipImage bootpImage uImage

 

# uImage屬于BOOT_TARGETS中的一個成員

 

304 $(BOOT_TARGETS): vmlinux

 

# 生成uImage就要生成BOOT_TARGETS大目標

 

# 依賴源碼頂層目錄下的vmlinux(編譯過程中生成的文件)

 

305 $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@

 

# Q是對@的封裝 不輸出編譯信息

 

# MAKE是對make -C的封裝 -C表示切換到指定目錄下的MakeFile

 

# $(build)=$(boot) -> build = arch/arm/boot

 

# MACHINE=$(MACHINE) -> MACHINE := arch/arm/mach-exynos

 

# $(boot)/$@ -> arch/arm/boot/uImage

 

-> make -C arch/arm/boot MACHINE=arch/arm/mach-exynos arch/arm/boot/uImage

 

-> 依賴頂層目錄下的vmlinux,切到arch/arm/boot下的MakeFile(參數是MACHINE)執行,在arch/arm/boot/下生成目標uImage(uImage就是在該目錄)

 

/***************MACHINE變量的來源******************/

 

.config/291 CONFIG_ARCH_EXYNOS=y

 

155 machine-$(CONFIG_ARCH_EXYNOS) += exynos

 

-> 在最開始導入配置時產生了.config文件,.config中只對CONFIG_ARCH_EXYNOS進行了賦值(其他都注釋)

 

-> machine-y += exynos 即 machine-y = exynos

 

232 ifneq ($(machine-y),)

 

# 比較machine-y與空的值(machine-y = exynos),不相等

 

233 MACHINE := arch/arm/mach-$(word 1,$(machine-y))/ # word 1,$(machine-y) word為函數 表示從machine-y變量中取第一個單詞

 

-> MACHINE := arch/arm/mach-exynos

 

/********************************************************************/

 

4.arch/arm/boot/Makefile

 

78 $(obj)/uImage: $(obj)/zImage FORCE

 

# 依賴于zImage obj表示當前MakeFile所在路徑 FORCE強制編譯不管是否編譯過

 

79 @$(check_for_multiple_loadaddr)

 

80 $(call if_changed,uimage)

 

81 @$(kecho) ' Image $@ is ready' # 輸出信息

 

-> 依賴當前目錄下的zImage生成uImage

 

-> 追蹤zImage

 

30 ifeq ($(CONFIG_XIP_KERNEL),y)

 

# CONFIG_XIP_KERNEL在.config中定義 沒有賦值

 

41 else

 

54 $(obj)/zImage: $(obj)/compressed/vmlinux FORCE

 

# 依賴arch/arm/boot/compressed/vmlinux(與之前不是同一個)

 

55 $(call if_changed,objcopy)

 

# 使用gcc編譯出的程序都是elf格式的,需要進行二進制格式的轉換

 

56 @$(kecho) ' Kernel: $@ is ready' # 顯示信息

 

51 $(obj)/compressed/vmlinux: $(obj)/Image FORCE

 

# vmlinux依賴于arch/arm/boot/Image

 

52 $(Q)$(MAKE) $(build)=$(obj)/compressed $@

 

# make -C arch/arm/boot/compressed arch/arm/boot/compressed/vmlinux

 

-> 依賴arch/arm/boot/Image,切換到arch/arm/boot/compressed/下的MakeFile生成vmlinux

 

/***********MACHINE參數的引用*******************/

 

arch/arm/boot/Makefile

 

14 ifneq ($(MACHINE),)

 

# arch/arm/MakeFile中傳參進來MACHINE=arch/arm/mach-exynos

 

15 include $(srctree)/$(MACHINE)/Makefile.boot

 

# include arch/arm/mach-exynos/Makefile.boot

 

16 endif

 

arch/arm/mach-exynos/Makefile.boot

 

1 zreladdr-y += 0x40008000

 

# 內核的入口地址(運行起始地址)

 

2 params_phys-y := 0x40000100

 

# uboot和內核協商好的存放參數的位置

 

arch/arm/boot/Makefile

 

22 ZRELADDR := $(zreladdr-y)

 

# ZRELADDR = 0x40008000

 

23 PARAMS_PHYS := $(params_phys-y)

 

# PARAMS_PHYS = 0x40000100

 

24 INITRD_PHYS := $(initrd_phys-y)

 

25

 

26 export ZRELADDR INITRD_PHYS PARAMS_PHYS

 

# 導出讓全局可用

 

/*****************************************************************/

 

5.arch/arm/boot/compressed/MakeFile

 

185 $(obj)/vmlinux: $(obj)/vmlinux.lds $(obj)/$(HEAD) $(obj)/piggy.$(suffix_y).o \

 

186 $(addprefix $(obj)/, $(OBJS)) $(lib1funcs) $(ashldi3) \

 

187 $(bswapsdi2) FORCE

 

# vmlinux依賴很多文件產生

 

# 依賴文件的來源

 

# $(obj)/vmlinux.lds

 

# arch/arm/boot/compressed/vmlinux.lds 鏈接腳本決定elf文件的排版(內核源文件)

 

# $(obj)/$(HEAD) = arch/arm/boot/compressed/$(HEAD)

 

# 25 HEAD = head.o 由 head.S生成(內核源文件)

 

# $(obj)/piggy.$(suffix_y).o

 

# 86 suffix_$(CONFIG_KERNEL_GZIP) = gzip

 

# .config/40 CONFIG_KERNEL_GZIP=y 導入默認配置時配置的內核的壓縮格式

 

# ->suffix_y = gzip

 

# -> $(obj)/piggy.$(suffix_y).o = arch/arm/boot/compressed/piggy.gzip.o 由 piggy.gzip.S(編譯中間生成)生成

 

# $(addprefix $(obj)/, $(OBJS)) # 給變量$(OBJS))添加前綴$(addprefix $(obj)/

 

# 26 OBJS += misc.o decompress.o -> OBJS = misc.o decompress.o

 

# -> $(addprefix $(obj)/, $(OBJS)) = arch/arm/boot/compressed/misc.o decompress.o 由 misc.c decompress.c生成(內核源文件)

 

# 這兩個文件用于解壓內核 內核當中包含了解壓的代碼

 

# $(lib1funcs)

 

# 148 lib1funcs = $(obj)/lib1funcs.o -> lib1funcs = arch/arm/boot/compressed/lib1funcs.o(lib1funcs.S生成)

 

# 150 $(obj)/lib1funcs.S: $(srctree)/arch/$(SRCARCH)/lib/lib1funcs.S(內核源文件)

 

# $(ashldi3)

 

# 154 ashldi3 = $(obj)/ashldi3.o -> ashldi3 = arch/arm/boot/compressed/ashldi3.o(ashldi3.S生成)

 

# 156 $(obj)/ashldi3.S: $(srctree)/arch/$(SRCARCH)/lib/ashldi3.S(內核源文件)

 

# $(bswapsdi2)

 

# 160 bswapsdi2 = $(obj)/bswapsdi2.o -> bswapsdi2 = arch/arm/boot/compressed/bswapsdi2.o(bswapsdi2.S生成)

 

# 162 $(obj)/bswapsdi2.S: $(srctree)/arch/$(SRCARCH)/lib/bswapsdi2.S(內核源文件)

 

/******************************piggy.gzip.o********************************/

 

# 195 $(obj)/piggy.$(suffix_y).o: $(obj)/piggy.$(suffix_y) FORCE -> piggy.gzip.o:piggy.gzip -> piggy.gzip.o依賴piggy.gzip

 

# 192 $(obj)/piggy.$(suffix_y): $(obj)/../Image FORCE -> piggy.gzip:arch/arm/boot/Image FORCE -> piggy.gzip依賴上層目錄的Image

 

-> 退回上層目錄追蹤arch/arm/boot/Image

 

/*************************************************************************/

 

6.arch/arm/boot/MakeFile

 

47 $(obj)/Image: vmlinux FORCE

 

# 依賴頂層源碼下的vmlinux FORCE強制執行

 

48 $(call if_changed,objcopy)

 

49 @$(kecho) ' Kernel: $@ is ready'

 

-> 退回頂層源碼下追蹤vmlinux

 

7.頂層目錄MakeFile

 

817 vmlinux: scripts/link-vmlinux.sh $(vmlinux-deps) FORCE

 

# scripts/link-vmlinux.sh 編譯需要的腳本

 

# 809 vmlinux-deps := $(KBUILD_LDS) $(KBUILD_VMLINUX_INIT) $(KBUILD_VMLINUX_MAIN)

 

# 追蹤得到一些路徑下的源文件

 

# 802 export KBUILD_VMLINUX_INIT := $(head-y) $(init-y)

 

# 803 export KBUILD_VMLINUX_MAIN := $(core-y) $(libs-y) $(drivers-y) $(net-y)

 

# 804 export KBUILD_LDS := arch/$(SRCARCH)/kernel/vmlinux.lds

 

# 鏈接腳本(兩次鏈接過程)

 

逆序總結:uImage由zImage通過uboot中的工具為其添加頭部生成

 

zImage由arch/arm/boot/compressed/vmlinux(elf格式)文件經過二進制格式轉換生成

 

vmlinux由/arch/arm/boot/compressed/piggy.gzip(壓縮后的內核)和misc.c、decompress.c、(用于解壓內核的代碼)按照vmlinux.lds鏈接生成(二次鏈接)

 

piggy.gzip由/arch/arm/boot/Image文件(不包含解壓代碼的二進制內核文件)壓縮得到

 

Image文件是由源碼頂層目錄下的vmlinux(elf格式)經過二進制轉換生成的

 

vmlinux是由一系列的內核源碼與工具按照鏈接腳本arch/arm/kernel/vmlinux.lds鏈接生成(一次鏈接)

 

順序總結:一系列的源碼與工具按照arch/arm/kernel/vmlinux.lds與各級Makefile的規則編譯生成源碼頂層目錄下的vmlinux(elf格式內核)即第一次鏈接

 

vmlinux經過二進制轉換生成arch/arm/boot/Image(二進制格式的內核)

 

Image文件經過壓縮得到piggy.gzip文件(壓縮后的二進制內核)(piggy.gzip文件的運行需要解壓)

 

piggy.gzip與解壓該文件的代碼misc.c、decompress.c、等按照鏈接腳本arch/arm/boot/compressed/vmlinux.lds鏈接成一個文件(第二次鏈接)vmlinux(elf)

 

vmlinux文件經過二進制轉換生成zImage

 

zImage經過添加頭部生成uImage


信盈達2008年在深圳特區南山高新科技園成立。自成立至今近九年來專注為企業和個人提供高端方案設計、高端嵌入式/Android培訓等服務。公司下設信盈達實訓學院、信盈達研發中心、信盈達教學儀器三大業務板塊。九年來公司堅持"技術領先、服務領先",以雄厚的實力和專業的品質成為國內唯一有實力從產品最底層研發到系統層開發的嵌入式實訓、產品解決方案提供商。為中國IT行業提供最具價值的職業教育服務。專業嵌入式、物聯網、人工智能Java、單片機等課程,想了解更多信息點擊立馬咨詢

日韩av免费看-一区二区精品在线-高清视频免费在线观看-中文字幕欧美日韩-日韩无套-亚洲国产精品18久久久久久-中文字幕一区二区三区精品-欧美日韩亚洲国产精品-青青草国产精品-日韩少妇激情-av高清一区-91免费看片播放器-a级片黄色-亚洲精品男人天堂-亚洲欧美精品-男女涩涩
  • <bdo id="4osu4"><source id="4osu4"></source></bdo>
    <li id="4osu4"></li>
  • <li id="4osu4"></li>
    <rt id="4osu4"><delect id="4osu4"></delect></rt>
    <button id="4osu4"><strong id="4osu4"></strong></button>
    <bdo id="4osu4"></bdo>
    主站蜘蛛池模板: 日韩网站在线观看| 欧美成人免费va影院高清| 欧美国产先锋| 国产精品免费看| 亚洲国产精品中文| 久久久精品中文字幕| 亚洲乱码国产乱码精品精| 亚洲午夜av| 欧美激情欧美激情在线五月| 国产欧美一区二区在线观看| 亚洲乱码一区二区| 亚洲精品之草原avav久久| 欧美在线视频a| 欧美日韩免费区域视频在线观看| 悠悠资源网久久精品| 国产一区二区三区在线视频 | 久久天堂精品| 国产欧美在线观看| 日韩中文视频免费在线观看| 亚洲欧美国产毛片在线| 欧美日韩在线综合| 在线视频欧美日韩精品| 欧美在线观看日本一区| 国产日韩欧美| 久久国产精品网站| 久久午夜av| 激情成人在线视频| 日韩天堂av| 欧美极品aⅴ影院| 日韩精品视频在线| 欧美一级午夜免费电影| 国产视频在线观看一区二区| 亚洲国产精品99久久久久久久久| 久久人人超碰| 精品视频在线播放| 欧美呦呦网站| 影音先锋中文字幕一区| 亚洲婷婷综合久久一本伊一区| 欧美日韩亚洲一区二| 中文字幕欧美精品日韩中文字幕| 久久久久九九九| 日韩av中文字幕在线播放| 亚洲欧美另类在线| 激情偷拍久久| 午夜精品福利在线| 激情文学一区| 欧美一级淫片aaaaaaa视频| 狠狠入ady亚洲精品经典电影| 日韩午夜电影在线观看| 国产麻豆91精品| 欧美激情按摩| 色偷偷888欧美精品久久久 | 自拍偷拍亚洲一区| 麻豆亚洲精品| 久久成人精品电影| 欧美日韩在线观看一区二区| 亚洲大胆女人| 国产乱码精品一区二区三区五月婷 | 亚洲第一页自拍| 亚洲深夜影院| 激情久久久久久| 欧美一区二区三区四区在线| 亚洲男人天堂2024| 欧美国产日本高清在线| 亚洲二区视频| 激情六月婷婷久久| 久久这里有精品15一区二区三区| 亚洲性无码av在线| 欧美日韩精品久久久| 亚洲免费不卡| 日韩精品视频在线播放| 欧美激情一区三区| 中文精品视频| 国产亚洲欧洲高清| 国产精品www色诱视频| 亚洲视频福利| 亚洲一区二区久久久| 欧美日韩国产一区二区三区| 亚洲一本视频| 国产一区二区美女视频| 国产精品视频第一区| 亚洲欧美日韩高清| 日韩在线观看视频免费| 国产视频一区三区| 欧美成人精品1314www| 亚洲人成在线免费观看| 国产婷婷色综合av蜜臀av| 欧美精品久久一区二区| 亚洲一区二区三区久久| 久久精品国产亚洲7777| 狠狠色狠狠色综合系列| 欧美精品乱码久久久久久按摩| 一区二区激情| 日韩中文字幕精品视频| 国产一区日韩二区欧美三区| 欧美精品综合| 久久精精品视频| 亚洲日本中文字幕| 亚洲一区二区精品| 一区二区亚洲欧洲国产日韩| 欧美日本亚洲| 每日更新成人在线视频| 午夜精品福利视频| 亚洲精品女人| 欧美精品亚州精品| 国产一区二区三区日韩欧美| 极品中文字幕一区| 国产视频在线观看一区二区| 欧美日韩免费观看一区=区三区| 欧美一区二区在线| 亚洲一区二区三区四区五区黄| 久久视频在线播放| 在线观看日韩视频| 亚洲欧美在线看| 136国产福利精品导航网址应用| 欧美日韩在线视频一区二区| 欧美大片专区| 欧美大胆成人| 欧美xx69| 奶水喷射视频一区| 美日韩精品视频| 久久久久久日产精品| 亚洲欧美自拍偷拍| 一区二区三区视频免费在线观看| 亚洲国产精品va在线看黑人| 久久中国妇女中文字幕| 中文字幕日韩欧美| 在线观看亚洲区| 亚洲免费视频在线观看| 日韩精品高清视频| 亚洲欧洲自拍偷拍| 中文字幕一区二区精品| 日韩中文字幕视频在线观看| 欧美一区国产一区| 亚洲欧美成aⅴ人在线观看| 在线视频你懂得一区二区三区| 亚洲激情图片小说视频| 日韩在线观看精品| 亚洲国产经典视频| 日韩午夜中文字幕| 一区二区三区日韩| 欧美亚洲视频一区二区| 久久美女性网| 欧美日本韩国一区二区三区| 欧美无乱码久久久免费午夜一区 | 久久69精品久久久久久国产越南| 色偷偷av亚洲男人的天堂| 在线播放国产一区中文字幕剧情欧美| 伊人一区二区三区久久精品| 色偷偷偷综合中文字幕;dd| 中文字幕9999| 亚洲国产高清在线| 一区二区日韩欧美| 久久爱www久久做| 蜜桃av一区二区三区| 欧美精品999| 国产精品视频久久一区| 伊人一区二区三区久久精品| 精品一区电影国产| 欧美区在线播放| 99国产精品私拍| 午夜在线a亚洲v天堂网2018| 久久天天狠狠| 欧美日韩国产丝袜另类| 国产精品视频福利| 激情六月综合| 久久久久999| 一区二区三区四区国产| 久久久亚洲高清| 欧美日韩国产精品一区| 国模 一区 二区 三区| 日韩va亚洲va欧洲va国产| 色噜噜狠狠狠综合曰曰曰| 亚洲日本在线观看| 久久久精品动漫| 国产精品激情电影| 亚洲欧美中文另类| 中国成人黄色视屏| 欧美国产精品日韩| 136国产福利精品导航| 欧美大胆在线视频| 久久黄色小说| 国产三级欧美三级日产三级99| 国产一区二区三区在线视频 | 激情综合色综合久久综合| 一本色道久久综合狠狠躁篇怎么玩| 精品国产欧美成人夜夜嗨| 在线视频欧美日韩精品| 欧美成人福利视频| 黄色av成人| 欧美成aaa人片免费看| 亚洲女人天堂av| 欧美精品免费播放| 亚洲欧美日韩区| 中国成人亚色综合网站| 欧美日韩不卡一区| 国产亚洲成精品久久| 亚洲一区bb| 国产精品都在这里| 日韩中文av在线| 久久久久国内| 激情久久久久久| 亚洲精品综合精品自拍| 欧美精品一区二区三区很污很色的 | 国产一区二区三区丝袜| 日韩中文有码在线视频| 久久国产精品久久久| 国产九九视频一区二区三区| 欧美精品一区三区| 麻豆成人在线| 国产午夜精品一区二区三区| 欧美一级片在线播放| 国产一区二区三区精品久久久 | 亚洲视频在线观看网站| 国产精品成av人在线视午夜片| 亚洲色图av在线| 久久成人人人人精品欧| 狠狠做深爱婷婷久久综合一区| 亚洲激情精品| 欧美日韩精品免费观看视频| 中文字幕精品一区久久久久 | 欧美日韩一区三区| 欧美成在线观看| 欧美日本高清视频| 亚洲第一网站| 国产精品国码视频| 亚洲美女精品久久| 国产欧美短视频| 一本色道久久88综合亚洲精品ⅰ | 亚洲欧洲精品一区二区三区不卡| 欧美www视频在线观看| 中文字幕视频在线免费欧美日韩综合在线看| 欧美一级电影久久| 亚洲视屏在线播放| 久久综合国产精品台湾中文娱乐网| 日韩电影中文字幕av| 久久九九精品99国产精品| 日韩精品免费在线视频| 久久国产精品72免费观看| 亚洲精品国产综合区久久久久久久| 午夜精品久久久久久久99樱桃| 在线精品观看| 欧美va天堂| 亚洲国产欧美一区二区三区久久| 国产欧美精品一区aⅴ影院| 一本色道精品久久一区二区三区| 狠狠狠色丁香婷婷综合久久五月| 午夜久久久久久| 尤物九九久久国产精品的特点| 欧美日韩国内| 亚洲在线观看视频网站| 一区二区欧美久久| 国产精品视频专区| 久久久久久久综合色一本| 免费av在线一区| 国产综合网站| 欧美国产欧美综合 | 99爱精品视频| 激情视频一区| 欧美大片国产精品| 亚洲裸体视频| 亚洲美女喷白浆| 国产精品成人播放| 午夜精品久久久久久99热| 中文字幕精品一区久久久久| 国产精品免费网站| 久久亚洲私人国产精品va媚药| 亚洲第一精品久久忘忧草社区| 国精产品99永久一区一区| 久久综合色一综合色88| 亚洲精品视频一区| 亚洲视频在线看| 国产美女高潮久久白浆| 美女主播一区| 亚洲影院在线观看| 欧美成人一区在线| 亚洲欧美变态国产另类| 国产精品久久久亚洲一区| 久久九九国产| 亚洲视频在线看| 色噜噜久久综合伊人一本| 狠狠爱www人成狠狠爱综合网| 欧美成人精品一区二区| 亚洲一区二区精品视频| 亚洲国产欧美国产综合一区 | 欧美91视频| 亚洲欧美日韩爽爽影院| 欧美精品制服第一页| 亚洲女人被黑人巨大进入al| 国产日韩欧美精品一区| 欧美日韩综合一区| 免费一区视频| 久久手机精品视频| 性亚洲最疯狂xxxx高清| 在线视频欧美日韩| 亚洲精品中文在线| 亚洲激情午夜| 久久久久北条麻妃免费看| 亚洲开心激情网| 影音先锋久久久| 国产精品永久免费| 欧美系列电影免费观看| 欧美日本国产视频| 欧美福利电影网| 久久久伊人欧美| 午夜国产精品视频| 亚洲欧美亚洲| 亚洲一区二区视频| 亚洲一级一区| 亚洲永久网站| 亚洲一区影院| 亚洲免费在线播放| 午夜欧美大尺度福利影院在线看| 中文一区二区| 亚洲免费在线播放| 午夜视频久久久| 久久精品国产综合| 久久视频一区二区| 久久字幕精品一区| 欧美电影美腿模特1979在线看| 欧美xxx在线观看| 欧美精品 日韩| 欧美日韩一区在线视频| 欧美性大战久久久久久久| 欧美日韩伊人| 国产亚洲精品bt天堂精选| 国产在线观看91精品一区| 国产在线观看一区| 日韩高清av一区二区三区| 亚洲欧美日韩成人| 久久精品福利视频| 亚洲人成网站777色婷婷| 国产精品99久久久久久白浆小说| 一本综合精品| 欧美一区二区视频观看视频| 久久免费视频在线观看| 欧美精品成人一区二区在线观看 | www.精品av.com| 久久久久北条麻妃免费看| 欧美理论片在线观看| 91久久在线视频| 亚洲图片你懂的| 久久精品国产清高在天天线| 麻豆国产精品777777在线| 欧美激情片在线观看| 国产精品扒开腿爽爽爽视频 | 欧美另类一区| 国产精品一区二区久久| 一区二区三区在线观看欧美| 国产一区二区三区久久精品| 亚洲国产精品一区制服丝袜| 亚洲在线观看| 欧美国产日产韩国视频| 国产精品一区在线观看你懂的 | 美女国内精品自产拍在线播放| 欧美大片免费看| 国产久一道中文一区| 精品亚洲va在线va天堂资源站| 俺也去精品视频在线观看| 亚洲免费av网站| 乱码第一页成人| 国产午夜精品久久久久久久| 中文字幕一区二区三区电影| 一区二区三区四区蜜桃| 老牛国产精品一区的观看方式| 欧美午夜精品一区| 亚洲精品综合精品自拍| 亚洲精品一区中文| 久久久噜噜噜久久| 国产区亚洲区欧美区| 一区二区三区四区精品| 一本大道久久精品懂色aⅴ| 久久精品1区| 国产欧美日韩精品在线| yw.139尤物在线精品视频| 亚洲视频1区2区| 欧美国产在线观看| 亚洲第一二三四五区| 亚洲精品在线免费| 麻豆精品视频在线观看| 在线日韩电影| 亚洲天堂激情| 国产精品午夜电影| 久久成人免费视频| 久久婷婷人人澡人人喊人人爽| 国产日本欧美一区二区三区在线| 日韩中文字幕在线| 久久亚洲欧美| 亚洲精品国精品久久99热| 一本色道久久综合亚洲精品高清| 欧美人体xx| 精品国偷自产在线| 蜜桃久久av| 一区二区三区国产视频| 欧美亚洲日本一区| 伊人久久亚洲美女图片| 中文日韩在线视频| 国产美女精品免费电影| 亚洲欧洲日本一区二区三区| 欧美日韩在线不卡一区| 久久久99久久精品女同性| 久久久久久网| 日韩精品www| 久久精品亚洲精品国产欧美kt∨| 一色屋精品亚洲香蕉网站| 一区二区日韩伦理片| 国产精品一区久久久| 亚洲人成高清| 国产精品草草| 日韩系列在线| 国产午夜精品在线观看| 国产精品99久久久久久久vr | 亚洲一区二区3| 国产精品午夜电影| 亚洲免费成人| 国产综合香蕉五月婷在线| 亚洲少妇中出一区| 亚洲电影免费观看高清完整版在线观看 | 久久女同互慰一区二区三区| 激情综合色综合久久综合| 亚洲一二三区精品| 国产自产在线视频一区| 亚洲欧美国产日韩天堂区| 韩国三级电影久久久久久| 亚洲欧美在线播放| 亚洲激情免费观看| 另类激情亚洲| 久久亚洲国产成人| 国产精品高清网站| 亚洲一区二区精品视频| 国产视频久久久| 欧美伦理91i| 亚洲精品一区二区三区婷婷月| 国产三区二区一区久久 | 亚洲第一网站免费视频| 久久精品视频播放| 色婷婷av一区二区三区久久| 欧美日韩一区二区三区在线看| 亚洲精品欧美| 1024精品一区二区三区| 男人的天堂亚洲在线| 亚洲黄色在线看| 国产九区一区在线| 久久精品一区二区国产| 久久精品电影网| 国产日韩亚洲欧美| 久久一区激情| 亚洲国产mv| 亚洲精品久久久久国产| 欧美日韩视频免费播放| 亚洲男人天堂2024| 中文字幕在线成人| 国产欧美日韩不卡| 免费在线观看成人av| 日韩视频专区| 亚洲精品自在久久| 国产精品久久久久毛片大屁完整版| 亚洲一区二区三区在线观看视频| 在线亚洲国产精品网| 国产一区白浆| 欧美日本一道本| 欧美在线一二三| 亚洲乱码国产乱码精品精可以看 | 一夜七次郎国产精品亚洲| 欧美体内谢she精2性欧美| 亚洲综合精品四区| 久久国产精品久久久久| 日韩成人性视频| 国产日产欧产精品推荐色| 欧美黑人一区二区三区| 欧美一区日本一区韩国一区| 亚洲美女av电影| 久久网福利资源网站| 亚洲精品少妇网址| 韩国三级电影久久久久久| 欧美午夜电影在线观看| 老司机午夜精品视频| 西瓜成人精品人成网站| 一本久久a久久精品亚洲| 欧美成人sm免费视频| 亚洲人a成www在线影院| 在线看片成人| 国产一区二区三区奇米久涩| 亚洲人a成www在线影院| 国产亚洲激情视频在线| 欧美绝品在线观看成人午夜影视| 日韩精品在线免费观看| 国产精品成人一区二区三区吃奶| 欧美影院在线| 一区二区三区国产在线| 久久精品91久久香蕉加勒比 | 一区二区三区在线观看视频| 欧美不卡一卡二卡免费版| 亚洲在线一区| 亚洲美女精品成人在线视频| 久久成人一区二区| 久久精品视频va| 最近2019中文字幕一页二页| 日韩av一区二区在线| 精品91在线| 尤物网精品视频| 国产主播一区| 激情小说另类小说亚洲欧美| 国产亚洲女人久久久久毛片| 国产九色精品成人porny| 国产精品实拍| 国产亚洲综合在线| 国产区在线观看成人精品| 国产日韩欧美一区二区三区四区 | 久久gogo国模裸体人体| 欧美亚洲在线| 久久精品视频在线看| 欧美亚洲一区在线| 久久精品123| 久热爱精品视频线路一| 美女成人午夜| 欧美日韩亚洲在线| 欧美视频一区二区三区四区| 国产精品成人一区二区三区吃奶| 欧美日韩在线观看一区二区| 欧美日韩中文字幕在线| 国产精品日韩欧美一区二区三区| 国产精品一区二区三区成人| 国产亚洲高清视频| 日韩精品亚洲精品| 中文字幕日韩免费视频| 久久伊人色综合| 亚洲乱码国产乱码精品精98午夜| 亚洲视频 欧洲视频| 欧美一区二区三区视频在线 | 最近中文字幕mv在线一区二区三区四区 | 亚洲一区国产视频| 亚洲九九九在线观看| 亚洲色无码播放| 欧美一区二区三区啪啪| 久久深夜福利免费观看| 欧美啪啪成人vr| 国产精品国产三级欧美二区| 精品51国产黑色丝袜高跟鞋| 国产一区二区三区在线播放免费观看| 美日韩精品免费观看视频| 艳女tv在线观看国产一区| 欧美在线免费观看| 欧美精品久久一区| 国内精品久久久久影院优 | 99re6热在线精品视频播放速度| 亚洲一区3d动漫同人无遮挡| 久久精品国产在热久久| 欧美美女操人视频| 国内外成人免费激情在线视频网站 | 久久九九久久九九| 欧美日韩不卡| 欧美三级欧美一级| 国产一区二区视频在线观看| 亚洲欧美国产制服动漫| 亚洲激情成人网| 久久久久久久综合色一本| 欧美性做爰毛片| 亚洲激情小视频| 亚洲精品麻豆| 免费91麻豆精品国产自产在线观看| 国产精品一区免费在线观看| 亚洲最新av网址| 亚洲欧美日本在线| 国产精品激情电影| 最近2019年手机中文字幕| 一区二区不卡在线视频 午夜欧美不卡在 | 性久久久久久久久久久久| 欧美国产激情| 亚洲国产精品一区二区三区| 91久久久久久久久久久久久| 久久野战av| 精品动漫3d一区二区三区免费| 亚洲高清三级视频| 猛干欧美女孩| 亚洲精品久久久一区二区三区 | 欧美无乱码久久久免费午夜一区 | 亚洲精品资源在线| 一本一本久久a久久精品牛牛影视| 欧美成人精品激情在线观看| 亚洲国产精品小视频| 亚洲靠逼com| 欧美视频在线观看视频极品| 中文字幕在线观看亚洲| 欧美在线免费看| 国产亚洲成av人片在线观看桃| 欧美日韩aaaa| 欧美日本二区| 久久视频在线视频| 美日韩精品视频免费看| 亚洲性夜色噜噜噜7777| 久久精品国产99| 亚洲精品国产福利| 午夜久久影院| 亚洲精品国产综合区久久久久久久 | 欧美成人精品一区| 嫩模写真一区二区三区三州| 亚洲欧美一区二区三区四区| 久久av资源网站| 亚洲国产日韩欧美在线99| 亚洲欧美国产不卡| 黄色亚洲大片免费在线观看| 亚洲无线视频| 一区在线播放| 久久久久这里只有精品| 夜夜嗨av色一区二区不卡| 另类av一区二区| 精品久久久999| 欧美视频第二页| 日韩视频在线观看国产| 国产亚洲一区二区三区在线观看| 亚洲一区二区动漫| 日韩av在线高清| 欧美大片在线观看一区| 九九热r在线视频精品|