下载openwrt sdk
这一步本是下载toolchain的,但是这个仓库里面的toolchain的文件有点不对,
而sdk中带了toolchain的, staging_dir\toolchain-x86_64_gcc-12.3.0_musl
配置环境变量及3个简单函数用来-配置/编译/安装
设置环境变量信息: vi ~/.bashrc
toolchain_dir=/mnt/e/OpenLib/openwrt/23.05.3-musl.Linux-x86_64/sdk/staging_dir/toolchain-x86_64_gcc-12.3.0_musl PATH=$toolchain_dir/bin:$PATH export STAGING_DIR=$toolchain_dir #代替用op_config命令代替 ./configure 来生成make配置文件 function op_config() { ./configure --host=x86_64-openwrt-linux-musl #--host=x86_64-openwrt-linux-musl 意思为目标系统类型,可以在toolchain文件夹中看到名字 } #代替make,禁用c/cxx警告 function op_make() { #CFLAGS="-w" CXXFLAGS="-w" 让c c++警告所有警告 make CFLAGS="-w" CXXFLAGS="-w" } #将生成的文件复制到源目录中的easy_op子文件夹中 #手工撸的话,可以将文件拿去op中跑了 function op_install() { #安装到当前目录下的easy_op文件夹中 make install DESTDIR=${PWD}/easy_op } export -f op_make export -f op_config
让上面的配置即时生效: source ~/.bashrc
然后去源码文件夹下运行这3个命令了
op_config op_make op_install
至此,编译出来的可执行程序能在所选的目标op中运行了.
使用openwrt sdk
ubuntu需先安装所需环境: apt install make gcc g++ unzip bzip2 libncurses5-dev
执行make menuconfig
编译的cups不能用-进不去后台
可能是cgi文件权限不对将/usr/lib/cups/cgi-bin文件夹以内部所有文件权限改为755
chmod 755 /usr/lib/cups/cgi-bin
cd /usr/lib/cups/cgi-bin/cgi-bin
chmod 755 *
参考感谢:https://www.yjblog.net/post/123.html
0