手机手机内核编译(m1pro编译android要多久)

本文目录
- m1pro编译android要多久
- android 怎样编译kernel 命令 make
- 手机操作系统是怎样做出来的
- 编译Android源码和内核源码的区别
- 如何编译android kernel
- termux编译手机内核版本是什么意思
- 如何编译一个可以烧写进手机中的ROM,Android安卓开发者
- 怎么修改Android 的Linux内核
- 手机操作系统是怎样做出来的
m1pro编译android要多久
30分钟。m1pro苹果手机是一款可以进行编译的手机,其中编译Android需要30分钟。Android是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的操作系统。
android 怎样编译kernel 命令 make
方法如下:
在Linux的环境下:
建立目录:
mkdir ~/android-kernel cd android-kernel
下载源代码, 大概有280MB, 慢慢等哈~~~ (当然你要先安装git) git clone git://git.linuxtogo.org/home/groups/mobile-linux/kernel.git
类似的屏幕信息:
Initialized empty Git repository in /home/user/android-kernel/kernel/.git/ remote: Counting objects: 908251, done.
remote: Compressing objects: 100% (153970/153970), done.
remote: Total 908251 (delta 755115), reused 906063 (delta 753016) Receiving objects: 100% (908251/908251), 281.86 MiB | 292 KiB/s, done. Resolving deltas: 100% (755115/755115), done. Checking out files: 100% (22584/22584), done.
然后去到htc-msm branch: cd kernel
git checkout -b htc-msm origin/htc-msm
屏幕信息:
Branch htc-msm set up to track remote branch refs/remotes/origin/htc-msm. Switched to a new branch "htc-msm"
下载ARM的toolchain, 大概64MB左右, 下到~/android-kernel: 下
载
:
***隐藏网址***
cd ~/android-kernel
tar xjf arm-2008q1-126-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
编译kernel
准备缺省的Kaiser 配置文件.config
cd ~/android-kernel/kernel
make htckaiser_defconfig ARCH=arm
然后编译zImage:
export PATH=~/android-kernel/arm-2008q1/bin:$PATH
make zImage ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
编译好的在: ~/android-kernel/kernel/arch/arm/boot/zImage
如果你的机器是多核的, 可以编译的时候用-j 《cores/cpus_number》来加速:
比如, 双核的可以:
make -j 2 zImage ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi
满意请采纳谢谢
手机操作系统是怎样做出来的
手机的操作系统一般来说都是C语言编写,比如安卓的系统就是用C语言编写,不过它的应用程序是用JAVA写的,然后通过JAVA虚拟机解释成手机可以识别的指令。运用到高级汇编语言。
现在的手机的处理器一般都是基于ARM内核做出来的,所以兼容性不成问题。解释的话就是用的ARM的汇编语言,一般的汇编语言的教程都会有,而且这块相对来说不是很难。
用ARM的编译器ADS编译的,嵌入式中所谓交叉编译环境,就是在PC上建立编译环境,然后编译出来可以在手机上运行的程序。编译之后通过下载工具download到手机上就行了,平时大家讲的刷机,就是这个过程。
智能手机操作系统是一种运算能力及功能比传统功能手机更强的操作系统。使用最多的操作系统有:Android、iOS、Symbian、Windows Phone和BlackBerry OS。他们之间的应用软件互不兼容。因为可以像个人电脑一样安装第三方软件,所以智能手机有丰富的功能。智能手机能够显示与个人电脑所显示出来一致的正常网页,它具有独立的操作系统以及良好的用户界面,它拥有很强的应用扩展性、能方便随意地安装和删除应用程序。
编译Android源码和内核源码的区别
Android源码编译之后生成的是ramdisk.img、system.img和userdata.img。而内核源码编译完成之后生成的是ZImage。在一般情况下Android源码是不带有内核源码的,但是带有一个镜像,这样在编译完Android源码之后就可以模拟器启动了,如果要更换系统的内核,此时将高版本的内核源码进行编译生成ZImage然后替换Android系统的的镜像。这样使用模拟器启动之后就可以查看内核是否已经被刷新。
请注意,android源码和kernel源码是分开下载的
编译android源码
进入source目录下,执行make 即可。
编译完成后,可以在源码目录的out/target/product/generic/目录下看到编译好的ramdisk.img、system.img和userdata.img了。
编译内核源码
新建Kernel/goldfish,在这个目录下进行编译
如何编译android kernel
1.准备工作: (ubuntu1110 32位)
ubuntu等linuxOS,下载好eclipse,安装好JDK, 安装好android的SDK, 在eclipse中成功打开android 手机模拟器即OK。
2.初始化编译环境 :
关注该网页上的“installing required packages”,其中有的软件包因为版本问题而安装不上,不用管它,之后遇到错误再单独解决。
3.下载内核源码:
android 2.3 内核 下载需要等待一段时间。
4.下载交叉编译器:
该步骤有可能耗费大量时间,依据网速不同,几个小时到几天不等,或许可以尝试git clone 后面的地址只下载prebuilt/linux-x86/toolchain
5.设置参数以及编译:
$ export ARCH=arm
$ export SUBARCH=arm
$ export CROSS_COMPILE=arm-eabi-
$ cd goldfish // 进入下载的源代码目录
$ git checkout 《commit_from_first_step》 //这个步骤我没有做,不知道干嘛用的
$ make goldfish_defconfig
$ make
6.报错信息:
***隐藏网址***
7.测试:
最后,测试一下刚才编译的内核:emulator -avd myavd -kernel ~/goldfish/arch/arm/boot/zImageemulator若系统找不到,可以去android SDK中某文件夹找到,加入系统PATH即可。 -avd后面的参数 myavd即为模拟器的名字,这个我是在eclipse中的模拟器管理中新建的一个模拟器,用那个模拟器的名字即可。 -kernel后面的参数就找到刚才编译出的内核的路径。
若启动模拟器失败,可尝试关闭后再启动。第一次启动模拟器时可能需要等待比较长的时间,3分钟到15分钟不等。
termux编译手机内核版本是什么意思
指操作系统或者相应软件中最核心的功能框架部分。termux编译手机内核版本是指操作系统或者相应软件中最核心的功能框架部分。它负责管理系统的进程,内存,设备驱动程序,文件和网络系统,决定着系统的性能和稳定性。
如何编译一个可以烧写进手机中的ROM,Android安卓开发者
首先.还是跟其它文章讲的一样.先下载ANDORID的源码.在下源码之前.请看下面第一步
----------
增加代码,下真机配置
1
vim .repo/local_manifest.xml
《?xml version="1.0" encoding="UTF-8"?》
《manifest》
《project path="kernel" name="kernel/msm" revision="refs/heads/android-msm-2.6.29"/》
《project path="hardware/htc/dream" name="platform/hardware/htc/dream" revision="master"/》
《/manifest》
增加上面这段代码,为一个配置.告诉服务器.我们下的代码.是要装进真机的.
(就为了多下载一个KERNEL下来。。还有下载DREAM的真机配置参数..)
小哈在这里折腾了很久.很久..非常久..回忆起来内牛满面
-----
下相关的代码
2.
repo sync
-----
3.
vim env_rc
加入:
export EMU=/home/coconut/cupcake/out/host/linux-x86/bin
export ARCH=arm
export CROSS_COMPILE=arm-eabi-
export PATH=$PATH:/home/coconut/cupcake/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin:${EMU}
source env_rc
4.
编译内核及无线网络驱动
$ cd $ANDROID/kernel
$ make ARCH=arm CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- msm_defconfig # 设定默认的msm配置
#编译内核
make ARCH=arm CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-
#编译无线网络驱动
cd $ANDROID/system/wlan/ti/sta_dk_4_0_4_32
make ARCH=arm CROSS_COMPILE=$ANDROID/prebuilt/linux-86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- KERNEL_DIR=$ANDROID/kernel
//内核拷到目录下
$ cp $ANDROID/kernel/arch/arm/boot/zImage $ANDROID/vendor/htc/dream-open/kernel
$ cp $ANDROID/system/wlan/ti/sta_dk_4_0_4_32/wlan.ko $ANDROID/vendor/htc/dream-open/wlan.ko
5.
在HTC网站(developer.htc.com/adp.html)
下载名为signed-dream_devphone_userdebug-ota-14721.zip的包,并把它放在$ANDROID目录下
$ cd $ANDROID
$ source build/envsetup.sh
$ lunch aosp_dream_us-eng # 指明机型
这样编译出来.就会在OUT下出来一个DREAM_OPEN的目录.里面就有相关的镜像文件了.
$ cd vendor/htc/dream-open
$ ./unzip-files.sh # 解压htc相关驱动
$ cd $ANDROID
$ vi buildspec.mk # 新建配置文件
----
Vim htc_dream.mk
vim /oracle/android/src/vendor/htc/dream-open/htc_dream.mk
在头部增加
PRODUCT_PACKAGES := \
Calculator \
Email \
ImProvider \
SdkSetup \
VoiceDialer
完成。
回到根目录
cd /oracle/android/src
vim buildspec.mk
加入( 2010.7.7 不需要加入):
#TARGET_PRODUCT:=htc_dream
#TARGET_PREBUILT_KERNEL:=kernel/arch/arm/boot/zImage
增加:
CUSTOM_LOCALES:=zh_CN
然后:
其中增加环境:
ubuntu 8.10 , sudo apt-get libelf-dev
make clean
// 保证PC有 1280 内存, 加上 1000 SWAP空间..虚拟机也是如此.
然后开始编译 BOOT.IMG SYSTEM.IMG USERDATA.IMG:
make -j2
接下来
mmm -B $ANDROID/packages/apps/Luancher/ snod
cd out/target/product/dream-open/
//先测试:
emulator -system . -kernel ~/cupcake/prebuilt/android-arm/kernel/kernel-qemu -data userdata.img
因为出来了BOOT.IMG.这个是真机的..所以不能用BOOT做为内核.要用模拟器来做内核.
//然后开始烧机
fastboot flash boot boot.img
fastboot flash system system.img
fastboot flash userdata userdata.img
fastboot reboot
怎么修改Android 的Linux内核
Android 产品中,内核格式是Linux标准的zImage,根文件系统采用ramdisk格式。这两者在Android下是直接合并在一起取名为boot.img,会放在一个独立分区当中。这个分区格式是Android自行制定的格式。
Android开发时,最标准的做法是重新编译于内核和根文件系统,然后调用Android给的命令行文件mkbootimg(out/host/linux-x86/bin/)来打包。
在制作手机ROM时,有时会单独编译内核或抽出根文件进行修改内容,比如我只编译内核,其余的地方不变。这样重新安装巨大的Android开发环境实在不划算。因此很多boot.img解包工具被人开发出来,这一些工具都是把内核和根文件系统从一个现成的boot.img抽取出来,修发后再次打包还原。
一.常见的解包工具
因为boot.img的格式比较简单,它主要分为三大块(有的可能有四块)
因此很多人开发分析工具,有是linux shell脚本,比如repack-zImage,也有人采用perl,还有C语言编写的 unbootimg,
我使用的是在源码位置system/core/mkbootimg/ 下的 mkbootimg。为了简化,蓝点工坊把与mkbootimg中打包工具和解包工具以及所包含的libmincrpty库抽出来,并且重写一个Makefile,作为开源项目。
使用者只需要在linux(需安装gcc,make,一般是标配)或windows(需要安装mingw)的命令行执行make,即可产生可执行文件mkbootimg ,unpackbootimg。
二.解/打包工具使用
解包工具:unpackbootimg
常见格式
unpackbootimg -i .\tmp\boot.img -o .\out
这一句命令行表示把boot.img解包,所有文件输出到out目录下
它会解压出如下文件:
boot.img-zImage (内核文件)
boot.img-ramdisk.gz (根文件系统打包文件)
boot.img-cmdline (mkbootimg cmdline参数)
boot.img-pagesize (mkbootimg pagesize参数)
boot.img-base (mkbootimg base参数)
打包工具:mkbootimg (Android自带)
常见的命令格式:
./mkbootimg --cmdline ’no_console_suspend=1 console=null’ --kernel zImage --ramdisk boot/boot.img-ramdisk.gz -o boot.img --base 02e00000
这句含义是把内核文件zImage和boot目录下的根文件压缩包 boot.img-ramdisk.gz打包成boot.img.
其中cmdline和base的值均来源于unpackbootimg的结果
手机操作系统是怎样做出来的
手机操作系统大都是用汇编和C语言编写内核用JAVA编写的框架。
手机操作系统目前分为iOS和Android。Android底层驱动,以及操作系统全部内核都是使用C语言和汇编语言编程开发。但是android操作系统本身是使用Java开发,使用JNI调用本地的C语言库,由操作系统实现对底层调用。iOS系统是苹果自己开发的,核心合适C语言。
手机的操作系统使用C语言编写出来之后,是非常的丑陋的,说白了手机的操作系统就是各种各样的接口而已。手机操作系统的底层,是用来调用手机的各种硬件,这才是操作系统核心的东西。
操作系统的本质是对硬件的调用和控制,所以手机操作系统包含所有相应语言的编译器,PC端使用编程软件如VC++6.0编码后可以直接在手机操作系统上运行。
扩展资料:
两种当前主流系统的介绍:
Android 英文原意为“机器人”,Andy Rubin于2003 年在美国创办了一家名为Android 的公司,其主要经营业务为手机软件和手机操作系统。Google 斥资4 000 万美元收购了Android 公司。
Android OS是Google(谷歌)与由包括中国移动、摩托罗拉、高通、宏达和T-Mobile 在内的30 多家技术和无线应用的企业组成的开放手机联盟合作开发的基于Linux 的开放源代码的开源手机操作系统。
IOS是由苹果公司开发的手持设备操作系统。苹果公司于2007 年1 月9 日的Macworld 大会上公布这个系统,以Darwin(Darwin 是由苹果电脑的一个开放源代码操作系统)为基础,属于类Unix 的商业操作系统。
2012 年11 月,根据Canalys 的数据显示,iOS 已经占据了全球智能手机系统市场份额的30%,在美国的市场占有率为43%。

更多文章:
塞班论坛格式化(手机XX是什么意思 固件是什么意思 刷机是什么意思 格机是什么意思 等等的一些术语)
2026年10月15日 06:00
三星哪款手机值得购买(三星什么手机比较好(选择最适合你的需求和预算的手机))
2026年10月14日 20:10








