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系统升级採用 ...
随机推荐
- 六 、harbor使用
1 登录harbor docker login 10.1.2.6 2 打上标签 docker tag e3a875d407cf 10.1.2.6/library/ctf3:xss01 3 push到h ...
- 大数据学习——kafka+storm+hdfs整合
1 需求 kafka,storm,hdfs整合是流式数据常用的一套框架组合,现在 根据需求使用代码实现该需求 需求:应用所学技术实现,kafka接收随机句子,对接到storm中:使用storm集群统计 ...
- 新技术---- MongoDB
MongoDB 在 CentOS7 上安装 MongoDB-------https://www.linuxidc.com/Linux/2016-06/132675.htm Centos7 安装mong ...
- 【LeetCode】Pancake Sorting(煎饼排序)
这道题是LeetCode里的第969道题. 题目要求: 给定数组 A,我们可以对其进行煎饼翻转:我们选择一些正整数 k <= A.length,然后反转 A 的前 k 个元素的顺序.我们要执行零 ...
- Ubuntu Flask安装与配置(待整理)
工作中开发需要用到python的flask框架,无奈网络上的资源很少,连基本的安装和配置都不全,在这做一下整理,方便以后用到. ———————————————————————————— 由于比较繁琐, ...
- 手写数字0-9的识别代码(SVM支持向量机)
帮一个贴吧的朋友改的一段代码,源代码来自<机器学习实战> 原代码的功能是识别0和9两个数字 经过改动之后可以识别0~9,并且将分类器的产生和测试部分分开来写,免得每次测试数据都要重新生成分 ...
- 2014·NOIP 新的历程,新的开始
10.12 从9月1号开始奋战,到了今天终于重新把所有普及和提高的复赛题全部AC了.40多天AC130多道想想也是醉了,也许是机房一群大神给予我的压力吧. 想想暑假,整天玩游戏,与此同时,CZL.CY ...
- 雅礼培训 Problem A 【线段树】
题意 维护一段区间,支持求区间最大值,区间且,区间或 \(n,q<=2*10^5\) 题解 我们用线段树维护区间最大值 对于and和or运算, and实质就是强行把一些位改为0 or实质就是强行 ...
- Classloader中loadClass()方法和Class.forName()区别
Classloader中loadClass()方法和Class.forName()都能得到一个class对象,那这两者得到的class对象有什么区别呢 1.java类装载的过程 Java类装载有三个步 ...
- 洛谷 [P2953] 牛的数字游戏
SG搜索 n的范围在可以接受的范围内,SG搜索即可 #include <iostream> #include <cstdio> #include <cstring> ...