openwrt x86 版安装纪实
来源:互联网 发布:深入浅出数据分析阅读 编辑:程序博客网 时间:2024/04/30 11:28
1. 下载源码
已有编译环境,直接在ubuntu 中 git openwrt 源码
https://dev.openwrt.org/wiki/GetSourcegit clone -b chaos_calmer git://github.com/openwrt/openwrt.gitgit clone git://github.com/openwrt/openwrt.git# 下载较慢
附编译环境的搭建
sudo apt-get updatesudo apt-get install gcc sudo apt-get install g++ sudo apt-get install subversionsudo apt-get install binutils sudo apt-get install patch sudo apt-get install bzip2 sudo apt-get install flex sudo apt-get install bison sudo apt-get install make sudo apt-get install autoconf sudo apt-get install gettext sudo apt-get install texinfo sudo apt-get install unzip sudo apt-get install sharutils sudo apt-get install libncurses5-dev sudo apt-get install ncurses-term sudo apt-get install zlib1g-dev sudo apt-get install gawksudo apt-get install asciidocsudo apt-get install libz-devsudo apt-get install libssl-dev sudo apt-get upgradesudo apt-get install gcc g++ subversion binutils patch bzip2 flex bisonsudo apt-get install gcc make autoconf gettext texinfo unzip sudo apt-get install sharutils libncurses5-dev ncurses-termsudo apt-get install zlib1g-dev gawk asciidoc libz-dev libssl-dev
2. 更新源码
进入源码目录
#cp feeds.conf.default feeds.conf ./scripts/feeds clean -a #清除软件包 ./scripts/feeds update -a #更新软件包 ./scripts/feeds install -a #安装软件包 ./scripts/feeds install xx #安装特定包 //make defconfig #生成通用编译设置,检查编译环境
3. 配置 make menuconfig 编译选项
Target System (x86) #目标平台选择Target Images ---> [*] ext4 #生成.EXT4.IMG文件 [*] Build VMware image files (VMDK) #生成VMDK虚拟机磁盘文件Base system ---> <*> block-mount <*> busybox ---> #用于今后`initramfs`支持,可以将所有lib编译到busybox #[*] Customize busybox options Busybox Settings ---> General Configuration ---> [*] Support --install [-s] to install applet links at runtime [*] Don't use /usr Linux Module Utilities ---> [*] modinfo [*] Simplified modutils [*] Accept module options on modprobe command line [*] Skip loading of already loaded modules (/lib/modules) Default directory containing modules Linux System Utilities ---> [*] mdev [*] Support /etc/mdev.conf [*] Support subdirs/symlinks [*] Support regular expressions substitutions when renaming [*] Support command execution at device addition/removal [*] Support loading of firmwares [*] mount [*] Support specifying devices by label or UUID [*] blkid [*] Print filesystem type [*] findfs [*] losetup [*] lspci [*] lsusb Filesystem/Volume identification ---> [*] Ext filesystem [*] fat filesystem Networking Utilities ---> [*] wget [*] ftpd [*] Enable upload commands [*] Enable workaround for RFC-violating clients [*] inetd [*] tcpsvd [*] telnetd [*] Support standalone telnetd (not inetd only) [*] udpsvdkernel modules ---> Block Devices ---> <*> kmod-ata-core <*> kmod-ata-ahci <*> kmod-loop -*- kmod-scsi-core <*> kmod-scsi-generic Filesystems ---> <*> kmod-fs-ext4 <*> kmod-fs-ntfs <*> kmod-fs-vfat Input modules --->#键盘 -*- kmod-hid <*> kmod-hid-generic -*- kmod-input-core -*- kmod-input-evdev Native Language Support ---> <*> kmod-nls-cp437 #vfat需要这个 <*> kmod-nls-iso8859-1 Netfilter Extensions ---> <*> kmod-nf-nathelper-extra Network Devices ---> #网卡驱动 <*> kmod-macvlan Network Support ---> -*- kmod-gre <*> kmod-gre6 -*- kmod-ppp <*> kmod-mppe -*- kmod-pppoe <*> kmod-pppol2tp -*- kmod-pppox <*> kmod-pptp USB Support ---> -*- kmod-usb-core <*> kmod-usb-hid #usb键盘 <*> kmod-usb-ohci <*> kmod-usb-storage <*> kmod-usb2 <*> kmod-usb3 Wireless Drivers --->#wifi卡驱动Network ---> Captive Portals --> #<*> wifidog Instant Messaging ---> <*> umurmur-openssl VPN ---> #<*> pptpd #<*> strongswan-mod-eap-mschapv2 Web Servers/Proxies --> #<*> nginx #<*> spawn-fcgi <*> hostapd #wifi ap模式 <*> hostapd-common <*> hostapd-utils <*> ppp <*> ppp-mod-pppoe <*> ppp-mod-pppol2tp <*> ppp-mod-pptp <*> ppp-mod-radius <*> wpa-supplicantUtilities --->#自选 fdisk等 Editors ---> <*> nano <*> vim-full database --> #<*> mysql server disc ---> <*> fdisk zoneinfo --> <*> zoneinfo-asia <*> zoneinfo-core <*> shadow-utils Languages --> #PHP --> <*> PHP5 <*> php5-cgi <*> php5-fastcgi <*> php5-mod-ctype <*> php5-mod-curl <*> php5-mod-exif <*> php5-mod-ftp <*> php5-mod-gd <*> php5-mod-iconv <*> php5-mod-json <*> php5-mod-mbstring <*> php5-mod-mcrypt <*> php5-mod-mysql <*> php5-mod-pdo <*> php5-mod-pdo-mysql <*> php5-mod-session <*> php5-mod-sockets <*> php5-mod-sqlite3 <*> php5-mod-tokenizer <*> php5-mod-xml <*> php5-mod-zipLuCI ---> Collections ---> <*> luci Modules ---> <*> luci-base Translations ---> <*> Chinese (zh-cn) Protocols ---> -*- luci-proto-ppp
4. 配置 kernel_menuconfig
Processor type and features ---> [*] Symmetric multi-processing support Processor family (Core 2/newer Xeon) ---> #选择处理器平台 [*] Supported processor vendors ---> [*] Support Intel processors (2) Maximum number of CPUs #支持CPU核心数 [*] SMT (Hyperthreading) scheduler support #超线程支持 [*] Multi-core scheduler support #多核心支持 High Memory Support (4GB) ---> #选择支持最大内存Device Drivers #根据硬件情况选择 <*>ATA/ATAPI/MFM/RLL support(DEPRECATED)---> SCSI device support---> <*>SCSI generic support <*>Serial ATA and Parallel ATA drivers---> <*>AHCI SATA support <*>Intel ESB,ICH,PIIX3,PIIX4 PATA/SATA support (默认选中) <*>VIA SATA support <*>VIA PATA support [*] Multiple devices driver support (RAID and LVM) ---> [*] Network device support ---> #网卡驱动支持,根据硬件情况选择 [*] Ethernet driver support ---> [*] Intel devices <*> Intel(R) PRO/100+ support 52545em
5. 编译
make -j 100 download #下载包,openwrt是基于源码+patch形式,下载过程比较慢,最好在墙外make clean make -j 5 V=99
6.固件
ls bin/x86 # 会看到有以下一些文件,与官方编译的固件名称完全相同,这里大概解释下:openwrt-x86-generic-combined-ext4.img.gz # 包含vmlinuz、rootfs(ext4)、引导信息以及相关分区信息的img,一般是两个分区,可以把它看成是硬盘镜像,直接dd到某个磁盘openwrt-x86-generic-rootfs-ext4.img.gz # rootfs分区镜像,可以直接dd到某个分区,或者mount -o到某个目录openwrt-x86-generic-rootfs-squashfs.img # 同上openwrt-x86-generic-vmlinuz # kernelopenwrt-x86-generic-Generic-rootfs.tar.gz # rootfs用gz打包后的文件 # 可以看出,要让系统启动,需要引导器(x86是使用grub,好比是路由中的uboot,当然uboot管的内容更多)、kernel、rootfs三者。
7. 安装:
步骤①:准备好img文件以及physdiskwrite这个工具。如果你是CF卡或者硬盘,可以在PE下写入,也可以挂载到其他电脑或多硬盘的环境下。
physdiskwrite工具下载:http://blog.ich8.com/file/53
准备好所需文件
步骤②:通过 Windows徽标键 + R 调出 运行 窗口,输入cmd,回车打开命令行窗口。使用x:命令进入相关盘符 cd为进入相关文件夹。x为驱动器盘符。
运行 窗口
步骤③:使用命令:physdiskwrite.exe -u openwrt-ext4.img,回车
使用physdiskwrite来恢复镜像文件
步骤④:回车后会显示以下内容,让你选择对应的要恢复img文件的驱动器。 非常重要!请确认你选择的磁盘,选错将覆盖掉所有分区,导致所有数据丢失。
选择要恢复的驱动器
步骤⑤:选择y,同意将img文件恢复到该驱动器上。回车后就会进行写入操作了。写入完成后你可以将你的磁盘设备放到需要启动的设备上去。
8. 设置
设置密码passwd root设置LuCI端口#/etc/config/uhttpd0.0.0.0:80设置静态IP#vi /etc/config/networkoption proto 'static'option ipaddr '192.168.11.71'option netmask '255.255.255.0'option gateway '192.168.11.1'option dns ‘114.114.114.114 8.8.8.8’重启网卡#ifup wan设置pppoeconfig 'interface' 'wan' option 'ifname' 'eth1' option 'proto' 'pppoe' option 'username' '你的ADSL账号' option 'password' '密码'设置DHCPconfig interface 'wan' option ifname 'eth1' option proto 'dhcp'设置VPNconfig 'interface' 'vpn' option 'ifname' 'pptp-vpn' option 'proto' 'pptp' option 'username' 'vpnusername' option 'password' 'vpnpassword' option 'server' 'vpn.example.org or ipaddress' option 'buffering' '1' option 'pppd_options' 'mppe required'修改VPN配置文件vi /etc/ppp/options.pptp refuse-eap refuse-pap refuse-chap refuse-mschap
9.修改分区大小
用GParted 修改分区大小
10.问题解决
- make: * [world] Error 2
recipe for target 'world' failed#make clean#make dirclean#make tools/clean#make defconfig#make menuconfig
0 0
- openwrt x86 版安装纪实
- 笔记本安装openwrt x86
- WMware上安装Openwrt X86
- 为openwrt x86 安装gevent
- 为openwrt x86安装dnslib
- 在vmware中安装openwrt x86版本
- hyper-v 安装 openwrt x86 squashfs
- Openwrt X86 2014-08-17 版
- openwrt编译x86固件 VMware安装镜像
- openwrt x86 编译部署
- 上门安装路由器,纪实
- Office_Web_App_Server安装配置纪实
- [HowTo] OpenWRT on x86 PC
- VMware虚拟机运行openwrt-x86
- openwrt编译x86固件
- Mplayer 1.0pre5 安装纪实
- FreeBSD 5.4 Release安装纪实
- 安装Linux到移动硬盘纪实
- heartbeat高可用集群+负载均衡+ldirectord后端安全检查
- Build a UI with Layout Editor(翻译文章)Android Studio 可视化界面编辑器
- ContentResolver query方法 参数详解
- Servlet基础
- oracle 11g 静默安装
- openwrt x86 版安装纪实
- ios 视频直播之蓝牙接入并转码成AAC
- 进程间通信 - 邮槽实现
- 【java设计模式】——浅谈设计模式 单例模式
- websphere常用的命令
- Unity3d 5.x角色动画的创建与加载.
- [HTML/CSS]布局学习笔记-企业网站导航首页
- TextView的textIsSelectable属性和setMovementMethod()
- ios监听输出设备变化