前段時間看到c1037u多網口版本,很是喜歡,替換的4530r,發現玩openwrt x86的人比較少,寫一篇日記,以備後用,有錯誤之處請指出。
linux
svn co svn:
#svn co svn: -r42625
svn update
#cp feeds.conf.default feeds.conf
./scripts/feeds update -a
./scripts/feeds install -a
這裡給出乙個基本配置,不過其中busybox配置,正常使用預設配置即可,不需要customize busybox options,我為了在日後的initramfs
中加入一些overlayfs
的功能自己加進去了配置,另外的配置基本是x86必須的。
target system (x86) #目標平台選擇
target images --->
[*] ext4 #生成.ext4.img檔案
base system --->
<*> block-mount
<*> busybox ---> #用於今後`initramfs`支援,可以將所有lib編譯到busybox
[*] customize busybox options
busybox settings --->
general configuration --->
[*] 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
[*] findfs
[*] blkid
[*] print filesystem type
[*] losetup
[*] lspci
[*] lsusb
[*] mount
[*] support specifying devices by label or uuid
filesystem/volume identification --->
[*] ext filesystem
[*] fat filesystem
networking utilities --->
[*] ftpd
[*] enable upload commands
[*] enable workaround for rfc-violating clients
[*] inetd
[*] telnetd
[*] support standalone telnetd (not inetd only)
[*] tcpsvd
[*] udpsvd
`kernel` 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
<*> kmod-nls-utf8
network devices ---> #網絡卡驅動
<*> kmod-macvlan
usb support --->
-*- kmod-usb-core
<*> kmod-usb-hid #usb鍵盤
<*> kmod-usb-ohci
<*> kmod-usb-storage
<*> kmod-usb2
<*> kmod-usb3
wireless drivers --->#wifi卡驅動
network --->
<*> hostapd #wifi ap模式
<*> hostapd-common
<*> hostapd-utils
<*> wpa-supplicant
utilities --->#自選 fdisk等
processor type and features --->
[*] symmetric multi-processing support
processor family (core 2/newer xeon) --->
#自行選擇處理器平台
[*] supported processor vendors --->
#自行選擇處理器平台
(2) maximum number of cpus #自行編輯
[*] smt (hyperthreading) scheduler support#超執行緒支援
[*] multi-core scheduler support
high memory support (4gb) --->
編譯
make clean
make -j 5 v=99
#編譯某個包
make packages/***/clean
make packages/***/compile
make packages/***/install
4.編輯menu.lst;
6.啟動
由於openwrt x86一般都是安裝在u盤/tf卡/硬碟等介質上,預設是ext檔案系統,就沒有使用overlayfs
,如果要使用overlayfs
就得用squashfs。由於從路由過度過來,我個人對overlayfs
頗有好感,著手在x86的ext4上加入overlayfs
支援。稍後,會單獨寫一篇關於x86下overlayfs
的文件。
按照如下編譯選項配置,其編譯生成的vmlinuz
是乙個帶initramfs
的kernel
,當然可以在也可以在use external cpio中選擇自定義initramfs
目錄,如果沒選擇use external cpio,openwrt則會將整個rootfs當作initramfs編譯進vmlinuz
.
target images --->
[*] ramdisk #其實就是initramfs
() use external cpio#選擇外部cpio,作為initramfs
如果用gurb載入它,則整個系統會在ramfs上執行,所有配置在重啟後都將不被保留,一般需要在這個上面啟動到另乙個kernel
(kexec)或者switch_root 到另乙個rootfs(真實的磁碟)環境,ramdisk(initramfs
)。因此一般是不勾選編譯選項中的ramdisk選項,自己著手來做initramfs
,加入一些hook(比如加入overlayfs
支援、switch_root到其他rootfs
、乾脆直接kexec到其他kernel
),用gurb的initrd載入,就可以完成系統啟動。
編譯部署mysql 編譯部署MySQL
1.mysql安裝前準備 1.1.安裝依賴包 yum install y ncurses devel libaio devel 1.2.安裝cmake yum install cmake y 1.3.建立使用者 useradd s sbin nologin m mysql id mysql mkdi...
vc編譯執行JM8 6
3 開啟源 根目錄下的工作區 tml.dsw 編碼 4 滑鼠左鍵選中 lencod 工程 5 開啟 project settings debug 在 working directory 選項中填寫 bin,在 program arguments 選項中填寫需要使用的編碼配置檔案,例如 d encod...
為Android x86編譯tcpdump工具
在谷歌和必應上搜尋的android x86專用的tcpdump工具多半不能使用,它們基本上都是在arm架構的安卓手機上使用的,而且版本都較為老舊。由於android x86的linux核心是通用的32位linux,那麼能否在常用的32位linux發行版上直接使用32位的gcc編譯tcpdump,然後...