这篇必须有标题 ----Android4.4.4镜像的编译中遇到的问题

准确地说,最近三天半的时间都在搞这件事情,Android4.4.4的镜像编译可谓是一波三折,怎么说呢,还是挺费内存的(想换电脑.jpg)。起初因为虚拟机内存不足,导致编译失败;再后来,发现物理内存不足,编译再次失败;解决完虚拟机内存和物理内存的问题,又一个问题来了,虚拟机的交换空间不足,kill了进程,编译再次以失败告终。不会吧?那就继续解决存在的问题吧。
这是第五次编译了,终于成功了,流下了激动的泪水!用时三个小时以上,由于是昨天晚上回宿舍之前让它开始编译的,开始编译之后就回宿舍啦,所以具体用时不详,以往编译失败也是会用时三个小时以上的。
来,上图!编译完成之后,在文件夹"iTop4412_KK4.4/out/target/product/smdk4x12"中生成镜像“ramdisk.img”和“system.img”。
在这里插入图片描述
在这里插入图片描述
其余的废话就不多说啦,下面记录一下最近这几天在编译这个的过程中学习到的新知识吧!

一、给虚拟机的交换空间(swap)扩容

注意:这些操作都是在root用户权限下进行的。
在前些天解决虚拟机磁盘空间不足的问题时,在最后给swap分配的空间只有不到1G,这对于我分配的4G物理内存来说太少啦,在未更改交换分区的大小的时候,执行“free -g”命令,会在swap的地方显示:total 0。参照了一些资料,说:“4-16G物理内存的系统,至少设置4GB的交换分区”,于是打算设置8GB的交换分区给虚拟机。(重新进行磁盘空间的扩展,给虚拟机扩展10G内存,在设置逻辑分区以及扩展分区的时候,值都选择了8G)
交换分区,也称为虚拟内存,用来提升内存的容量,防止OOM(out of memory)。当内存不足时,内核会随机杀死一些进程,一些它认为占内存或者无关的进程,就像下图箭头处那样:
在这里插入图片描述
下面进入交换分区的扩容,此处采用的是文件的方式进行创建。
1、在根下创建一个4G大小的文件

root@topeet:~# dd if=/dev/zero of=/swapfile bs=1M count=4096
记录了4096+0 的读入
记录了4096+0 的写出
4294967296 bytes (4.3 GB, 4.0 GiB) copied, 96.9631 s, 44.3 MB/s

2、将该4G大小的文件格式化为“交换空间”的格式

root@topeet:~# mkswap /swapfile
Setting up swapspace version 1, size = 4 GiB (4294963200 bytes)
无标签, UUID=4263856f-678e-41be-ba61-05a6e760e046

3、“swapon -a”会提示“…0600suggested”,故将交换分区的信息写为600;swap -a指的是激活所有的交换分区

root@topeet:~# chmod 600 /swapfile
root@topeet:~# swapon -a /swapfile
root@topeet:~# htop
root@topeet:~# 

4、此时执行free命令就可以看到交换分区成功扩展啦。第一步分配的4G加上本身磁盘分配时的8G就变成了现在的12G

root@topeet:~# free
              total        used        free      shared  buff/cache   available
Mem:        4026860     1313396      253536       56392     2459928     2350056
Swap:      12581880           0    12581880
root@topeet:~# df -h
文件系统        容量  已用  可用 已用% 挂载点
udev            1.9G     0  1.9G    0% /dev
tmpfs           394M   12M  382M    3% /run
/dev/sda1        99G   42G   53G   45% /
tmpfs           2.0G  248K  2.0G    1% /dev/shm
tmpfs           5.0M  4.0K  5.0M    1% /run/lock
tmpfs           2.0G     0  2.0G    0% /sys/fs/cgroup
vmhgfs-fuse     174G  147G   28G   85% /mnt/hgfs
tmpfs           394M   52K  394M    1% /run/user/1000

二、分卷压缩文件

在进行windows以及Ubuntu之间的文件传输时,发现有分卷压缩的文件,涉及到知识盲区啦,查资料学习一下吧。分卷压缩是拆分压缩文件的一部分,通常分卷压缩是在将大型的压缩文件保存到数个磁盘或是可移动磁盘时使用。大部分主流压缩都支持分卷压缩了,常见的格式有:7z、ace、alz、bz2、gz、mou、rar、zip、zipx等。
介绍一下我处理分卷压缩文件的方法吧。选中同一个文件的所有分卷压缩文件,右键点击压缩到…tar压缩包就可以将这些分卷压缩包放进同一个压缩包啦,而且是常见的tar格式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值