找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 1398|回复: 5

[N1盒子] 站在巨人的肩膀,定制化自己的N1固件就几步

[复制链接]
本帖最后由 huifei 于 2020-3-7 13:12 编辑

站在flippy 大神和 L大 https://github.com/coolsnowwolf/lede 的肩膀上去编一个自己的固件成为一件简单的事。
每个大神编出来的固件,都是大众的口味,我们每个人的需求不同,只想要自己需要的插件,就最近几天的折腾,踩过了不少坑,特分享下。
1、先自己用虚拟机装个ubuntu,我装的是19.10,硬盘别分的太小,动态空间至少30G以上。要不然弄几下就报空间不足。
2、安装更新
#sudo apt-get update
#sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint

3、下载lede
git clone https://github.com/coolsnowwolf/lede
如果你没有完全上网,那可能速度比较慢,你可以先用F大的固件先弄个完全上网,再来弄就简单多了。
命令下载好源代码,然后 cd lede 进入目录
cd lede
./scripts/feeds update -a
   ./scripts/feeds install -a
4、 使用  make menuconfig 定制你的包  下面给个基本包:
这是github里面action云编译的文件脚本。你可以根据这个内容修改你的.config
  #          # ========================固件定制部分========================
          #
          #
          # 如果不对本区块做出任何编辑, 则生成默认配置固件.
          #
          # 以下为定制化固件选项和说明:
          #
          #
          # 有些插件/选项是默认开启的, 如果想要关闭, 请参照以下示例进行编写:
          #
          #          =========================================
          #         |  # 取消编译VMware镜像:                   |
          #         |  cat >> .config <<EOF                   |
          #         |  # CONFIG_VMDK_IMAGES is not set        |
          #         |  EOF                                    |
          #          =========================================
          #
          #
          # 以下是一些提前准备好的一些插件选项.
          # 直接取消注释相应代码块即可应用. 不要取消注释代码块上的汉字说明.
          # 如果不需要代码块里的某一项配置, 只需要删除相应行.
          #
          # 如果需要其他插件, 请按照示例自行添加.
          # 注意, 只需添加依赖链顶端的包. 如果你需要插件 A, 同时 A 依赖 B, 即只需要添加 A.
          #
          # 无论你想要对固件进行怎样的定制, 都需要且只需要修改 EOF 回环内的内容.
          #
          # 编译x64固件:
          cat >> .config <<EOF
          CONFIG_TARGET_armvirt=y
          CONFIG_TARGET_armvirt_64=y
          CONFIG_TARGET_armvirt_64_Default=y
          EOF
          # 固件压缩:
          cat >> .config <<EOF
          CONFIG_TARGET_IMAGES_GZIP=y
          # CONFIG_TARGET_ROOTFS_CPIOGZ is not set
          # CONFIG_TARGET_ROOTFS_SQUASHFS is not set
          # CONFIG_TARGET_ROOTFS_INITRAMFS is not set
          # CONFIG_TARGET_INITRAMFS_COMPRESSION_NONE is not set
          EOF
          # 多文件系统支持:
          cat >> .config <<EOF
          CONFIG_PACKAGE_kmod-fs-antfs=y
          CONFIG_PACKAGE_kmod-fs-autofs4=y
          CONFIG_PACKAGE_kmod-fs-btrfs=y
          CONFIG_PACKAGE_kmod-fs-exfat=y
          CONFIG_PACKAGE_kmod-fs-exportfs=y
          CONFIG_PACKAGE_kmod-fs-ext4=y
          CONFIG_PACKAGE_kmod-fs-f2fs=m
          CONFIG_PACKAGE_kmod-fs-fscache=m
          CONFIG_PACKAGE_kmod-fs-isofs=m
          CONFIG_PACKAGE_kmod-fs-jfs=m
          CONFIG_PACKAGE_kmod-fs-ksmbd=y
          CONFIG_KSMBD_SMB_INSECURE_SERVER=y
          CONFIG_PACKAGE_kmod-fs-msdos=y
          CONFIG_PACKAGE_kmod-fs-nfs=y
          CONFIG_PACKAGE_kmod-fs-nfs-common=y
          CONFIG_PACKAGE_kmod-fs-nfs-common-rpcsec=y
          CONFIG_PACKAGE_kmod-fs-nfs-v3=m
          CONFIG_PACKAGE_kmod-fs-nfs-v4=y
          CONFIG_PACKAGE_kmod-fs-nfsd=y
          CONFIG_PACKAGE_kmod-fs-reiserfs=m
          CONFIG_PACKAGE_kmod-fs-squashfs=m
          CONFIG_PACKAGE_kmod-fs-vfat=y
          CONFIG_PACKAGE_kmod-fs-xfs=y
          CONFIG_PACKAGE_kmod-fuse=y
          EOF
          #WIFI Firemware支持:
          cat >> .config <<EOF
          CONFIG_PACKAGE_brcmfmac-firmware-4329-sdio=y
          CONFIG_PACKAGE_brcmfmac-firmware-43362-sdio=y
          CONFIG_PACKAGE_brcmfmac-firmware-43430-sdio=y
          CONFIG_PACKAGE_brcmfmac-firmware-43430-sdio-rpi-3b=y
          CONFIG_PACKAGE_brcmfmac-firmware-43430-sdio-rpi-zero-w=y
          CONFIG_PACKAGE_brcmfmac-firmware-43430a0-sdio=y
          CONFIG_PACKAGE_brcmfmac-firmware-43455-sdio=y
          CONFIG_PACKAGE_brcmfmac-firmware-43455-sdio-rpi-3b-plus=y
          CONFIG_PACKAGE_brcmfmac-firmware-43455-sdio-rpi-4b=y
          CONFIG_PACKAGE_brcmfmac-firmware-usb=y
          CONFIG_PACKAGE_wirele违禁软件egdb=y
          CONFIG_PACKAGE_edgeport-firmware=y
          EOF
          #Wireless Drivers
          cat >> .config <<EOF
          CONFIG_PACKAGE_kmod-brcmfmac=y
          CONFIG_BRCMFMAC_SDIO=y
          CONFIG_PACKAGE_kmod-brcmutil=y
          CONFIG_PACKAGE_kmod-cfg80211=y
          CONFIG_PACKAGE_kmod-mac80211=y
          CONFIG_PACKAGE_MAC80211_MESH=y
          EOF
          #Input modules支持:
          cat >> .config <<EOF
          CONFIG_PACKAGE_kmod-hid=y
          CONFIG_PACKAGE_kmod-hid-generic=y
          CONFIG_PACKAGE_kmod-input-core=y
          CONFIG_PACKAGE_kmod-input-evdev=y
          CONFIG_PACKAGE_kmod-mmc=y
          CONFIG_PACKAGE_kmod-usb-uhci=y
          CONFIG_PACKAGE_kmod-usb-wdm=y
          CONFIG_PACKAGE_kmod-usb2=y
          CONFIG_PACKAGE_kmod-usb3=y
          CONFIG_PACKAGE_kmod-usbip=y
          CONFIG_PACKAGE_kmod-usbip-client=y
          CONFIG_PACKAGE_kmod-usbip-server=y
          CONFIG_PACKAGE_kmod-usbmon=y
          EOF
          # 常用LuCI插件选择:
          cat >> .config <<EOF
          # CONFIG_PACKAGE_luci-app-adbyby-plus is not set
          CONFIG_PACKAGE_luci-app-accesscontrol=y
          CONFIG_PACKAGE_luci-app-arpbind=y
          CONFIG_PACKAGE_luci-app-autoreboot=y
          CONFIG_PACKAGE_luci-app-ddns=y
          CONFIG_PACKAGE_luci-app-filetransfer=y
          CONFIG_PACKAGE_luci-app-firewall=y
          CONFIG_PACKAGE_luci-app-flowoffload=y
          CONFIG_PACKAGE_luci-app-nlbwmon=y
          CONFIG_PACKAGE_luci-app-ramfree=y
          # CONFIG_PACKAGE_luci-app-sqm is not set
          CONFIG_PACKAGE_luci-app-乳酸菌饮料-plus=y
          CONFIG_PACKAGE_luci-app-乳酸菌饮料-plus_INCLUDE_s-s=y
          CONFIG_PACKAGE_luci-app-乳酸菌饮料-plus_INCLUDE_Simple_obfs=y
          CONFIG_PACKAGE_luci-app-乳酸菌饮料-plus_INCLUDE_v贰瑞_plugin=y
          CONFIG_PACKAGE_luci-app-乳酸菌饮料-plus_INCLUDE_v贰瑞=y
          CONFIG_PACKAGE_luci-app-乳酸菌饮料-plus_INCLUDE_Trojan=y
          CONFIG_PACKAGE_luci-app-乳酸菌饮料-plus_INCLUDE_Kcptun=y
          CONFIG_PACKAGE_luci-app-乳酸菌饮料-plus_INCLUDE_违禁软件_Server=y
          CONFIG_PACKAGE_luci-app-upnp=y
          # CONFIG_PACKAGE_luci-app-vlmcsd is not set
          # CONFIG_PACKAGE_luci-app-vsftpd is not set
          # CONFIG_PACKAGE_luci-app-zerotier is not set
          CONFIG_PACKAGE_luci-app-wol=y
          EOF
          # LuCI主题:
          cat >> .config <<EOF
          CONFIG_PACKAGE_luci-theme-argon=y
          CONFIG_PACKAGE_luci-theme-bootstrap=y
          EOF
          # 常用软件包:写入mmc需要
          cat >> .config <<EOF
          CONFIG_PACKAGE_libzstd=y
          CONFIG_PACKAGE_liblzo=y
          CONFIG_PACKAGE_curl=y
          CONFIG_PACKAGE_htop=y
          CONFIG_PACKAGE_nano=y
          CONFIG_PACKAGE_screen=y
          CONFIG_PACKAGE_tree=y
          CONFIG_PACKAGE_vim-fuller=y
          CONFIG_PACKAGE_wget=y
          CONFIG_PACKAGE_blkid=y
          CONFIG_PACKAGE_fdisk=y
          CONFIG_PACKAGE_lsblk=y
          CONFIG_PACKAGE_hd-idle=y
          CONFIG_PACKAGE_hdparm=y
          CONFIG_PACKAGE_coremark=y
          CONFIG_PACKAGE_coreutils=y
          CONFIG_PACKAGE_coreutils-base64=y
          CONFIG_PACKAGE_gawk=y
          CONFIG_PACKAGE_getopt=y
          CONFIG_PACKAGE_jshn=y
          CONFIG_PACKAGE_libjson-script=y
          CONFIG_PACKAGE_losetup=y
          CONFIG_PACKAGE_openssl-util=y
          CONFIG_PACKAGE_shellsync=y
          CONFIG_PACKAGE_tar=y
          CONFIG_PACKAGE_TAR_GZIP=y
          CONFIG_PACKAGE_TAR_BZIP2=y
          CONFIG_PACKAGE_TAR_XZ=y
          CONFIG_PACKAGE_uuidgen=y
          CONFIG_PACKAGE_bash=y
          CONFIG_PACKAGE_dosfstools=y
          CONFIG_PACKAGE_btrfs-progs=y
          CONFIG_PACKAGE_perlbase-re=y
          CONFIG_PACKAGE_perlbase-utf8=y
          CONFIG_PACKAGE_perl=y
          CONFIG_PERL_NOCOMMENT=y
          CONFIG_PACKAGE_perlbase-config=y
          CONFIG_PACKAGE_perlbase-essential=y
          CONFIG_PACKAGE_perlbase-unicore=y         
          EOF
          #wifi tools
          cat >> .config <<EOF
          CONFIG_PACKAGE_kmod-brcmfmac=y
          CONFIG_BRCMFMAC_SDIO=y
          CONFIG_PACKAGE_kmod-brcmutil=y
          CONFIG_PACKAGE_kmod-cfg80211=y
          CONFIG_PACKAGE_kmod-mac80211=y
          CONFIG_PACKAGE_MAC80211_MESH=y
          CONFIG_PACKAGE_wireless-tools=y
          CONFIG_PACKAGE_hostapd=y
          CONFIG_PACKAGE_hostapd-common=y
          CONFIG_PACKAGE_wpa-cli=y
          CONFIG_PACKAGE_wpa-supplicant=y
          CONFIG_WPA_MSG_MIN_PRIORITY=3
          CONFIG_DRIVER_11N_SUPPORT=y
          CONFIG_DRIVER_11AC_SUPPORT=y
          CONFIG_DRIVER_11W_SUPPORT=y     
          EOF
          #
          # ========================固件定制部分结束========================

5、本地编译文件[size=1em]输入 make [size=1em]-[size=1em]j1 V[size=1em]=[size=1em]s [size=1em]  #j1后面根据你CPU的核数+1,比如我的4核那后面就是5
6、可选云编译,你只需要注册一个github帐号把我上面的文件加入到你的action中,他就自动给你编了,编完你直接下载就可以了。
     6.1、先注册github
     6.2、进入:https://github.com/coolsnowwolf/lede 点击右上角的 fark     6.3、编辑 lede/.github/workflows/openwrt-ci.yml 文件,范本在:https://github.com/KFERMercer/OpenWrt-CI
     6.4、使用action编译,编译完成后可以直接下载固件
7、参见F大编译的 1-5就完成了所有编译
8、下载到电脑,写入U盘完成

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

参与人数 3恩山币 +10 收起 理由
tiny*** + 2 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
hc*** + 2 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
简*** + 6 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
感觉对于小白还是看不懂,我还停留在,固件有啥用啥,没有就发愁,还好f大固件够好
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

感谢分享。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报


感谢分享。站在巨人的肩膀
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

好帖不能沉呀,给兄弟顶上去!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

好像很复杂的样子哦
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-5-5 20:54

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表