经过不懈努力终于有些进展,但是踩在巨人的肩膀上的。
1.安装开发环境,选择速度最快的源,然后执行 sudo apt-get update;
我用的是Ubuntu22.04,接下来安装openwrtbianyi 环境所需的依赖包:
Ubuntu 20.04:sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3 python2.7 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 device-tree-compiler g++-multilib antlr3 gperf wget curl swig rsync
sudo apt install build-essential libncurses5-dev zlib1g-dev
sudo apt install gawk gcc-multilib flex git gettext libssl-dev
sudo apt install python3-distutils vim
- 下载hauke的源码:
git clone -b kitchensink-202205-2 https://git.openwrt.org/openwrt/staging/hauke.git
这个openwrt的版本号是22.03。
- 进入hauke文件夹后修改
vim .feeds.conf.default 如下:
src-git-full packages https://git.openwrt.org/feed/packages.git^3ea3a0657775d5eceecf2c8ea847dbe00ecb5870
src-git-full luci https://git.openwrt.org/project/luci.git^51e4558461cfc7339461dcd5c7516957b2d01a29
src-git-full routing https://git.openwrt.org/feed/routing.git^cc1dd763e08cc03926883a8943212f7edf2bf2ce
src-git-full telephony https://git.openwrt.org/feed/telephony.git^5087c7ecbc4f4e3227bd16c6f4d1efb0d3edf460
使之适配22.03
- 进scripts路径输入
./feeds update -a
- 更新完毕后再输入:
./feeds install -a
- 输入
make menuconfig 再弹出的菜单设置 Target System 为Vision five ,Target Profile 设置为Starfive VisionFive,如下图所示:
- 在
Target Images 中勾选ramdisk
- 在LUCI>>Collections选中下面参数,设置后选择Save保存,保存默认的配置文件为.config。设置完毕后按Esc退出
- 命令行里输入:
make V=s
- 经过漫长的等待后,编译成功。
- 进入 /hauke/bin/targets/visionfive/generic文件夹
其中openwrt-visionfive-visionfive-initramfs-fit-uImage.itb就是我们想要的文件。
12.接下来,我们要按照官方说明连接硬件:
- 将usb 转串口转换器连接到计算机上,从windows计算机查看串口号,我的是COM4
- 点此链接下载putty:
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
安装好后打开putty,将步骤12的串口号填好,然后波特率设置115200后点击open
- 开发板上电启动,参考官方的《昉·星光单板计算机软件技术参考手册》将网线插入开发板的网口上:
我们的情形如下:
- 在Ubuntu上安装tftp服务器,我们把TFTP_DIRECTORY设置为我们编译出来的openwrt-visionfive-visionfive-initramfs-fit-uImage.itb文件所在的位置
- 假设我们的TFTP服务器的地址是192.168.2.166,我们uboot设置如下信息:
setenv serverip 192.168.2.166;
setenv ipaddr 192.168.2.228;
setenv kernel_addr_r 0x98000000;
注意:ipaddr 不能与现有的设备的ip地址相冲突。
- 然后输入以下命令:
tftpboot ${kernel_addr_r} openwrt-visionfive-visionfive-initramfs-fit-uImage.itb
- 再输入:
bootm ${kernel_addr_r} 发现内核已经启动了!启动后输入回车如下:
- 进入openwrt后输入以下命令
vim /etc/config/network 修改的内容如下,让开发板从路由器处获取ip地址
输入完毕后:wq 保存
- 重启网络和关闭防火墙,如下所示:
- 输入
ifconfig 查看此时从路由器分配的ip地址,这刚好与我们设置的ip地址
- 浏览器输入板子的ip地址:
点击login 就可以看到我们编译出来的openwrt的信息了
|