一:update.zip包的制作
   1:新建一个目标,在此目录下准备好需要的文件,如system目录文件、boot.img、recovery.img等.
     mkdir testupdate
     cp system/ testupdate/ -tf
     注:如果文件是system.img镜像可以用unyaffs解压出来得到system
   2:用make-update-script工具生成update-script脚本,如下
     cp make-update-script testupdate/
     cp android-info.txt testupdate/
     cd testupdate
     ./make-update-script system android-info.txt > update-script
     rm make-update-script android-info.txt
     vi update-script //根据需要适当修改些脚本
      说明:system是要更新的目录,android-info.txt是板的版本信息,update-script是输出文件名
   3:建立一个目录名称为META-INF/com/google/android,把上面生成的脚本放进去
      mkdir -p META-INF/com/google/android
      mv update-script META-INF/com/google/android/
   4:压缩文件
     zip -r update.zip system META-INF
   5:给压缩文件添加签名
     mv update.zip ../signapk/
     cd ../signapk/
     java -jar signapk.jar testkey.x509.pem testkey.pk8 update.zip signed-update.zip
   6:删除多余的文件,并把生成的包重命名
     rm update.zip
     mv signed-update.zip ../update.zip
     cd ../
   7:大功告成,把更新包update.zip拷到sdcard根目录下去验证吧!

注意:
   1)如果文件里有连接,应该在获取update-script之后在原文件里删除链接文件,再打包,否则symlink将出错;
   2)如果原文件里有空目录,所获的签名将失去此记录,所以如果空目录必须存在,更新之后的文件将与原文件不同(少了空目录)

二:ramdisk.img 制作
   方法1:
     解压:
        1) mv ramdisk.img ramdisk.img.gz
        2) gunzip ramdisk,img.gz
        3) mkdir ramdisk;cd ramdisk
        4) cpio -i -F ../ramdisk.img
     压缩:
        1) 产生要pack的目录list,也可以自己列
           cpio -i -t -F ../ramdisk.img > list
        2) 利用刚生成的list文件列表,cpio归档
           cpio -o -H newc -O new.img < list
        3) gzip new.img
   方法2:
       解压:  gunzip -c ../your-ramdisk-file | cpio -i
       压缩:  find . | cpio -o -H newc | gzip > ../newramdisk.cpio.gz

注意:在android里的做法是
       1)先得到ramdisk所需要的文件,比如root目录
       2)用mkbootfs制作ramdisk.img,用法如下
          mkbootfs root | gzip > ramdisk.img
       这里需要验证哪个能用android写下去

三:boot.img的制作
    1:android正常做法
        1):连接
           mkbootimg --kernel your-kernel-file --ramdisk newramdisk.cpio.gz --cmdline "mem=128 console=ttymxc0,115200n8 init=/init rw" --output mynewimage.img
           或
           mkbootimg --kernel your-kernel-file --ramdisk newramdisk.cpio.gz --cmdline  --output mynewimage.img

2):提取img中的kernel和ramdisk
           ./split_bootimg.pl mynewimage.img

2:uboot
       直接把uImage重命名为boot.img即可

四:system.img的制作(只为 yaffs2格式)
        1)压制:./mkyaffs2image system/ system.img
        2)解压:./unyaffs system.img

四:system.img的制作(只为yaffs2格式)
        1)压制:./mkyaffs2image system/ system.img
        2)解压:./unyaffs system.img

五:recovery.img的制作
        1:如果recovery的镜像是只有文件系统部分时候可以如第四所示范
        2:如果recovery为ramdisk形式

=============================================
制 作ramdisk的过程。
1.在/mnt下创建rdmnt 和 rdimg 目录
mkdir rdmnt
  mkdir rdimg
2.创建一个ramdisk文件,大小32768 X 1k。
dd if=/dev/zero of=rdimg/ramdisk bs=1k count=32768
3.使用ext2方式格式该文件
mke2fs  -F -v -m0 rdimg/ramdisk
4.将该ramdisk文件和rdmnt挂载
  mount -o loop rdimg/ramdisk  rdmnt/
5.拷贝文件到挂载目录中。
文件系统目录在:/home/xrqun/workdir/filesys/
  cp –av /home/xrqun/workdir/filesys/*  rdmnt
6.卸载ramdisk
  umount rdmnt
7压缩 ramdisk文件
  gzip –c -9 <rdimg/ramdisk > rdimg/ramdisk.gz
8.拷贝该ramdisk.gz映像到tftpboot目录下
  cp rdimg/ramdisk.gz /tftpboot/
9. 使用mkimage工具
    mkimage  -n "uboot.ramdisk.filesys" -A arm -O linux -T ramdisk -C gzip  -d ramdisk.gz  uboot.ramdisk.gz

安卓自制recovery教程推荐学习  我想大家对recovery已经很熟悉了吧基本每个机型都可以在网络上找到你们机型的对应的recovery但是有些新出的机型或者一些冷门安卓机型是没有recovery的这时候我们怎么办呢其实我们完全可以手工去制作一个属于自己机型的recovery下面我就给大家写个教程一起探讨一下。 首先我给大家介绍一下recovery.img包含镜像和内核两部分

大家一般对着recovery.img右击解压会出现压缩包损坏其实这个包是可以解开的需要特定的工具思路我们就有了我们可以拿其它型号的recovery解包后得到镜像和内核部分然后从你要的型号的官方ruu中提取官方的recovery.img也解包得到镜像和内核部分

然后把官方recovery的内核部分和其他手机recovery的镜像合包组成新的recovery这样我们的recovery就做成了。

下面我们来看看具体步骤以htc为例 准备工作

下载recovery.img专用的bootimg.rar群共享这个工具本来是解包boot.img的

同样可以用来解包recovery但recovery.img要名为boot.img

从官方ruu中提取到官方recovery.img并命名为boot.img下载其他机型的其他手机的recovery.img建议大家下载g6的5.0.2.0比较稳定

同样命名为boot.img解压bootimg.rar得到bootimg文件夹复制到d盘先复制官方的recovery到bootimg文件夹 流程

 开始-运行-cmd d:回车 cd boot回车 bootimg   --unpack-bootimg 这时候我们的官方recovery就被解包了

解包后会得到下面一个文件夹和一个文件将这两个文件剪切到电脑其他地方

我们用同样的方法解包一下其他手机的recovery也会得到两个相同的文件之后我们把官方的内核kernel和其他手机的镜像ramdisk.gz一起放到bootimg文件夹 看图中的第一步官方recovery解包base基址是0x200000,cmdline命令行是“mem=211M console=null androidboot.hardware=qcom",page-size是2048padding-size是4096那么都要回编回去接下来打包的时候就应该输入以下命令

根据你操作的时候实际数值来 bootimg  --repack-bootimg  0x200000  "mem=211M console=null androidboot.hardware=qcom"  2048  4096

如下图所示OK这才是真正的打包完成就如果直接打包的话华为中兴的无所谓不过其他机器就开不了机器了

个性点的定制思路可以用boot --unpack-ramdisk命名解开镜像包ramdisk后到initrd文件夹中的res文件夹改改图标之后用bootimg --repack-ramdisk命令重新合成ramdisk之后再合成boot.img 以上我们成功解包官方的和其他手机的recovery之后合并了一个新的recovery最后我们把新生成的boot.img再改回recovery.imgrecovery.img得到了下面的不用我说了吧

/

完全编译制作 rhodium-nand,xdanrdoid的直刷文件(How to compile rhodium-nand(include xdandroid))

分类: Android&Kernel移植 2011-12-16 22:32  1348人阅读  评论(2)  收藏  举报

完全编译 rhodium-nand,xdanrdoid的直刷文件

 本文目录:

一、说明与用途

二、搭建环境,下载android、kernel、交叉编译器等文件

1. 开发环境搭建可参考:

2. 下载必须的文件:

三、编译

1.RHODIMG.NBH(LK for Rhodium,LK介绍)

(1)得到lk.bin:

(2)编译NBH

2. 内核zImage的编译:

3. 制作自己的cwm_recovery.img:

4. 刷机包rhod-nand-weihongcsu-v0.5.zip的制作:

四、参考资料

  一、说明与用途:

本文将介绍如何编译HTC Touch pro2 sprint 的nand直刷android需要的所有文件, 该机型也叫(也叫xv6875,也叫rhod400)。

从这里下载weihongcsu制作的nand直刷文件(内核是2.6.27.46,android是gingerbread 2.3.7),现在的版本只是能刷上,功能未测试(因为weihongcsu的目的是研究android和kernel的移植)。下载后,请按照说明刷上。

该编译,对一般的nand 直刷,有一定的通用意义。

现在介绍如何编出各个文件:

二、搭建环境,下载android、kernel、交叉编译器等文件

1. 开发环境搭建:

我的系统是ubuntu10.10,

$sudo apt-get install git-core build-essential gnupg flex bison gperf libsdl-dev esound zip curl libwxgtk2.6-0 libc6-dev-i386 g++-multilib lib32z1-dev lib32ncurses5-dev java-common openjdk-6-jdk

2. 下载必须的文件:

(1)RHODIMG.NBH需要:

git clone git://gitorious.org/tinboot-for-linux-msm/tinboot-linux-msm.git

git clone git://gitorious.org/~acl/lk-msm7200a-htc-wince/acls-lk-msm7200a-htc-wince.git

之后切换分支:在acls-lk-msm7200a-htc-wince文件夹下:

git checkout google_lk

(2)rhod-nand-weihongcsu-v0.5.zip需要:

(i)内核:git clone git://gitorious.org/~acl/linux-on-qualcomm-s-msm/linux-msm-rhod-nand.git

(ii)repo的下载与配置:

$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

(iii)xdandroid2.3.7下载:

$ PATH=~/bin:$PATH
$ mkdir ~/xdandroid2.3
$ cd ~/xdandroid2.3
$ repo init -u git://gitorious.org/xdandroid/manifest.git -b gingerbread
$ repo sync

(3)下载编译器并解压:

编译器一:arm-2010.09-51-arm-none-eabi-i686-pc-linux-gnu.tar.bz2:

https://sourcery.mentor.com/sgpp/lite/arm/portal/package7813/public/arm-none-eabi/arm-2010.09-51-arm-none-eabi-i686-pc-linux-gnu.tar.bz2

编译器二:arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

https://sourcery.mentor.com/sgpp/lite/arm/portal/package5383/public/arm-none-linux-gnueabi/arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

三、编译

从底层到上层依次介绍:

     1.RHODIMG.NBH(LK for Rhodium,LK介绍:LK Bootloader,(L)ittle (K)ernel based Android bootloader)

(1)得到lk.bin:

$ cd acls-lk-msm7200a-htc-wince
$ ./build.sh

其中,build.sh为:

export TOOLCHAIN_PREFIX=arm-none-linux-gnueabi-

#改自己的路径,arm-*****的编译器里,只能用arm-2009q3(本文下载的),其他版本不行,原因未深究。

export PATH=$PATH:/home/weihongcsu/disk2/arm-2009q3/bin

_XPROJ=msm7200a_htc_wince

make $_XPROJ clean

make $_XPROJ

acls-lk-msm7200a-htc-wince/build-msm7200a_htc_wince下的lk.bin放在tinboot-linux-msm/kernel/下。

lk.bin的获得要感谢pieceking的帮助,跟他发了多份邮件才解决的。

   (2)编译NBH

$ cd tinboot-linux-msm/

修改makelk.sh 中PATH变量为你的路径。

$ ./makelk.sh

会发现报错:cp: cannot stat `/home/weihongcsu/disk2/nand/tinboot-linux-msm/tools/lk_payload': No such file or directory

解决办法:将/tinboot-linux-msm/tools 下的rhod_payload重命名为lk_payload,应该是ACL修改时忘记上传了,给他发过信息了。

OK,得到RHODIMG.NBH,可以刷一下试试!

    

     2. 内核zImage的编译:

$cd linux-msm-rhod-nand

$./fullbuild.sh

fullbuild.sh内容为:

#!/bin/sh

ANDROID=/home/weihongcsu/disk2/nand
# TINBOOT -- tinboot directory
TINBOOT=$ANDROID/tinboot-linux-msm
# KERNEL_PATH -- directory containing the linux-msm kernel source
KERNEL_PATH=$ANDROID/linux-msm-rhod-nand
# TOOLCHAIN_PATH -- directory containing the arm toolchain
TOOLCHAIN_PATH=~/disk2/eabi/arm-2010.09/bin/arm-none-eabi
# MODULES_PATH -- directory for modules
MODULES_PATH=$TINBOOT/modules

make -j4 ARCH=arm htc_msm_nand_defconfig
make ARCH=arm CROSS_COMPILE=$TOOLCHAIN_PATH- INSTALL_MOD_PATH=$MODULES_PATH zImage modules modules_install

经weihongcsu测试,该版本编译器不会出问题,高版本或低版本都会出问题,原因未深究。

zImage位于:linux-msm-rhod-nand/arch/arm/boot/

  3. 制作自己的cwm_recovery.img:

$ ./split_bootimg.pl cwm_recovery.img

将zImage放到本级目录

$ ./mkbootimg --cmdline 'no_console_suspend=1 console=null' --kernel zImage --ramdisk cwm_recovery.img-ramdisk.gz -o cwm_recovery.img

split_bootimg.pl和mkbootimg可以在“rhod-nand-weihongcsu-v0.5-xv6875直刷文件” 中找到。

OK,生成了自己的cwm_recovery.img。详细解释可以参考:如何解包/编辑/打包Android的boot.img文件

我的cwm_recovery.img模板是从这里下载的:http://code.google.com/p/rhodium-nand/downloads/list

4. 刷机包rhod-nand-weihongcsu-v0.5.zip的制作:

(1)编译xdandroid:

参考这两个文档完成编译:

http://xdandroid.com/wiki/Build_Configuration

http://xdandroid.com/wiki/Building_and_Packaging

Building_and_Packaging中指定下载的zip文件(signed-dream_devphone_userdebug-ota-14721.zip)如果源地址不能下载,可再Google,百度中搜索下载。

(2)替换原有的system目录
解压rhod-nand-weihongcsu-v0.5.zip,会看到:
boot.img
META-INF
system
删除system,然后把/xdandroid2.3/out/target/product/msm/这个目录下面的system拷贝到当前的工作目录下。

(3)修改update-script脚本
修改META-INF/com/google/android目录下的那个叫做update-script的脚本,只要修改一下即可,主要是删除一些不存在的文件以及增加一些文件的权限之类的定义(语法十分清晰,一目了然)。把需要“预装”到刷机包里面的apk安装程序都准备好,将这些apk拷贝到system/app目录下即可。

(4)生成boot.img。

方法类似生成cwm_recovery.img。

$ ./split_bootimg.pl boot.img

将zImage放到本级目录

$ ./mkbootimg --cmdline 'lcd.density=240 msmts_calib=0x9f.0x39a.0x35c.0x78  clock_7x00.grp=0xa99  hw3d.force=1 board-htcrhodium.is_cdma=1  msmvkeyb_toggle=off pmem.extra=1 force_cdma=1  gsensor_axis=2,1,3 pm.sleep_mode=1' --kernel zImage --ramdisk boot.img-ramdisk.gz -o boot.img

split_bootimg.pl和mkbootimg可以在“rhod-nand-weihongcsu-v0.5-xv6875直刷文件” 中找到。

OK,生成了自己的boot.img。详细解释可以参考:如何解包/编辑/打包Android的boot.img文件

(5)重新打包成update.zip

本级目录保留以下文件,其余都删除:

boot.img
META-INF
system

之后:

$ zip -r update.zip . <---注意这最后的“.”是必不可少的,代表是当前路径下的意思。

(6)为做好的刷机包签名

在上面提到的链接中,有一个叫做AutoSign的工具,打开一看是一个jar格式的工具包。

/Files/shenhaocn/autosign.zip

运行如下命令对刷机包进行签名:
$ java -jar autosign.jar update.zip update_signed.zip

ok,签名完毕后,就可以备份一下手机里面的东西,测试一下了!

rhod-nand-weihongcsu-v0.5.zip的制作详细解释可以参考:Android平台刷机包修改制作方法

四、参考资料(除了以上提到的):

1、justvu的帖子:

[6875] 12.16日更新我制作的NAN直刷ROM:无睡死有铃声可照相支持WIFI/3.5G/USB/GSM/WCDMA/CDMA

2、内核开发者natemcnutty写的: How To Compile Your Own Kernels, Modules, Tinboot (NAND boot), and More for Beginners,http://forum.ppcgeeks.com/android-tp2/136054-how-compile-your-own-kernels-modules-tinboot-nand-boot-more-beginners.html

3、xdandroid.com的官方指南:http://xdandroid.com/wiki/Getting_the_Source

http://xdandroid.com/wiki/Build_Configuration

http://xdandroid.com/wiki/Building_and_Packaging

4、android官网:http://source.android.com/source/downloading.html

/

恢复出厂设置流程概括 
一. 设置模块中进行恢复出厂设置操纵,系同一共做了两件事: 
1. 往 /cache/recovery/command 文件中写进命令字段: 
2. 重启系统 
二. 重启系统会必须进进 recovery 模式 
进进 recovery 模式的几种方式 
1. 通过读取 /cache 分区中文件 /cache/recovery/command 内容进进 
2. 通过按键操纵进进 (G1 通过同时按 HOME 和 挂断键) 
以上两种方式进进都需要 blob的支持 
三. 所以恢复出厂设置,进进 recovery 模式,必须做以下几件事情: 
1. blob 必须能从 recovery 分区中装载内核和文件系统 
2. flash 必须有 cache 分区和 recovery 分区 
3. 必须编译提供  recovery.img 烧录到 recovery 分区 
==================================================================
recovery.img 解析: 
1. 理解  recovery.img 
在 制作 recovery 镜像之前,我们必须理解什么是 recovery 以及 它有哪些内容,这里省略,文章: 
<< recovery.img与boot.img简单对比分析>> 对 recovery 做了很好的解释,地址: 
http://www.hiapk.com/bbs/thread-6391-1-1.html 
2.  制作 recovery.img 
由于在文件: ./vendor/marvell/littleton/BoardConfig.mk 中有: 
TARGET_NO_KERNEL := true 
导致我们目前在编译 cupcake 的时候,默认没有天生  recovery.img, 
要天生  recovery.img 必须屏蔽 TARGET_NO_KERNEL := true 
创建目录: vendor/marvell/littleton/recovery/res 
拷贝编译好的内核到目录:vendor/marvell/littleton 
cp /tftpboot/zImage vendor/marvell/littleton/kernel 
假如不创建res目录和拷贝内核将会出现以下错误: 
No private recovery resources for TARGET_DEVICE littleton 
make: *** 没有规则可以创建"out/target/product/littleton/kernel"需要的目标"vendor/marvell/littleton/kernel" 
命令: make recoveryimage 单独天生  recovery.img 
out/host/linux-x86/bin/mkbootimg --kernel out/target/product/littleton/kernel \ 
--ramdisk out/target/product/littleton/ramdisk- recovery.img \ 
--output out/target/product/littleton/ recovery.img 
===================================================================
恢复出厂设置,内核相关部分: 
falsh 分区情况 
0x00000000-0x00 : "Bootloader" --1M 
0x00-0x00 : "Kernel" --4M  
0x00-0x0 : "system" --96M  
0x0-0x0 : "userdata" --48M  
0x0-0x0f : "systembackup" --96M 
0x0f-0x0fd00000 : "massstorage" --8M 
0x0fd00000-0x0ff00000 : "massstorage2" --2M 
0x0ff00000-0x : "massstorage3" --1M 
在目前的内核中我们还没有使用 cache 分区和 recovery 分区,所以修改内核配置文件: 
arch/arm/mach-pxa/include/mach/part_table.h 
把以下分区: 
0x0-0x0f : "systembackup" --96M 
0x0f-0x0fd00000 : "massstorage" --8M 
改为: 
0x0-0x0f : "cache" --96M 
0x0f-0x0fd00000 : "recovery" --8M 
让android系统能正常挂载和使用 cache recovery 分区
烧写编译好的  recovery.img 到 recovery 分区
===================================== 
烧写 cache 分区 
nanderase -z 0x0 0x 
tftp  recovery.img 
nandwrite -y 0x 0x0 <cache.img actual length> 
烧写 recovery 分区 
nanderase -z 0xf 0x 
tftp  recovery.img 
nandwrite -y 0x 0xf < recovery.img actual length> 
====================================== 
恢复模式流程分析 
完成了以上预备工作,当我们按特定的组合键或者恢复出厂设置,那么就会进进 recovery 模式: 
从 recovery 模式的 init.rc 文件可以看出,它仅仅启动了几个服务 
service recovery /sbin/recovery 
service adbd /sbin/adbd recovery 
以下是 recovery 流程分析,主函数在文件: 
bootable/recovery/recovery.c 
int main(int argc, char **argv) 
... 
ui_init(); //初始化ui 
get_args(&argc, &argv); 
... 
void ui_init(void) 
gr_init(); 
ev_init(); 
... 
pthread_create(&t, NULL, progress_thread, NULL); 
pthread_create(&t, NULL, input_thread, NULL); 
recovery 模式有简单的交互式界面,它是通过 ui_init(),ev_init()等一些列操纵, 
完成字符ui界面和按键事件等初始化。input_thread 线程里面处理按键事件。 
函数 get_args 会读取 /cache/recovery/command 文件,并根据命令字段进行相应操纵, 
由于进行恢复出厂设置的时候 /cache/recovery/command 的内容为 --wipe-data 
所以它会擦除 data 和 cache 分区: 
erase_root("DATA:") 
erase_root("CACHE:") 
分区擦除后,系统重启,然后进进正常开机流程,重新使用 system 分区的内容完成开机初始化,此过程 
跟我们第一次烧写软件过程一致。
假如是按 home 键和 挂机键开机,那么进进 字符选择界面,函数为: 
static void prompt_and_wait() 
char** headers = prepend_title(MENU_HEADERS); 
for (;;) { 
finish_recovery(NULL); 
ui_reset_progress(); 
int chosen_item = get_menu_selection(headers, MENU_ITEMS, 0); 
// device-specific code may take some action here. It may 
// return one of the core actions handled in the switch 
// statement below. 
chosen_item = device_perform_action(chosen_item); 
switch (chosen_item) { 
case ITEM_REBOOT: 
//系统重启 
return; 
case ITEM_WIPE_DATA: 
//擦除数据分区 
break; 
case ITEM_WIPE_CACHE: 
//擦除 cache 分区 
break; 
case ITEM_APPLY_SDCARD: 
//通过防止 update.zip 包到 sdcard 根目录实现系统升级 
break; 

android 镜像文件制作相关推荐

  1. android img 制作工具,Android 镜像文件制作 【ramdisk.img system.img userdata.img】

    Android项目生成的镜像文件包括ramdisk.img, system.img, userdata.img ramdisk.img 是out/target/product/项目名/root 目录经 ...

  2. 最小镜像文件制作【树莓派镜像】,简单有效,已经制作多次。使用Linux系统,只有Win系统的不适合。及再次烧录后启动可能出现的问题解决办法。

    目录 一.前言 二.平台选择 1.Win系统:优缺点 2.Linux系统:优缺点 三.制作(只要两步[加上安装gparted,算三步]) 1.安装gparted 2.使用gparted (1)运行gp ...

  3. android 编译fastboot,Android应用开发之Fastboot烧写Android镜像文件到eMMC

    本文将带你了解Android应用开发之Fastboot烧写Android镜像文件到eMMC,希望本文对大家学Android有所帮助. < Fastboot烧写Android镜像文件到eMMC 以 ...

  4. Android镜像文件的拆解

    前言:最近新入手了一台电信版的Android手机,由于厌恶其中预装的各种应用,也想按照自己的意愿裁剪一下手机中的应用,所以对此进行了一些学习.我找到了一个HTC的RUU包,从中解析到了system.i ...

  5. android镜像文件怎么命名,android镜像文件说明(示例代码)

    android 源码编译完成后会生成三个镜像文件 system.img ->yaffs2格式 userdata.img ->yaffs2格式 ramdisk.img ->cpio 前 ...

  6. 制作linux安装镜像文件,制作CentOS 6.5一键自安装ISO镜像光盘 | 聂扬帆博客

    因为工作中需要经常安装系统并且会有一些定制的系统包和软件.定制ISO可以大大减轻运维的负担.本文以Centos 6.5制作为例 一.系统安装包说明 目录树结构 |-- .discinfo |-- .t ...

  7. android 镜像文件img 介绍

    Android 源码 编译后,在 out/target/product/generic下生成的三个镜像文件: ramdisk.img : 根文件系统 system.img   :包括了主要的包.库等文 ...

  8. linux 文件 复制 工具栏,Linux(Ubuntu)光盘镜像文件制作及使用攻略

    一.linux 下命令行制作光盘镜像文件 1. 使用cp命令 cp 命令用来复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到该 ...

  9. linux下制作windows镜像文件,Linux之自定义ISO镜像文件制作

    这一节主要介绍iso镜像制作过程,主要包含两部分mkisofs:创建镜像文件 光盘烧录工具 如果终端没有mkisofs指令,需要下载一下,例如ubuntu14.04 apt-get install g ...

最新文章

  1. 商汤62篇论文入选CVPR 2019,一览五大方向最新研究进展
  2. centos7 xampp启动mysql数据库_mysql主从配置,用win xampp和centos7环境下测试
  3. matlab计算海洋浮力频率_帝国理工学院海洋、海岸与建筑环境工程流体力学理学硕士研究生offer一枚...
  4. LeetCode387-字符串中的第一个唯一字符(查找,自定义数据结构)
  5. 想在边缘运行计算机视觉程序?先来迎接挑战!
  6. php生成链接列表,根据URL链接和抛文本生成链接a标签的PHP函数
  7. 尾气冒黑烟是什么问题_汽车排气管冒大量白烟?车肯定有问题
  8. python提取视频帧并保存_python tools实现视频的每一帧提取并保存
  9. 杨笠代言电脑遭投诉抵制,网友吵翻!英特尔回应了...
  10. Socket 学习(三).5 UDP 的弱点
  11. VC++如何获取目标程序的句柄hProcess
  12. 格式转换------用C#代码生成一个简单的PDF文件
  13. PHP操作MySQL数据库常用函数
  14. 思科模拟器 交换机链路聚合(二层、三层)
  15. 神经网络权重是什么意思,神经网络权值和阈值
  16. 星星之火OIer:C++大纲
  17. 使用Pyecharts进行全国水质TDS地图可视化全过程9:构建字典,批量生成所有省份地图
  18. 南京地图njmaps使用,以公众版为例
  19. CSDN写博客字体颜色、大小怎么写?
  20. UE4 安卓打包失败“Build-tool 31.0.0 is missing DX”

热门文章

  1. 计算机一级b在线模拟,计算机一级B模拟试题.doc
  2. 远古盗链教程及盗链HTML源码和盗链工具
  3. JQ input 文件上传并预览 选择图片后,在页面上预览图片,页面渲染
  4. 地面互动投影的投影距离多少比较好?
  5. 云安全—未来的病毒防御体系在云+端
  6. 揭秘Android恶意App挣钱的诀窍
  7. 硬盘格式化后数据如何恢复?
  8. java裁剪png图片_如何在Java中进行图片剪裁
  9. 南宁股票配资公司比例是多少比较合适
  10. 年均发电量超1亿度,浙江温岭首座潮光互补型光伏电站并网发电