Openwrt学习笔记_x86 固件编译部署_2015.8.19修订.doc_第1页
Openwrt学习笔记_x86 固件编译部署_2015.8.19修订.doc_第2页
Openwrt学习笔记_x86 固件编译部署_2015.8.19修订.doc_第3页
Openwrt学习笔记_x86 固件编译部署_2015.8.19修订.doc_第4页
Openwrt学习笔记_x86 固件编译部署_2015.8.19修订.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

openwrt x86 编译部署0.配置编译环境(略)1.获取源代码(略)2.一些问题config文件位置:openwrt config 文件: /.configKernel config 文件:build_dir/target-xxxxxxx/linux-x86_generic/linux-x.xx.xx/.config内核版本更改:3.make menuconfig这里给出一个基本配置,正常使用默认配置即可,不需要Customize busybox options,这些另外的配置基本是x86必须的。为了在以后的initramfs中加入一些overlayfs的功能,添加了一些配置。 Dont use /usr 该项不选!,否则无法生成 /usr/sbin/ntpd-hotplug 及其他文件,导致busybox-*.ipk生成失败! 添加文本编辑工具:Utilities - Editors - nanoUtilities - Editors - vim-full 其中Wifi ap 模式用 wpad 代替 hostapd 和 wpa-supplicant!建立网站支持: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-zipUtilities - database - mysql server #如安装了nginx 则需修改uhttpd 的端口,以便 luci 可通过web 正常访问 Network - Web Servers/Proxies - nginx Network - Web Servers/Proxies - spawn-fcgi Utilities - zoneinfo - zoneinfo-core Utilities - zoneinfo - zoneinfo-asiaUtilities - shadow-utils (可选 shadow-groupadd 和 shadow-useradd)Network - Captive Portals - Server - wifidog4.make kernel_menuconfig目的是为了加入x86的多核心以及大内存支持Device Drivers ATA/ATAPI/MFM/RLL support(DEPRECATED)- SCSI device support-SCSI generic support (kernel module - Block Devices - kmod-scsi-core)Serial ATA and Parallel ATA drivers- AHCI SATA support (kernel module - Block Devices - kmod-ata-ahci)Intel ESB,ICH,PIIX3,PIIX4 PATA/SATA support (默认选中)VIA SATA supportVIA PATA support (根据你的硬件情况选择)*Multiple devices driver support (RAID and LVM) -*Network device support - (网卡驱动支持,根据你的硬件情况选择)* Ethernet driver support -* Marvell devices Marvell MDIO interface support Marvell Yukon Gigabit Ethernet support Marvell Yukon 2 support* Realtek devices Realtek RTL-8139 C+ PCI Fast Ethernet Adapter support() Realtek RTL-8129/8130/8139 PCI Fast Ethernet Adapter support() Realtek 8169 gigabit ethernet support 设置了Power management and ACPI options - * ACPI (Advanced Configuration and Power Interface) Support后,需要在CPU Frequency scaling - x86 CPU frequency scaling drivers - 中选择一个驱动,否则会全速运行! 如果没有设置,在编译时 Inter Enhanced SpeedStep (deprecated) 一项需要手动确认,其他都默认为“n”。5.make编译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三者。简易部署 如果你的磁盘(U盘)只用于openwrt系统,可以使用最简单的用combined.img直接dd到目标盘,这样的好处是简单,坏处是如果你的sdb(磁盘/U盘)很大,就带来空间浪费,虽然可以在rootfs中存数据,但是下次升级系统就带来不必要的麻烦,命令行如下:自定义部署适合有一定基础的兄弟,大致步骤:(1)建立分区、文件系统;(2)用dd将rootfs.ext4.img写入到分区;(3)复制vmlinuz到分区;(4)安装引导如果主板是bios,我习惯用grub4dos,参见无忧启动;如果主板是efi,我习惯用grub2,需要efi文件系统(fat文件系统),在分区的时候要记得加入,参照各大linux发行版。(5)编辑menu.lst;(6)启动7.关于initramfs & overlayfsoverlayfs: 由于openwrt x86一般都是安装在U盘/TF卡/硬盘等介质上,默认是ext文件系统,就没有使用overlayfs,如果要使用overlayfs就得用squashfs。由于从路由过度过来,我个人对overlayfs颇有好感,着手在x86的ext4上加入overlayfs支持。稍后,会单独写一篇关于x86下overlayfs的文档。initramfs: 按照如下编译选项配置,其编译生成的vmlinuz是一个带initramfs的kernel,当然可以在也可以在Use external cpio中选择自定义initramfs目录,如果没选择Use external cpio,openwrt则会将整个rootfs当作initramfs编译进vmlinuz.如果用gurb加载它,则整个系统会在ramfs上运行,所有配置在重启后都将不被保留!一般需要在这个上面启动到另一个kernel(kexec)或者switch_root 到另一个rootfs(真实的磁盘)环境,ramdisk(initramfs)。因此一般是不勾选编译选项中的ramdisk选项,自己着手来做initramfs,加入一些hook(比如加入overlayfs支持、switch_root到其他rootfs、干脆直接kexec到其他kernel),用gurb的initrd加载,就可以完成系统启动。在编译固件的时候,如果机器上有硬盘,引导设备编号需要修改为sdb2、sdc2(根据硬盘数量定,只有一块硬盘时,优盘设置为sdb2,以此类推)。x86的编译要点考虑到x86平台使用的特点,以及 OpenWrt 本身,可参考以下要点1. 编译所有文件系统支持,包括ext2/ext3/ext4,还有NTFS,甚至是LVM;2. 加入一个文本编辑器,例如vi

温馨提示

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

评论

0/150

提交评论