從零開始:自己編譯OpenWrt系統!一個視頻就夠了!100%保證成功!VMwa

定制自己的openwrt系統固件,本地編譯
一,準備工具:
1,虛擬機軟件VMware
2,ubuntu-22.04.2系統
3,SSH登錄工具?finalshell
4,科學上網工具(自備)
二,環(huán)境搭建:
1,安裝好虛擬機,打開軟件,點擊創(chuàng)建新的虛擬機,選擇典型下一步,安裝程序光盤映像,點擊下一步,這過程比較簡單就不多做介紹,注意網卡需要設置成橋接模式。
2,安裝ubuntu系sudo?apt?update?-y統,點擊新建虛擬機,選擇默認進行安裝!
三,編譯固件
注意:
1,不要用?root?用戶進行編譯
2,國內用戶編譯前最好準備好梯子
3,默認登陸IP?192.168.1.1?密碼?password
—————————————————————————————————————————
1,安裝編譯依賴
sudo?apt?update?-y
sudo?apt?full-upgrade?-y
sudo?apt?install?-y?ack?antlr3?asciidoc?autoconf?automake?autopoint?binutils?bison?build-essential?\
bzip2?ccache?cmake?cpio?curl?device-tree-compiler?fastjar?flex?gawk?gettext?gcc-multilib?g++-multilib?\
git?gperf?haveged?help2man?intltool?libc6-dev-i386?libelf-dev?libglib2.0-dev?libgmp3-dev?libltdl-dev?\
libmpc-dev?libmpfr-dev?libncurses5-dev?libncursesw5-dev?libreadline-dev?libssl-dev?libtool?lrzsz?\
mkisofs?msmtp?nano?ninja-build?p7zip?p7zip-full?patch?pkgconf?python2.7?python3?python3-pyelftools?\
libpython3-dev?qemu-utils?rsync?scons?squashfs-tools?subversion?swig?texinfo?uglifyjs?upx-ucl?unzip?\
vim?wget?xmlto?xxd?zlib1g-dev
2,下載源代碼
打開科學上網工具,最好全局!以下源碼三選一下載,也可以使用其他團隊的源碼!
git?clone?https://github.com/openwrt/openwrt???????????官方版本
git?clone?https://github.com/coolsnowwolf/lede?????lede版本
git?clone?-b?22.03?--single-branch?https://github.com/Lienol/openwrt??????lienol版本
cd?openwrt????????????????????????????????????????????????????????????????切換到文件目錄
如需指定openwrt版本,可以使用以下命令
git?tag???????????????????????????????????????????????????????查看穩(wěn)定版,回車鍵拉到最低,按Q結束!
git?checkout?v22.03.3???????????????????????????????指定版本,紅色部分位版本號
3,添加插件或主題
打開openwrt文件夾,找到feeds.conf.default文件打開,添加到最下面!
src-git?amlogic?https://github.com/ophub/luci-app-amlogic???必須添加
src-git?alist?https://github.com/sbwml/luci-app-alist???????????????Alist插件
src-git?passwall_packages?https://github.com/xiaorouji/openwrt-passwall.git;packages
src-git?passwall_luci?https://github.com/xiaorouji/openwrt-passwall.git;luci
src-git?kenzo?https://github.com/kenzok8/openwrt-packages
src-git?argonnew?https://github.com/jerrykuku/luci-theme-argon.git;main????主題
4,更新源碼
./scripts/feeds?update?-a?????????????????????????????????????????更新源碼
./scripts/feeds?install?-a???????????????????????????????????????????拷貝源碼
5,定制openwrt系統
make?menuconfig?????????????????????????????????????????????????????????打開openwrt配置面板
————-————————————————————————————————————
#必須設置項目(CPU架構,鏡像文件格式)
Target?System??->??QEMU?ARM?Virtual?Machine?
Subtarget?->??QEMU?ARMv8?Virtual?Machine?(cortex-a53)
Target?Profile??->??Default
Target?Images??->???tar.gz
***?必選軟件包(基礎依賴包,僅保證打出的包可以寫入EMMC,可以在EMMC上在線升級,不包含具體的應用):
Languages?->?Perl?
->??perl-http-date
->??perlbase-file
??->??perlbase-getopt
->??perlbase-time
->??perlbase-unicode??????????????????????????????
->??perlbase-utf8????????
Utilities?->?Compression?->?bsdtar?或?p7zip(非官方源)、pigz
??????????->?Disc?->?blkid、fdisk、lsblk、parted????????????
->?Filesystem?->?attr?、btrfs-progs(Build?with?zstd?support)、chattr、dosfstools、e2fsprogs、f2fs-tools、f2fsck、lsattr、mkf2fs、xfs-fsck、xfs-mkfs
->?Shells??->??bash?????????
->?gawk、getopt、losetup、tar、uuidgen
***?Wifi基礎包,打出的包可支持博通SDIO無線模塊,Firmware不用選,因為打包源碼中已經包含了來自Armbian的firmware,會自動覆蓋openwrt?rootfs中已有的firmware
Kernel?modules ->?Wireless?Drivers?->?kmod-brcmfmac(SDIO)?
->?kmod-brcmutil
->?kmod-cfg80211
->?kmod-mac80211
->?USB?Support?->?kmod-usb-net-asix????
->?kmod-usb-net-asix-ax88179
->?kmod-usb2
->?kmod-usb3
紅色為選填,如果你需要!USB3.0轉千兆網卡(型號:亞信asix-ax88179)則必選!
Network? ->??WirelessAPD?->?hostapd-common
->?wpa-cli
->?wpad-basic
->??iw
***?插件和主題,語言設置選項,根據需求設置,為了減少編譯失敗的概率,除了必要的晶晨插件,其他都不要安裝,主題也是。可以編譯成功后單獨編譯插件在安裝。
LUCI?->?2.Modules?->?Translations?->?Chinese?simplified?簡體中文?自選
->?3.Applications??->?luci-app-amlogic??晶晨插件,必選
->?4.?Themes???盡量不要安裝,不然容易后臺面板進不去!
######如果需要重新配置##########
方法:使用命令
rm?-rf?./tmp?&&?rm?-rf?.config
make?menuconfig
make?V=s?-j$(nproc)
6,下載?dl?庫,編譯固件?(-j?后面是線程數)
?make?-j8?download?V=s??????????????????????????????????????下載dl庫,V=s?顯示任務詳細情況
make?V=s?-j4????????????????????????????????????????????????????????4代表線程,根據個人實際情況調整
如果編譯失敗,可以執(zhí)行以下命令:
“make?clean”刪除編譯目錄/bin和/build_dir目錄中的文件
“make?dirclean”除了刪除編譯目錄之外還刪除編譯工具目錄,刪除/bin和/build_dir目錄的中的文件(make?clean)以及/staging_dir、/toolchain、/tmp和/logs中的文件,一般在更換CPU架構的情況下才操作。
7,下載編譯壓縮包
編譯完成后輸出路徑:home/用戶名/openwrt/bin/targets
開通SSH登錄方法:
1,必須切換成為root用戶
sudo?-i??????????????
?2,先更新軟件列表和更新軟件????????????????????????
sudo?apt-get?update??????
3,先更新軟件列表和更新軟件??????????
sudo?apt-get?upgrade??????
4,安裝ssh??????????
apt-get?install?ssh??
5,啟動ssh服務????????????????????
sudo?/etc/init.d/ssh?start?
?6,檢查是否有ssh環(huán)境???????????
ps?-e?|?grep?ssh????????????????????????
ubuntu開通root登錄SSH權限
1,?使用普通用戶登錄后切換root
sudo?-i?????
2,創(chuàng)建root管理員密碼?????????????????????????????????????????????????????????????????????????????????
passwd?root???
?3,開啟root登錄?????????????????????????????????????????????????????
sudo?sed?-i?'s/^#\?PermitRootLogin.*/PermitRootLogin?yes/g'?/etc/ssh/sshd_config?
4,開啟密碼驗證
sudo?sed?-i?'s/^#\?PasswordAuthentication.*/PasswordAuthentication?yes/g'?/etc/ssh/sshd_config
5,重啟ssh服務???
service?sshd?restart?????
6,檢查是否有ssh環(huán)境????
ps?-e?|?grep?ssh??????