您的位置:首页 > 文旅 > 美景 > 百度sem优化师_深圳网页设计学校_百度指数官网移动版_今日热点新闻视频

百度sem优化师_深圳网页设计学校_百度指数官网移动版_今日热点新闻视频

2025/3/20 10:11:45 来源:https://blog.csdn.net/hanxiaoboke123/article/details/146374233  浏览:    关键词:百度sem优化师_深圳网页设计学校_百度指数官网移动版_今日热点新闻视频
百度sem优化师_深圳网页设计学校_百度指数官网移动版_今日热点新闻视频

我只是老小白了,第一次编译自己需要用的openwrt。

一、编译条件:

虚拟机VM17

Ubuntu22.04

硬件:R5S amv8 4+32G

二、关于虚拟机VM和Ubuntu的安装,网上教程很多,请自行搜索安装。

1、不要用 root 用户进行编译
2、默认登陆IP 192.168.1.1 密码 password

三、编译过程:

1、安装完Ubuntu后,打开终端输入安装依赖命令:

sudo apt update -ysudo apt full-upgrade -ysudo 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/coolsnowwolf/openwrt  #Github 野火大佬
#B站 实用技能大佬
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版本

源代码只选择一个就可以,我选择的是野火大佬提供的源。

3、cd   openwrt 命令  切换到文件目录openwrt内

git tag                                              查看稳定版,回车键拉到最低,按Q结束!
git checkout v24.10.0                      指定版本,红色部分位版本号(其他版本不支持R5S)

3.1打开openwrt文件夹下的feeds.conf.default文件,将下列源添加到最后。

src-git kenzo https://github.com/kenzok8/openwrt-packages     
src-git small https://github.com/kenzok8/small
src-git fancontrol https://github.com/JiaY-shi/fancontrol.git

4、更新feeds(更新源码)

./scripts/feeds update -a                更新源码
./scripts/feeds install -a                  拷贝源码

5、添加常用插件(此处不用)

有两种方式添加插件,第一种是在feeds.conf.default文件中添加形如src-git-full luci https://github.com/openwrt/luci的源,一种是在源码目录的package下直接克隆源码,因为有时会出现意想不到的问题,且编译好后这个源会被添加进opkg的默认源中。

cd package/
git clone https://github.com/lisaac/luci-app-diskman.git # 磁盘管理
git clone https://github.com/jerrykuku/luci-theme-argon.git # 主题
git clone https://github.com/davinyue/luci-theme-edge.git # 还是主题
git clone https://github.com/rufengsuixing/luci-app-adguardhome.git # 去广告
git clone https://github.com/cokebar/openwrt-vlmcsd.git # kms服务器
git clone https://github.com/cokebar/luci-app-vlmcsd.git # kms服务器的luci
git clone https://github.com/sirpdboy/luci-app-netdata.git # netdata监控(项目中汉化版本的netdata支持持x86)
git clone https://github.com/sirpdboy/luci-app-advanced.git # 一些插件的高级设置(直接编辑cfg)和文件管理

6、编辑配置,定制openwrt

6.1 make menuconfig打开openwrt配置面板
make menuconfig

6.2 R5S的cpu架构选择

Target System -> 选择 Rockchip(而不是 Arm SystemReady (EFI) compliant

Subtarget ->RK33xx/RK35xx

6.3 Target Profile:
  • 选择 FriendlyARM NanoPi R5S
6.4 推荐的 Target Images 选项
  1. [ ] ramdisk (不勾选)

    • NanoPi R5S 通常使用 ext4squashfs,不需要 ramdisk。
  2. [ ] cpio.gz / [ ] tar.gz (不勾选)

    • 这些是 initramfs 相关的格式,不适用于标准 OpenWrt 运行方式。
  3. [✔] ext4 (建议勾选)

    • 适用于 SD 卡和 eMMC 存储设备,便于写入和扩展存储。
  4. [✔] squashfs (建议勾选)

    • squashfs 是 OpenWrt 默认的只读文件系统,可以节省空间。
  5. [✔] GZip images (建议勾选)

    • GZip 压缩可以减少固件大小,提高存储效率。
  6. Kernel partition size (16 MiB)

    • 保持默认或增加至 32MiB,以防止内核升级空间不足。
  7. Root filesystem partition size (104 MiB)

    • 建议增加到 256MiB 或更大,以适应后续安装软件包。
  8. [ ] Make /var persistent (可选)

    • 默认 /var 是临时存储(重启丢失),如果需要持久存储日志,可以勾选。

6.4、Wifi基础包

  打出的包可支持博通SDIO无线模块,Firmware不用选,因为打包源码中已经包含了来自Armbian的firmware,会自动覆盖openwrt rootfs中已有的firmware

   我的WiFi:MT7921 是 联发科 (MediaTek) 无线网卡,在 OpenWrt 里对应的驱动是 kmod-mt7921ekmod-mt76。需要在 Wireless Drivers 里找到以下选项并启用:

Kernel modules -> Wireless Drivers ->

6.4.1必选驱动
  1. kmod-mt76
    • 这是 MediaTek 的通用驱动,包含对 MT7921 的支持。
  2. kmod-mt7921e
    • 这是专门针对 MT7921 (PCIe) 无线网卡的驱动,如果你用的是 PCIe 版本的 MT7921,必须选这个。

可选驱动

  • kmod-mt7921u(如果你的 MT7921 是 USB 版本)
  • kmod-mt76-core(一般会自动选上)

如何选择

  1. Wireless Drivers 选项里找到 kmod-mt76kmod-mt7921e,用 <M> 选中(模块化编译)。
  2. 如果你的 MT7921 是 USB 版,再选 kmod-mt7921u
  3. 退出.

7、USB 驱动的选择取决于你的 设备用途,一般情况下可以选择以下模块:

Kernel modules -> -> USB Support -> 

7.1 必选 USB 驱动

  1. kmod-usb-core(已经被自动选中)

    • USB 基础支持,必须启用。
  2. kmod-usb-ohci

    • 支持 USB 1.1 控制器,如果你的设备有老旧 USB 端口(比如某些路由器)。
  3. kmod-usb-ehci

    • 支持 USB 2.0,如果你的设备有 USB 2.0 端口,必须启用。
  4. kmod-usb-xhci-hcdkmod-usb-xhci-pci

    • 支持 USB 3.0,如果你的设备有 USB 3.0 端口,就要选上这两个。

7.2 如果你要连接 USB 无线网卡

  • kmod-usb2(一般 USB 网卡都需要)
  • kmod-usb3(如果你是 USB 3.0 设备)

7.3 如果你要连接 USB 存储设备(U 盘、硬盘)

  • kmod-usb-storage(支持 U 盘、移动硬盘)
  • kmod-usb-storage-extras(支持一些特殊 USB 存储设备)
  • kmod-usb-storage-uas(USB Attached SCSI 支持,推荐选上)

7.4 如果你要连接 USB 4G/5G 网卡

  • kmod-usb-net(USB 网卡基础支持)
  • kmod-usb-net-cdc-ether(大部分 USB 4G/5G 网卡需要)
  • kmod-usb-net-rndis(部分 USB 共享网络设备需要)
  • kmod-usb-serial(USB 串口设备支持)
  • kmod-usb-serial-option(大部分 4G/5G 网卡用这个)
  • kmod-usb-serial-wwan(用于某些 4G 模块)

7.5 如果你要连接 USB 打印机

  • kmod-usb-printer

7.6 如果你要连接 USB 键盘/鼠标

  • kmod-hid
  • kmod-usb-hid

7.7我的R5S选择的安装

必须启用的 USB 相关驱动
  1. kmod-usb-core(已默认启用)

    • 作用:USB 子系统核心驱动,所有 USB 设备的基础支持。
  2. kmod-usb-dwc3

    • 作用:RK3568 采用 DWC3 控制器,此模块提供 USB 3.0 支持。
  3. kmod-usb-dwc2(可选)

    • 作用:部分设备可能仍需要 DWC2 控制器支持,但 RK3568 主要使用 DWC3。
  4. kmod-usb-dwc2-pci(可选)

    • 作用:PCI 设备上的 DWC2 控制器支持,通常不需要。
根据需求选择的驱动
  • 存储设备(U 盘、移动硬盘)

    • kmod-usb-storage(USB 存储支持)
    • kmod-usb-storage-extras(支持额外存储设备)
    • kmod-usb-storage-uas(启用 USB 3.0 UASP 加速)
  • 无线网卡(USB WiFi 适配器)

    • kmod-cfg80211
    • kmod-mac80211
    • 具体型号驱动(如 kmod-rtl8821cukmod-mt7921u
  • 键盘/鼠标(HID 设备)

    • kmod-usb-hid
  • 串口转 USB(TTL 转 USB 调试)

    • kmod-usb-serial
    • kmod-usb-serial-ch341(CH340/CH341 USB 转串口)
    • kmod-usb-serial-ftdi(FTDI USB 转串口)
    • kmod-usb-serial-pl2303(PL2303 USB 转串口)
  • USB 网络(USB 转网卡)

    • kmod-usb-net
    • kmod-usb-net-rndis(RNDIS 设备支持)
    • kmod-usb-net-asix(ASIX 芯片网卡)
    • kmod-usb-net-cdc-ether(CDC-Ethernet 设备支持)

不建议选的驱动

  • kmod-chaoskey:用于 Chaoskey 硬件 RNG,与 USB 3.0 无关,无需选中。
  • kmod-usb-atm:用于 USB ATM 设备,一般不需要。
  • kmod-usb-cdns / kmod-usb-cdns3:主要是 Cadence USB 控制器,RK3568 用不到。

8、WirelessAPD(无线 AP 守护进程)


Network -> WirelessAPD ->.

           -> hostapd-common
                                        -> wpa-cli
                                        -> wpad-basic
                     -> iw

9、插件和主题,语言设置选项,根据需求设置,为了减少编译失败的概率,其他都不要安装,主题也是。可以编译成功后单独编译插件在安装。

LUCI -> 2.Modules -> Translations -> Chinese simplified                简体中文 自选!

保存退出。

10、下载 dl 库,编译固件 (-j 后面是线程数)

make -j8 download V=s                     下载dl库,V=s 显示任务详细情况
make V=s -j4                                      4代表线程,根据个人实际情况调整        

或者:make -j$(nproc) V=s  :

  • -j$(nproc):根据 CPU 核心数进行并行编译,加快速度。
  • V=s:显示详细日志,方便调试。

11、下载编译压缩包

编译完成后输出路径:home/用户名/openwrt/bin/targets,下载到本地电脑,需要通过SSH远程登录进行下载。ubuntu默认是没开通SSH登录,所以需要进行开通。

开通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环境
ps -e | grep ssh

ubuntu开通root登录SSH权限

1, 使用普通用户登录后切换root
sudo -i
2,创建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环境
ps -e | grep ssh

12、问题处理(一)

12.1、重新配置

12.1、方法:使用命令

rm -rf ./tmp && rm -rf .config
make menuconfig
make V=s -j$(nproc)

12.2 如果编译失败,可以执行以下命令:

make clean               删除编译目录/bin和/build_dir目录中的文件
make dirclean          除了删除编译目录之外还删除编译工具目录,删除/bin和/build_dir目录的中的文件(make clean)以及/staging_dir、/toolchain、/tmp和/logs中的文件,一般在更换CPU架构的情况下才操作。

感谢实用技能、WangONC、JiaY-shi等大拿的技术资料。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com