X86 openWRT 虚拟机编译教程 在ubuntu10中X86 OpenWRT的源码编译

这个是从openwrt Wiki上看到的,转到这做个参考。
http://wiki.openwrt.org/zh-cn/oldwiki/runningkamikazeonvmwarehowto

一、获取软件工具

获得各种工具软件的最新依赖关系包:

sudo apt-get update

直接拷贝下一命令,并执行安装所有要用到的工具软件

sudo apt-get -y install curl wget tree grep gcj texinfo sharutils subversion ncurses-term libtool autoconf automake gcc-multilib bison screen gcc g++ binutils patch bzip2 flex make gettext unzip libc6 git-core build-essential libncurses5-dev zlib1g-dev gawk quilt asciidoc libz-dev

二、获取openWRT源码

进入当前用户home目录,建立文件夹openwrt:

cd ~

mkdir openwrt

cd openwrt

如果你的网络速度较慢,不给力,我将下载好的openWRT(版本:r38938)打包成trunk.tar.gz,大家可以拷贝到本目录后直接解压 tar xvzf trunk.tar.gz即可,然后跳过如下几步,做openWRT配置。

使用svn命令行checkout出源代码:(版本:r38938)

svn checkout svn:svn.openwrt.org/openwrt/trunk –r38938 进入trunk文件夹: cd trunk 更新feeds: ./scripts/feeds update -a 安装所有包: ./scripts/feeds install -a 这个时候,我觉得有必要把LUCI编译进内核,这样就方便以后我们通过web来控制openwrt,而不是通过命令行来控制了。所以加上以下命令: ./scripts/feeds update packages luci ./scripts/feeds install -a -p luci 这样之后,在编译内核时才会出现LuCI选项。 以下为符合此情况的配置:(由于编译时会继续从网络上下载相应的包,所以一旦开始编译,就不要断开连接。但是遇到很大的包,但是下的很慢的,可以中断过程,使用下载过程去相应的网站上下载之后放入) 当你发现dl目录下有长度为0字节的文档时,务必删除,以免make时发生错误。实际上make过程中的错误大部分原因就是因为0字节的文档,发生这种状况后请删除这些文档,重新make即可(当然要保证网络畅通,make过程中会自动下载这些文档)。

三、配置OpenWRT 执行下一个命令,确保使用config的默认配置文件 make defconfig 然后输入下一命令,开始进入内核配置界面 make menuconfig (下面注明的要选上,没有注明但原配置文件已经选了的保持默认。) 1. Target System (x86) —> (X) x86 2. 配目标文件系统为 EXT2 Target Images —> [] ext4 Target Images —> [] Build VMware image files (VMDK) 这样就后面编译时产生可以直接在 VM 上用的虚拟硬盘。 3. 配 Web UI : 1) Base system —> <> uci……………. Utility for the Unified Configuration Interfa 2)LuCI 除了translation只选chinese和english, 都选上 3)kernel modules à wireless drivers选 rt2500-usb, rt2800-usb, rt2800-lib, rt2x00-lib→ enable rt2x00 debugfs supoot , enable rt2x00 debug output, rt2x00-usb, rt73-usb 4. Network à Web server/Proxies à <> uhttpd…………………… uHTTPd - tiny, single threaded HTTP server <*> uhttpd-mod-lua… uHTTPd - tiny, single threaded HTTP server (Lua plugin) 5. Kernel modules à USB Support à kmod-u?b-core(添加usb支持) kmod-u?b-ohci(添加ohci控制器支持) kmod-u?b-storage(添加usb存储设备支持) kmod-u?b-storage-extras (添加额外的USB存储驱动支持) kmod-u?b-uhci(添加uhci控制器支持) kmod-u?b-video(添加视频设备支持) kmod-u?b2(添加usb2支持) kmod-usb2-pci usbip(添加usb-over-ip支持)(准备去掉) usbip-client usbip-server 6. 继续配置以下项目 Utilities à restorefactory , wifitoggle Utilities à Filesystem à badblock , e2fsprogs Base system à block-mount , libstdcpp Network à hostapd Network à p2p à amule Network à Ip Address and Name à dhcpcd Kernel modules à I2C Support à kmod-i2c-algo-pca , kmod-i2c-algo-pcf , kmod-i2c-core Kernel modules à Input modules à kmod-input-core Kernel modules à Video Support à kmod-video-core , kmod-video-uvc , kmod-video-videobuf2 Libraries à libcryptoxx , libexpat , libreadline, libuuid , libwxbase Libraries à Filesystem à libext2fs LuCI à Themes à luci-theme-openwrt 7. 直接编辑配置文件“.config” — vi .config # CONFIG_BINARY_FOLDER=”” # CONFIG_TARGET_IMAGES_GZIP=y # CONFIG_TARGET_ROOTFS_TARGZ=y Target Images à ubifs à UBIFS_JOURNAL_SIZE=”512KiB” 说明: 最终配置好的文档 .config 与这里提供的文档 zyz.config的所有有效项应完全相同。我用比较工具软件“Beyond Compare 3”做比较。 四、编译生成openWRT 在编译前首先说明,编译时间有点长,在网络网速较好的情况下,编译时间大概3,4个小时,第一次编译要下载海量的代码,打包后dl.tar.gz将近500MB,为了方便网速有限的朋友,你可以直接解压到 ~/openwrt/trunk/dl/ 目录下。对于网速不成问题的朋友,建议不要用这种方法,因为我用此法失败过一次,可能是版本不匹配的原因所致。 执行编译命令 make V=99 最后编译出来的openWRT虚拟机文档“openwrt-x86-genericcombined-ext4.vmdk”存放在目录 ~/openwrt/trunk/bin/x86/ 中的。我将该文档改名为“郑郁正.vmdk”,经测试正常,欢迎朋友们试用。

猜你喜欢

转载自blog.csdn.net/buynow123/article/details/48137979
今日推荐