openwrt - squashfs-sysupgrade.bin 的生成过程
squashfs-sysupgrade.bin 生成过程图
路径变量
$(KERNEL_BUILD_DIR)=”/home/sam/Projects/openwrt-mt7620n/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620n/linux-3.14.18“
$(KDIR)=“/home/sam/Projects/openwrt-mt7620n/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620n”
$(STAGING_DIR_HOST)=“/home/sam/Projects/openwrt-mt7620n/staging_dir/host”
图中标有序号的步骤,执行命令如下:
mipsel-openwrt-linux-uclibc-objcopy -O binary -R .reginfo -R .notes -R .note -R .comment -R .mdebug -R .note.gnu.build-id -S $(KERNEL_BUILD_DIR)/vmlinux $(KDIR)/vmlinux
mipsel-openwrt-linux-uclibc-objcopy -R .reginfo -R .notes -R .note -R .comment -R .mdebug -R .note.gnu.build-id -S $(KERNEL_BUILD_DIR)/vmlinux $(KDIR)/vmlinux.elf
$(STAGING_DIR_HOST)/bin/lzma e $(KDIR)/vmlinux -lc1 -lp2 -pb2 $(KDIR)/vmlinux.bin.lzma
mkimage -A mips -O linux -T kernel -C lzma -a 0x80000000 -e 0x80000000 -n "MIPS OpenWrt Linux-3.14.18" -d $(KDIR)/vmlinux.bin.lzma $(KDIR)/uImage.lzma
Image Name: MIPS OpenWrt Linux-3.14.18
Created: Sat Sep 20 16:28:05 2014
Image Type: MIPS Linux Kernel Image (lzma compressed)
Data Size: 1051164 Bytes = 1026.53 kB = 1.00 MB
Load Address: 80000000
Entry Point: 80000000
$(STAGING_DIR_HOST)/bin/mksquashfs4 /home/sam/Projects/openwrt-mt7620n/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/root-ramips $(KDIR)/root.squashfs -nopad -noappend -root-owned -comp xz -Xpreset 9 -Xe -Xlc 0 -Xlp 2 -Xpb 2 -b 256k -p '/dev d 755 0 0' -p '/dev/console c 600 0 0 5 1' -processors 1
dd if=$(KDIR)/root.squashfs of=/home/sam/Projects/openwrt-mt7620n/bin/ramips/openwrt-ramips-mt7620n-root.squashfs bs=128k conv=sync
$(KERNEL_BUILD_DIR)/scripts/dtc/dtc -O dtb -o $(KDIR)/WRTNODE.dtb ../dts/WRTNODE.dts
$(STAGING_DIR_HOST)/bin/patch-dtb $(KDIR)/vmlinux-wrtnode $(KDIR)/WRTNODE.dtb
$(STAGING_DIR_HOST)/bin/lzma e $(KDIR)/vmlinux-wrtnode -lc1 -lp2 -pb2 $(KDIR)/vmlinux-wrtnode.bin.lzma
mkimage -A mips -O linux -T kernel -C lzma -a 0x80000000 -e 0x80000000 -n "MIPS OpenWrt Linux-3.14.18" -d $(KDIR)/vmlinux-wrtnode.bin.lzma $(KDIR)/vmlinux-wrtnode.uImage
cat $(KDIR)/vmlinux-wrtnode.uImage $(KDIR)/root.squashfs > $(KDIR)/openwrt-ramips-mt7620n-wrtnode-squashfs-sysupgrade.bin
$(STAGING_DIR_HOST)/bin/padjffs2 $(KDIR)/openwrt-ramips-mt7620n-wrtnode-squashfs-sysupgrade.bin 4 8 16 64 128 256
Image Name: MIPS OpenWrt Linux-3.14.18
Created: Sat Sep 20 16:28:15 2014
Image Type: MIPS Linux Kernel Image (lzma compressed)
Data Size: 1052354 Bytes = 1027.69 kB = 1.00 MB
Load Address: 80000000
Entry Point: 80000000
openwrt - squashfs-sysupgrade.bin 的生成过程的更多相关文章
- openwrt的sysupgrade和factory固件的区别
openwrt的固件一般分两种类型:factory原厂固件.sysupgrade固件 factory多了一些验证的东西,用于在原厂固件的基础上进行升级. 普通家用路由一般不是openwrt固件,如果要 ...
- openwrt环境中某个运行在host端的软件如何安装到openwrt的$(STAGING_DIR_HOST)/bin下
可参考示例:见'git grep host-build.mk package/{system,utils}'
- openwrt的编译系统是如何生成squashfs文件系统的
答:请看include/image.mk中的以下定义: define Image/mkfs/squashfs $(STAGING_DIR_HOST)/bin/mksquashfs4 $(call mk ...
- 【转载】OpenWrt sysupgrade 命令行更新固件到最新版
OpenWrt sysupgrade 命令行更新固件到最新版 下面我们要使用 sysupgrade 更新固件到trunk最新版. 要注意的是,trunk包含试验的功能,可能不稳定,刷机风险自己承担. ...
- openwrt: Makefile 框架分析
openwrt: Makefile 框架分析 原文链接:blog.chinaunix.net/uid-26675482-id-4704952.html 本篇的主要目的是想通过分析Makefile,了解 ...
- 转:openwrt 框架分析
本文是本人对OpenWrt的Makefile的理解,并非转载.OpenWrt是一个典型的嵌入式Linux工程,了解OpenWrt的Makefile的工作过程对提高嵌入式Linux工程的开发能力有极其重 ...
- openwrt固件编译过程
主Makefile分析 注:1)make -n可打印makefile执行的命令,而不执行. 2)可以在规则的命令中增加echo跟踪执行进度. 顶层目录的Makefile是openert的总Makefi ...
- 制作Cubie版OpenWRT(功能齐全,大小仅有11M)
Allwinner Sun4i/5i/6i/7i (sunxi) Various vendors are offering development boards / single-board comp ...
- OpenWRT mt7620n 系统升级引起的问题
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/qianguozheng/article/details/27237175 OpenWRT系统升级採用 ...
随机推荐
- 【01】webpack的安装过程截图
[05](moyu:最好安装在C盘.默认的安装地址.) []全局安装 01,首先要安装Node.js, Node.js 自带了软件包管理器 npm. 02,Webpack 需要 Node.js v0. ...
- js 获取json对象的Key、value
<script type="text/javascript"> getJson('age'); function getJson(key){ var jsonObj={ ...
- hlgoj1881
#include <stdio.h> +]; int main(){ int l,m; int i,j; int sign; num[]=; num[]=; while(~scanf(&q ...
- 关于JS正则表达式
去除所有P标签 content=content.replace(/<([\/]?)(p)((:?\s*)(:?[^>]*)(:?\s*))>/g, ''); 将所有的 1. ...
- hdu6069[素数筛法] 2017多校4
对于[l , r]内的每个数,根据唯一分解定理有 所以有 因为 //可根据唯一分解定理推导 所以 题目要求 就可以运用它到上述公式 (注意不能暴力对l,r内的数一个个分解算贡献 ...
- 【Luogu】P3800点收集(DP)
题目链接 原题解 代码 #include<iostream> #include<cstdio> #include<cstring> #include<ccty ...
- 【2018.11.23】2018WCTest(7)
向已退役学长致敬! 题目&他的题解 T1 一道睿智题目,正常思路就是时空复杂度均为 $O(n\times 32768)$ 的背包.这个做法不被卡时间却被卡空间,其实就是想让你离线处理询问,然后 ...
- Linux(7):用户管理
用户管理 让一个脚本或命令开机自启动的方法: # 方法一: 把脚本放到 /etc/rc.local 中 # 方法二: 把脚本或命令通过 chkconfig 管理 # 如何让一个脚本被 chkconfi ...
- JavaScript 数组操作函数--转载+格式整理
JavaScript 数组操作函数(部分)--转载+格式整理 今天看了一篇文章,主要讲的对常用的Js操作函数:push,pop,join,shift,unshift,slice,splice,conc ...
- Redis数据结构之压缩列表
压缩列表是Redis为了节约内存而开发的,由一系列特殊编码的连续内存块组成的顺序型数据结构.一个压缩列表可以包含任意多个节点,每个节点可以保存一个字节数组或者一个整数值. 一.压缩列表结构1. 压缩列 ...