九鼎创展论坛
标题:
根据x4418的最新资料,编译内核成功,启动内核报错?
[打印本页]
作者:
duwu891229
时间:
2015-8-30 15:52
标题:
根据x4418的最新资料,编译内核成功,启动内核报错?
本帖最后由 duwu891229 于 2015-8-30 16:10 编辑
采用的交叉工具链是:gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux(buildroot下载的)
编译脚本片段:
toolchain_dir=/home/duwu/arm-linux/x4418/buildroot-2015.05/output/host/usr/bin
PATH=$PATH:$toolchain_dir
cross_compile=arm-linux-gnueabihf-
kernel_config=x4418_defconfig
make_kernel(){
cd ${kernel_dir} || return 1
make clean
make ${kernel_config}
make uImage ARCH=arm CROSS_COMPILE=${cross_compile}
echo "finish make kernel"
return 0
}
复制代码
打包脚本片段:
x4418_dir=/home/duwu/arm-linux/x4418
prod_dir=$x4418_dir/camera_prod
#
tool_dir=$prod_dir/tool
PATH=$tool_dir:$PATH
output_dir=$prod_dir/output
kernel_dir=$x4418_dir/kernel
#
cp $kernel_dir/arch/arm/boot/uImage $output_dir/boot || return 1
mkuserimg.sh -s ${output_dir}/boot ${output_dir}/boot.img ext4 boot 67108864
复制代码
使用fastboot烧写内核,启动信息:
[ 0.179000] PTP clock support registered
[ 0.180000] ###################### x4418 board #######################
[ 0.182000] web:
www.9tripod.com
[ 0.183000] bbs:
www.bbs.9tripod.com
[ 0.184000] tel:0755-33133436 0755-33121205
[ 0.185000] Baoan District City,Shenzhen Industrial Road Internet inductry base 3003B District B
[ 0.186000] Shen Zhen 9tripod innovation and development co.,ltd
[ 0.187000] ##########################################################
[ 0.193000] axp_mfd 3-0034: AXP (CHIP ID: 0x06) detected
[ 0.198000] [x4418] axp22_ldo1: 3000 mV
[ 0.201000] [x4418] axp22_aldo1: 700 <--> 3300 mV at 3300 mV
[ 0.204000] [x4418] axp22_aldo2: 700 <--> 3300 mV at 1800 mV
[ 0.207000] [x4418] axp22_aldo3: 700 <--> 3300 mV at 1000 mV
[ 0.210000] [x4418] axp22_dldo1: 700 <--> 3300 mV at 3300 mV
[ 0.213000] [x4418] axp22_dldo2: 700 <--> 3300 mV at 1800 mV
[ 0.217000] [x4418] axp22_dldo3: 700 <--> 3300 mV at 700 mV
[ 0.220000] [x4418] axp22_dldo4: 700 <--> 3300 mV at 700 mV
[ 0.223000] [x4418] axp22_eldo1: 700 <--> 3300 mV at 1800 mV
[ 0.226000] [x4418] axp22_eldo2: 700 <--> 3300 mV at 3300 mV
[ 0.229000] [x4418] axp22_eldo3: 700 <--> 3300 mV at 700 mV
[ 0.232000] [x4418] axp22_dc5ldo: 700 <--> 1400 mV at 1200 mV
[ 0.235000] [x4418] axp22_dcdc1: 1600 <--> 3400 mV at 3300 mV
[ 0.238000] [x4418] axp22_dcdc2: 600 <--> 1540 mV at 1100 mV
[ 0.241000] [x4418] axp22_dcdc3: 600 <--> 1860 mV at 1100 mV
[ 0.244000] [x4418] axp22_dcdc4: 600 <--> 1540 mV at 1500 mV
[ 0.247000] [x4418] axp22_dcdc5: 1000 <--> 2550 mV at 1500 mV
[ 0.250000] [x4418] axp22_ldoio0: 700 <--> 3300 mV at 3800 mV
[ 0.253000] [x4418] axp22_ldoio1: 700 <--> 3300 mV at 3800 mV
[ 0.255000] axp22-supplyer axp22-supplyer.19: AXP228_BATTERY_VERSION
2015.02.15:modify)
[ 0.256000] axp charger not limit now
[ 0.271000] now_rest_vol = 100
[ 0.273000] Advanced Linux Sound Architecture Driver Version 1.0.25.
[ 0.274000] Bluetooth: Core ver 2.16
[ 0.275000] NET: Registered protocol family 31
[ 0.276000] Bluetooth: HCI device and connection manager initialized
[ 0.277000] Bluetooth: HCI socket layer initialized
[ 0.278000] Bluetooth: L2CAP socket layer initialized
[ 0.279000] Bluetooth: SCO socket layer initialized
[ 0.281000] cfg80211: Calling CRDA to update world regulatory domain
[ 0.283000] Switching to clocksource source timer
[ 0.305000] Unable to handle kernel NULL pointer dereference at virtual address 00000001
[ 0.313000] pgd = 80004000
[ 0.316000] [00000001] *pgd=00000000
[ 0.320000] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
[ 0.320000] Modules linked in:
[ 0.320000] CPU: 0 Not tainted (3.4.39 #3)
[ 0.320000] PC is at kmem_cache_alloc_trace+0x6c/0x1f4
[ 0.320000] LR is at kmem_cache_alloc_trace+0xfc/0x1f4
[ 0.320000] pc : [<8011a068>] lr : [<8011a0f8>] psr: 20000013
[ 0.320000] sp : b3843ec8 ip : 000020c4 fp : 00000001
[ 0.320000] r10: b3842008 r9 : 80900cbe r8 : b3802200
[ 0.320000] r7 : 00000080 r6 : 802b545c r5 : 000000d0 r4 : 00000001
[ 0.320000] r3 : 808dd0c8 r2 : 00000000 r1 : b3842000 r0 : 00b65000
[ 0.320000] Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
[ 0.320000] Control: 10c5387d Table: 4000404a DAC: 00000015
作者:
armeasy
时间:
2015-8-31 09:11
下载最新的光盘编译,用我们配置好的,脚本什么的全做好了。
作者:
duwu891229
时间:
2015-8-31 10:10
本帖最后由 duwu891229 于 2015-8-31 10:22 编辑
我下的是你们8/28/2015给的链接。
交叉工具链使用的是gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux,因为使用buildroot构建的根文件系统,用的也是这个工具链。
编译内核脚本也就这两句:
make x4418_defconfig
make uImage ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
我单独提取你们源码包中kernel和prototype文件夹,编译不报错,说明不缺少文件。
打包内核为boot.img的脚本:
是没有问题的,因为我使用你们提供的uImage单独打包,启动内核没问题。
我使用linux,不大可能完全照搬你们的android脚本去编译内核,
因为太大,许多问题一步到位,出了问题没法分割。
我只能多尝试几次。
作者:
armeasy
时间:
2015-8-31 10:59
内核不在这里编译的,内核是在android源码中编译
作者:
armeasy
时间:
2015-8-31 10:59
不需要你改任何东西,直接把android源码包解压,./mk -k就可以了
作者:
duwu891229
时间:
2015-8-31 11:37
本帖最后由 duwu891229 于 2015-8-31 11:44 编辑
linux内核源码文件:使用你们发布的源码包中kernel和prototype文件夹。
linux内核编译脚本:交叉工具链配置可以自主选择,配置好环境,2句话就结了。
make x4418_defconfig
make uImage ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
目前按上面2条,
可以成功生成uImage但内核启动报错
。启动报错与是否使用你们脚本根本无关,
要么是工具链选取的问题,要么是内核中有些一些奇怪的东西。
如果按上面2条都没得到一个正常启动的的内核,那么4418的Linux开发,对于内核的任何修改,都没法保障是对的。
作者:
armeasy
时间:
2015-9-1 08:49
用我们的方式是没有任何问题的
作者:
armeasy
时间:
2015-9-1 08:50
linux和android的内核本身是不能兼容的,我们做了兼容性处理,会根据环境变量自动判断
作者:
duwu891229
时间:
2015-9-1 09:30
本帖最后由 duwu891229 于 2015-9-1 09:43 编辑
把工具链(buildroot生成的)
#toolchain_dir=/home/duwu/arm-linux/x4418/buildroot-2015.05/output/host/usr/bin
#PATH=$PATH
toolchain_dir
#cross_compile=arm-linux-gnueabihf-
更换为(原来210使用的)
toolchain_dir=/home/duwu/arm-linux/x210/arm-linux-gcc-4.4.1/bin
PATH=$PATH
toolchain_dir
cross_compile=arm-linux-
内核可以正常启动
,这个结果与
你们的兼容性处理
有关系吗?
你们的兼容性处理
,在mk脚本中内核生成部分中是没有的。唯一能看到也就是内核代码树中android文件夹和外部的prototype文件夹。
我觉得目前的结果表明,内核启动失败与工具链选取有关,感觉和“浮点配置”有关。
你们能尝试使用gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux(linux文档中buildroot所选取的工具链),
编译内核,问题就能重现
。
作者:
armeasy
时间:
2015-9-1 10:11
我们并没有用gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux去尝试编译内核,只是用它编译了buildroot和QT,内核仍然是用的android默认的
作者:
armeasy
时间:
2015-9-1 10:11
不建议换其他工具链编译,除非你对这个相当熟悉
作者:
duwu891229
时间:
2015-9-1 10:22
好吧,结贴了。
水平不够只能使用两套工具链开发。
高玩任意。
欢迎光临 九鼎创展论坛 (http://bbs.9tripod.com/)
Powered by Discuz! X3.2