折腾安卓手机常用的一些东东
发表于 : 2014-01-15 22:21
remount 为可读写
mount -o remount,rw /system /system
移动 file1 去复盖 file2
mv file1 file2
设置屏幕亮度为 1 最暗,0为关闭,(1-255)
echo 1 > /sys/class/leds/lcd-backlight/brightness
查看输入设备,触屏,感应,指南针之类
cat /proc/bus/input/devices
查看 flash 分区信息
cat /proc/emmc_partition
cat /proc/mtd 这个命令没试过
用 dd 命令备份分区
dd if=/dev/block/mmcblk0p12 of=/sdcard/p12.img
分两段备份 第一段2G,第二段跳过2G再开始备份
dd if=/dev/block/mmcblk0 of=/sdcard/bk1.img bs=1048576 count=2048
dd if=/dev/block/mmcblk0 of=/sdcard/bk2.img bs=1048576 skip=2048
还原两段文件为完整,上面命令反过来。。好像还可以用 cat 没试过。。
cat file1 file2 > allfile
dd 出来的文件直接可以 mount
sudo mount -o loop ~/system.img ~/ext4sys
dd 手机整个flash的文件 用losetup 全盘
sudo losetup /dev/loop0 ~/emmc.img
可以用 fdisk 进行分区操作
sudo fdisk -lu /dev/loop0
用 kpartx 自动把全部分区各自加载
sudo kpartx -av /dev/loop0
移除 kpartx 的加载
sudo kpartx -dv /dev/loop0
移除 losetup 的加载
sudo losetup -d /dev/loop0
boot.img 修改处理
解包boot.img
./split_bootimg.pl boot.img
建 ramdisk 文件夹进入
mkdir ramdisk
cd ramdisk/
解包 boot.img-ramdisk.gz 到 ramdisk 文件夹
gzip -dc ../boot.img-ramdisk.gz | cpio -i
返回上一层目录
cd ../
打包 ramdisk 文件夹成 boot.img-ramdisk.gz
./mkbootfs ramdisk |gzip >boot.img-ramdisk.gz
重新打包 kernel 和 ramdisk 文件为 boot.img
小米
./mkbootimg --kernel boot.img-kernel --ramdisk boot.img-ramdisk.gz --base 0x40200000 -o boot-new.img
百分百
./mkbootimg --kernel boot.img-kernel --ramdisk boot.img-ramdisk.gz --base 0x00e25004 -o boot-new.img
其中--base 0x00e25004 参数很重要,手机不同参数不同,kernel地址,应为base+0x00008000。 如图,kernel_addr:02608000
所以基地址=0x02608000-0x00008000=02600000
打包完了后,好像还要用16进制编辑器,对比下原 boot.img,大概第四行起,有三行内容要复制过来,不然好像启动不了,到底是什么东东没研究。。
PS. 期待这个版块很久了,今天发个主题。最近贪便宜买个几百块的安卓手机,想说过年送老爸礼物。这垃圾手机差点没把我折腾死。杂七杂八的一堆东西,有用没用,大家指点指点。
dd 备份单系统不好还原,还是用 recovery 方便,小米双系统可以这么折腾。
ubuntu手机系统嘛,只闻其声,不见其人,也做不什么,只能等着看看。。。
移动终端未来一定风云变动,无法预测,PC市场必然委缩。。。
mount -o remount,rw /system /system
移动 file1 去复盖 file2
mv file1 file2
设置屏幕亮度为 1 最暗,0为关闭,(1-255)
echo 1 > /sys/class/leds/lcd-backlight/brightness
查看输入设备,触屏,感应,指南针之类
cat /proc/bus/input/devices
查看 flash 分区信息
cat /proc/emmc_partition
cat /proc/mtd 这个命令没试过
用 dd 命令备份分区
dd if=/dev/block/mmcblk0p12 of=/sdcard/p12.img
分两段备份 第一段2G,第二段跳过2G再开始备份
dd if=/dev/block/mmcblk0 of=/sdcard/bk1.img bs=1048576 count=2048
dd if=/dev/block/mmcblk0 of=/sdcard/bk2.img bs=1048576 skip=2048
还原两段文件为完整,上面命令反过来。。好像还可以用 cat 没试过。。
cat file1 file2 > allfile
dd 出来的文件直接可以 mount
sudo mount -o loop ~/system.img ~/ext4sys
dd 手机整个flash的文件 用losetup 全盘
sudo losetup /dev/loop0 ~/emmc.img
可以用 fdisk 进行分区操作
sudo fdisk -lu /dev/loop0
用 kpartx 自动把全部分区各自加载
sudo kpartx -av /dev/loop0
移除 kpartx 的加载
sudo kpartx -dv /dev/loop0
移除 losetup 的加载
sudo losetup -d /dev/loop0
boot.img 修改处理
解包boot.img
./split_bootimg.pl boot.img
建 ramdisk 文件夹进入
mkdir ramdisk
cd ramdisk/
解包 boot.img-ramdisk.gz 到 ramdisk 文件夹
gzip -dc ../boot.img-ramdisk.gz | cpio -i
返回上一层目录
cd ../
打包 ramdisk 文件夹成 boot.img-ramdisk.gz
./mkbootfs ramdisk |gzip >boot.img-ramdisk.gz
重新打包 kernel 和 ramdisk 文件为 boot.img
小米
./mkbootimg --kernel boot.img-kernel --ramdisk boot.img-ramdisk.gz --base 0x40200000 -o boot-new.img
百分百
./mkbootimg --kernel boot.img-kernel --ramdisk boot.img-ramdisk.gz --base 0x00e25004 -o boot-new.img
其中--base 0x00e25004 参数很重要,手机不同参数不同,kernel地址,应为base+0x00008000。 如图,kernel_addr:02608000
所以基地址=0x02608000-0x00008000=02600000
打包完了后,好像还要用16进制编辑器,对比下原 boot.img,大概第四行起,有三行内容要复制过来,不然好像启动不了,到底是什么东东没研究。。
PS. 期待这个版块很久了,今天发个主题。最近贪便宜买个几百块的安卓手机,想说过年送老爸礼物。这垃圾手机差点没把我折腾死。杂七杂八的一堆东西,有用没用,大家指点指点。
dd 备份单系统不好还原,还是用 recovery 方便,小米双系统可以这么折腾。
ubuntu手机系统嘛,只闻其声,不见其人,也做不什么,只能等着看看。。。
移动终端未来一定风云变动,无法预测,PC市场必然委缩。。。