openwrt 移植 mt7620并定制个性版_第1页
openwrt 移植 mt7620并定制个性版_第2页
openwrt 移植 mt7620并定制个性版_第3页
openwrt 移植 mt7620并定制个性版_第4页
openwrt 移植 mt7620并定制个性版_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

openwrt普及及一般操作1.Openwrt源码/wiki/GetSource1.a) trunk开发快照gitclonegit:///openwrt.gitb) branch(基于backfire的分支)attitudeadjustment内核更新至3.3gitclonegit:///12.09/openwrt.gitbarrierbreaker内核更新至3.10(本次实验使用版本)gitclonegit:///14.07openwrt.gitchaoscalmer最新gitclonegit:///15.0!/openwrt.git2.openwrt源码目录includebin存放.mk文件,makefile中使用生成的目标固件3.build_dir/hostbuild_dir/toolchain-<arch>*staging_dir/toolchain-<arch>*target/linux/<platform>target/linux/<platform>/config*dlbuild_dir/package/feeds/packages源码下载、配置编译2.openwrt源码目录includebin存放.mk文件,makefile中使用生成的目标固件3.build_dir/hostbuild_dir/toolchain-<arch>*staging_dir/toolchain-<arch>*target/linux/<platform>target/linux/<platform>/config*dlbuild_dir/package/feeds/packages源码下载、配置编译建立工具链时临时文件对应硬件的工具链的目录对应硬件工具链安装目录目录对应各平台arch相关代码文件就是配置文件就是下载的文件目录下进行解压,编译和打补丁目录里保护所有配置文件中设定的编译好的软件包执行feedsinstall后安装的包1)创建用户Openwrt不能以root用户编译,需要创建一个非root用户2)useraddopenwrt&&passwdopenwort&&su-openwrt源码下载gitclonegit:///14.07openwrt.git./scripts/feedsupdate-a&&./scripts/feedsinstall-a3)配置makemenuconfigTargetSystem->RalinkRT288x/RT3xxxSubtarget->MT7620abasedboardsLuCI->Collections-><*>luci->Translations-><*>luci-i18n-chinese4) 编译makeV=995) 烧写实验bin/rampis/openwrt-ramips-mt7620a-MZK-squashfs-sysupgrade.bin发现可以启动,但是波特率有问题,uboot和内核的不一样修改target/linux/ramips/dts/mt7620a.dtsibootargs="console=ttyS0,57600”重新编译,烧写。发现启动无异常定制sxfgopenwrtdts文件修改cdtarget/linux/ramips/dts/&&cpMZK-750DHPdtsFENGGUANG.dts修改FENGGUANG.dts修改设备名称module="sxfg”(L7)修改flash分区由于我们的flash是16M的,修改firmware分区大小为0xfb0000(L45)(firmware)+(factory)+(uboot-env)+(uboot)=flash(kernel)+(rootfs)=firmware(squashfs(ro))+(jffs2(rw,rootfs_data))=rootfs修改Makefile使其生成定制镜像cdtarget/linux/ramips/image/在MT7620AProfiles下面增加变量Image/Build/Profile/FENGGUANG=$(callBuildFirmware/Default16M/$(1),$(1),sxfg,FENGGUANG)在Image/Build/Profile/Default宏中增加$(callImage/Build/Profile/FENGGUANG,$(1))这样就可以生成*sxfg*的镜像,为了不生成无关的,在宏中删除掉其他的就好解决mtd分区没有对齐问题考虑到openwrt是自动分离内核跟文件系统,因此考虑解决办法是固定内核大小,给内核padding空数据cdtarget/linux/ramips/image/修改Makefile中宏PatchKernelLzmaDtb在压缩内核调用后增加调用$(callKernelPadding,$(KDIR)/vmlinux-$(1)$(3).bin.lzma)在宏PatchKernelLzmaDtb上增加宏及变量kernel_sizekernelsize=15728Q0defineKemeIPaddingif["stat w£(1)"-gt$(kernelsize)]-then\echo"Warningi(11istoobig'" ;IeLse\cp$(1)g|1).tmp;\fiddif=/dev/zerocount=L(hernelsize)/dev/nulL|tr\x00a\\377» (1).tmpddif=$(Lj-tmpcaunt=1bs=S(ketreIsize]2=-/dev/null>Sf1)rmS(1).tmpendefkernel_size=目标大小-64k的uImage的头,这里是0x180000-64k增加mt7620awifi驱动方法一、将驱动直接加入build_dir/target-mipsel_24kec+dsp_uClibc-/linux-ramips_mt7620a/linux-3.10.49,按照一般驱动方法添加方法二、基于方法一,只是将驱动做成patch,将patch放于target/linux/ramips/patches-3.10方法三、将驱动做成一个包,在package中方法一优点简单,粗暴,确点是makedirclean后所做修改就丢失了,不够正规方法二解决了方法一的问题,但是在实验过程中添加目录等没有成功最终采取方法三我的方法是直接下载/qdk0901/openwrt-mt7620openwrt-mt7620-master.zip将其package/rt2860v2拷贝过来配置WiFiS+3 [*] lED5upport[*] /SC(WiFiSimpteConfig)[土] SC2,0(W1F1SimpleConfig?,9)[*]LTDfLirkLayerTopologyDiscoveryProtocol)[*]WDSN]M=SSID[*].p-CLientSupport[]IGMPsnooping[]NeTIFSlock[JPFS[]carrierDetect[1LSII.Direct-LinkSetup)Support[J iDS(IntrusionDetecTionSystem-)Support[*] CoCSupport[]MemoryOptimization[|ideDTurbinesupport[]sez.iinPr^fta[]single5KU至此WiFi驱动添加完成vlan划分方法一、自动生成/home/openwrt/openwrt/target/linux/ramips/base-files/lib/rampise.shrampis_board_detech函数中增加*sxfg)name=sxfg/home/openwrt/openwrt/target/linux/ramips/base-files/etc/uci-defaults/02_networkrampis_setup_interfaces函数中增加sxfg)ucidef_set_sxfg ucidehadd_switch..../home/openwrt/openwrt/package/base-files/files/lib/functions/uci-defaults.sh增加ucidef_set_interfaces_sxfg函数此方法实验后发现数据写入不完全,/etc/config/network没有达到预期效果,即使达到网络也不通方法二、直接写死在系统中package/base-files/files/etc/config/network内容为如图:orazi±±or□-nter±e1J_&rL1cip-t±onupt±on.CTE^tio-no-pr±onCi口>仁±CiTltip-r.±on,op-t±0X1d-fnaitici兰a1=口。_1fc.Aurb户*3匕0r±I3-adLdLi:E~i.a匚皿mskmaudclcLi:r号口.X■inlc.1L'ra~d。七J-口''1p2ss.卫ms.1-70==3:SI.1'2mm二g.O--O4zkt0dQTl^iCr±QEi±f 1e-ttiO„2TCBgs-r.±on:1±*Xra'P't±ont1ta-Eidgre1cjpticm.pEot-crr ticr土OKI丸pmclcLM 1J.22.. S.up■七土oxisictunAskrc»p-r±on. = '"7S: :51-rrdn„Op:04-Llilconfioj_rat-erf>5 r n=pup七土on '«T:biO_3rapt-xcei日匚ot~c;1dlicc?rtip■匚1ori 'TBzaS:61:du:oa:ti2cro-nfxqswitcliQ-p-r±QEloptio-nop-r.1o-n.reset-sri土七uJnD'T1T_UliElL]_rcro-nfionwj_tu~h.、dp-r±qxics-.ptioni=ip-r.±onq1_qo.dgwLuuTrlan.p匚顼1rawd-teciidrOJ.G-C.-ToonTldawll an斗>工土。eiOE?tionvlan11c&p-r.±on.gs-o-izr.il2F2m6iz-co-n-XJ-gsu-J-匚oTl mraop-t;±qxidgwLUQcrFtio-n 'up匚±on, ic-E-s3'S'RJd.t:C±lCI■4右工■-c-on.XJ-g1op-rXqei 1J.d'i-fption o-fccrr3-t-Bifcic:pop-r1utl rr1Z:T_□„aci口11ioxiEietiriA3k1£&&_□.0101ZLCf_Lar

ssid在package/rt2860v勿files/rt2860v2.sh最后面加入/etc/config/wireless需要写入内容,发现这种方法能写入,但需要多次启动,ra0,ra1才会出现直接写文件wirelesspackage/base-files/files/etc/config/wireless内容为wifi—-devioera-d.io-0op-r:±onof>T:±ori.onop'cXan.dn.an.rie1hwmeilepatitmcK±emm 1X11n<rrldlSOOOCia.VjmaaTH.T2OconsrttREMOVETHISop-r:±on-d±aal^-Xa-£±LINETOBNABLEWIFI?1w±f1—1^acei□:p七土crcc-r>tio-ncjF-t-io-nts-p-r±ori±andLevicem■tWBrkmo-dcsa±-^1encrypt:±£aidL±QOlanSRdn.an.rie1hwmeilepatitmcK±emm 1X11n<rrldlSOOOCia.VjmaaTH.T2OconsrttREMOVETHISop-r:±on-d±aal^-Xa-£±LINETOBNABLEWIFI?1w±f1—1^acei□:p七土crcc-r>tio-ncjF-t-io-nts-p-r±ori±andLevicem■tWBrkmo-dcsa±-^1encrypt:±£aidL±QOlanSROpfinWt?Eonnone:w±S.±—zlevicfeic-noF-tio-nop-rlonof>i:Ion.i□:p七土crcCF-dcxi七*IR=mo-d.cQfe-iAnriQ1-cxpower11t=20+40cc-uncryU3#REMOVETHISLIMETOENABLEWIFI7cmdi»at?l-e-d_cL>riWJ_.TrfiS-!—1S'acedLeviaemcidessi-d.endrirF-'t-iopriacc;p--c±cnio-nop-tionEaOapc:pvnwrrt_J_an.onnoneconS'i-srTrf±fi"±—±£"aceop■cionCP--GXGK1c?E>tic-noF-tio-ndLeviaemod.essi-d.eriGirirpt-iEaOap-c:r^«=nwrrt_J_anlonnone这样烧写后发现openwrt_lan1是连接不上的,原因是没有配置dhcp内容为c-Dnxiadmmmao:GP-Llengp-liongp-liongp-lionop-t:ionoptionoptionoptionoptionoptionuptxonxonxonxon■d.o]na.l:n.need.ecl11Tiqcaru-strTltzxrtervrxn.ZJirroTXc-gb.1lse_qiJieE-les十1rirei>ln-dl_E>rotec-t1on,1Trel>in-d_locslh-oat11local—/lan/1doinain1Isn1cme&sn-dhost-3♦1『noneacoche「01stu,th.oritat.ivc11*c-o-nf±5己hcp*LCrpLIonCrpL1O£1CrpLIonCrpLIonCrpL1O£1CrpL1O£1\nvln.eer£ac-eTLan11s'c^r-'c1ZOOTIXn-iln1Z5OTled3eJ.ntetl亦11dli.c-pv6-rmuever11rmTs-erverTdtia-pT1amrqp-t:ii^nuaiii^nuaiii^nop-tionoptionoptionz er£mumTLa.n1rTzoorllznli:T15OrlessetimerL2nTdliciE>v61serverhe:甬13erver'cliic-poptionc&p>tionvrsn'interface,_wani-gra.o=re11■uTtxu口pt:ionc&p>tionc&p>tionopenwrt镜像制作过程mipsel-openwrt-linux-uclibc-objcopy-Obinarylinux-ramips_mt7620a/linux-3.10.49/vmlinuxlinux-ramips_mt7620a/vmlinuxmipsel-openwrt-linux-uclibc-objcopylinux-ramips_mt7620a/linux-3.10.49/vmlinuxlinux-ramips_mt7620a/vmlinux.elfcplinux-ramips_mt7620a/linux-3.10.49/vmlinuxlinux-ramips_mt7620a/vmlinux.debugtarget/linux/ramips/image/MakefileImage/BuildKernelcplinux-ramips_mt7620a/vmlinux.elframips/openwrt-ramips-mt7620a-vmlinux.elfcplinux-ramips_mt7620a/vmlinuxramips/openwrt-ramips-mt7620a-vmlinux.binlzmaelinux-ramips_mt7620a/vmlinuxlinux-ramips_mt7620a/vmlinux.bin.lzmamkimage-Amips-Olinux-Tkernel-a0x80000000-e0x80000000-dlinux-ramips_mt7620a/vmlinux.bin.lzmalinux-ramips_mt7620a/uImage.lzmacplinux-ramips_mt7620a/uImage.lzmaramips/openwrt-ramips-mt7620a-uImage.bintarget/linux/ramips/image/MakefileImage/Buildmksquashfs4root-ramipslinux-ramips_mt7620a/root.squashfs-b256k-p-processors1ddif=linux-ramips_mt7620a/root.squashfsof=ramips/openwrt-ramips-mt7620a-root.squashfsbs=128kconv=synctarget/linux/ramips/image/MakefileMkImageLzmaDtbcplinux-ramips_mt7620a/vmlinuxlinux-ramips_mt7620a/vmlinux-s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论