<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PPP撥號(hào)在ARM2410平臺(tái)上的移植

          PPP撥號(hào)在ARM2410平臺(tái)上的移植

          作者: 時(shí)間:2011-02-25 來源:網(wǎng)絡(luò) 收藏

          本次PPP移植是在三星arm2410的平臺(tái)上進(jìn)行的,所用的工作環(huán)境為:
            Kernel: 2.4.18Sysvinit:2.86Tinylogin:1.4Glibc: 2.2.5CC:3.3PPP: 2.4.1U-boot:1.1.3一、具體操作步驟首先編譯內(nèi)核支持 PPP:
            $make menuconfig l$make ARCH=arm CROSS_COMPILE=/../arm-linux- zImage$./mkimage2410 uImage其中mkimage2410文件來自u(píng)-boot1.1.1 需要根據(jù)你的路徑修改mkimage2410的內(nèi)容,指定mkimage文件的位置。
            第二步,制作文件系統(tǒng):
            1. 編譯Busybox$make menuconfigBuild options ---->
            [*] Build BusyBox as a static binary (no shared libs)[*] Do you want to build BusyBox with a Cross Compiler?
            (/usr/local/arm/3.3/bin/arm-linux-) Cross Compiler prefix$make$make PREFIX=/../rootfs/ install注意:Busybox的README中說用make busybox 來編譯busybox但是這樣做好像有點(diǎn)問題,有時(shí)不能成功,其實(shí)直接用make就行了。
            2. 編譯System V init$cd src$make CROSS=/../arm-linux- PREFIX=/../rootfs/ all$make PREFIX=/../rootfs install3. 編譯 Tinylogin$make CROSS=/../arm-linux- PREFIX=/../rootfs/ all$make PREFIX=/../rootfs install4.交叉編譯 PPP:
            $export CROSS_COMPILE=/../arm-linux-$export CC=/../arm-linux-gcc$make這樣就在目錄: /../ppp-2.4.1/pppd,/../ppp-2.4.1/pppdump,/../ppp-2.4.1/pppstats and /../ppp-2.4.1/chat下得到了可執(zhí)行程序pppd,pppdump,pppstats 和 chat.
            將它們復(fù)制到 /../rootfs/usr/sbin 目錄下移到文件系統(tǒng)根目錄#mkdir etc dev#cd dev#mknod 600 console 5 1#mknod ppp c 108 0#cd ..
            配制/etc目錄下的文件和文件夾,如: inittab fstab host.conf rc.d以便內(nèi)核參正確啟動(dòng)文件系統(tǒng).
            最后,從/../3.3/lib目錄下選出所需要的庫文件放到文件系統(tǒng)根目錄rootfs/lib下面.
            $su#mkdir tmp/initrd#dd if=/dev/zero of=images/initrd.img bs=1k count=8192#/sbin/mke2fs –F –v –m0 images/initrd.img#mount –o loop images/initrd.img tmp/initrd#cp –av rootfs/* tmp/initrd#umount tmp/initrd#exit$gzip –9 images/initrd.img > images/initrd.bin這樣,就得到了我們所需要的uImage 和initrd.bin.將U-boot燒到板子上并設(shè)置好環(huán)境變量后就能通過tftp下載kernel 和ramdisk到目標(biāo)板上運(yùn)行了.
            總結(jié):linux下應(yīng)用程序的移植,實(shí)際上是一個(gè)系統(tǒng)平臺(tái)轉(zhuǎn)換的過程。最好能先在宿主機(jī)(X86)上對(duì)程序源文件進(jìn)行從頭到尾的編譯、連接,讓它首先在宿主機(jī)上跑起來。弄清每一個(gè)步驟及其工作的具體內(nèi)容,在向目標(biāo)板移植的過程中一定要保證交叉編譯,其它文件配置和操作步驟跟宿主機(jī)上幾乎完全一樣。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();