1. 程式人生 > >編譯x86架構的openwrt系統,讓筆記本從u盤啟動openwrt

編譯x86架構的openwrt系統,讓筆記本從u盤啟動openwrt

    Target System (x86)  ---> 
    Subtarget (Generic)  --->
    Target Profile (Generic)  --->
    Target Images  --->      
  • Target Images配置
    參考配置如下:
    這裡寫圖片描述

主要勾選內容:

[*] ext4  --->  
[*] iso  

[*] squashfs  ---> 

[*] Build VirtualBox image files (VDI)
[*] Build VMware image files
(VMDK)

下面是比較重要的配置

(10) Kernel partition size (in MB) 
(48) Root filesystem partition size (in MB)
()  Root partition on target device 
[ ] Include kernel in root filesystem  ---- 

Kernel partition size (in MB)
核心分割槽大小,預設為 2MB,當我們選上太多核心模組時,編譯出來的核心將大於 2MB 。這時候系統會啟動失敗的。會提示找不到核心。個人建議修改為 10MB

Root filesystem partition size
根檔案系統分割槽大小。預設 48MB

Root partition on target device
根檔案系統所在分割槽位置。預設值為 /dev/sda2
如果我們把openwrt燒寫u盤的話。系統啟動後會提示找不到根檔案系統。因為我們的根檔案系統是在 u盤裡面。所以這個值要清空。

建議在核心模組中把所有網絡卡驅動都選上

  • 編譯
make V=s

最後會在 bin/x86 目錄下生成下面的檔案:

md5sums
openwrt-x86-generic-combined-ext4.img.gz
openwrt-x86-generic-combined-ext4.vdi
openwrt-x86-generic
-combined-ext4.vmdk openwrt-x86-generic-combined-squashfs.img.gz openwrt-x86-generic-combined-squashfs.vdi openwrt-x86-generic-combined-squashfs.vmdk openwrt-x86-generic-Generic-rootfs.tar.gz openwrt-x86-generic.iso openwrt-x86-generic-rootfs-ext4.img.gz openwrt-x86-generic-rootfs-squashfs.img.gz openwrt-x86-generic-vmlinuz packages sha256sums

比較重要的是這幾個檔案:
openwrt-x86-generic.iso 用於燒錄到光碟,從光碟啟動openwrt

openwrt-x86-generic-combined-ext4.img.gz 解壓得到 openwrt-x86-generic-combined-ext4.img,可在linux用 dd 命令燒寫到 u盤 硬碟等

參考u盤
這裡寫圖片描述
可以看到 u盤被分配成兩個區,另外一個區未分配。而已經分配了的兩個區的大小正好和我們前面設定的
(10) Kernel partition size (in MB)
(48) Root filesystem partition size (in MB)
一樣!
沒錯。第一個區就是核心分割槽。第二個是根檔案系統分割槽。

  • 從u盤啟動openwrt
    重啟電腦,選為 u 盤啟動模式,可以看到下面的資訊。成功啟動了openwrt

這裡寫圖片描述
選擇 USB HDD 啟動

這裡寫圖片描述
GUN GRUB ~~!

這裡寫圖片描述