当前位置:   article > 正文

工作错误记录_if you want to change this, please re-run 'repo in

if you want to change this, please re-run 'repo init' with --config-name

Q:拉取代码时,提示错误your identity is :xxx

if you want to change this ,please re-run 'repo init' with --config-name:

A:不用管,直接执行repo sync -j8就可以了

Q:代码无法同步,或git reset HEAD提示unstaged changes after reset

A:一般是因为当前有改变未保存,出现这种现象的原因好像是因为在新分支上,repos没有感知不到这个阶段的改变,你要用 add 或 stash, 让其知晓,才能做想要的回滚。

执行

git stash

git stash drop

Q:在板子命令行,输入reboot fastboot,一直无法进入到命令行界面。

A:原因:fastboot将进入命令行的途径给屏蔽了

解决办法:1、找硬件将emmc上的clock等短路(不推荐)

2、将GX-RECORVEY_BOARD_V2(专门用来短路设备的,让开发板只能打印板子初始信息的内容)插入至开发板的hdml口(5JA1),给小板子插电,给开发板上电,烧写开发板。(推荐)

Q:SC2板子上电后,不能进入UBOOT,重新烧录大包的办法

A:板子后面有个USB boot,按住后,启动板子,出现以下信息:

命令行界面中输入adnl device,检测到设备后,就使用USB burning。(只要出现上述log,即可进行烧录)

Q:增添了bashrc命令后,每次打开终端,没有效果?

A:法一:每次打开终端后,执行source ~/.bashrc

法二:touch~/.bash_profile并增添内容:

if [ -f~/.bashrc ]; then

.~/.bashrc

fi

Q:adb push时提示 remote couldn't create file: Read-only file system

A:'\'改成'/',或者是有中文路径。

Q:出现disagree的情况,可能是闭源ko出现问题,使用如下命令,忽视闭源ko,使其正常运行。

A:setenv bootcmd "setenv bootargs$bootargs loglevel=8 initcall_debug=1 module_blacklist=hdr10_tmo_alg,amlogic_fbc_lib_32; run storeboot"; saveenv; run storeboot

红字为ko名称。

注:若是想取消,则执行命令

env default initargs;saveenv;reboot

即可恢复环境变量

Q10:如何在不提交当前分支AAA的改动下,切换分支BBB?

A10:

1、将修改储存,切换其他分支

git stash

git checkout BBB

2、修改完成后,回到AAA分支

git checkout AAA

git stash list 查看存储的修改

3、恢复办法1:

apply恢复后手动drop清除stash

git stash apply

git stash drop

多个stash时,恢复指定stash需要加上id,如:

git stash apply stash@{0}

恢复办法2:

git stash pop

多个stash时,恢复指定stash需要加上id,如:

git stash pop stash@{0}

Q:如何查看当前代码的版本

A:head Makefile,显示为5.4.180版本

Q12:git log 与gitlog的区别,

A12:git log显示的是提交代码的时间顺序,

gitlog显示的是merge代码的时间顺序,这个更重要。

Q:编译内核时出现这样的错误,$(srctree) is not clean,please run 'make mrproper'

A:在common目录下执行make mrproper,还有错误2没解决(可能是因为安卓的原因,把安卓的hardware/amlogic版本回退到和kernel一样的版本)

Q:Image、uImage、zImage有什么区别?

A:内核编译(make)之后会生成两个文件,一个Image,一个zImage,其中Image为内核映像文件,而zImage为内核的一种映像压缩文件。uImage是uboot专用的映像文件,它是在zImage之前加上一个长度为64字节的“头”,说明这个内核的版本、加载位置、生成时间、大小等信息;其0x40之后与zImage没区别。

Q:如何查看当前板子版本有没有开启KASAN

A:输入zcat /proc/config.gz | grep CONFIG_KASAN

若CONFIG_KASAN宏是0,则没开启,反之则开启。

Q:拉取别人代码时,出现这样的问题,

A:是因为该代码已经存在于你的代码中,所以不需要拉取。

Q:git提交时出现trailingwihitespace

A:出现尾随空格,通常出现再语句结尾,一般删除句末空格

Q:当需要对原生代码进行修改时,需要增加个宏。

A:

#ifdef CONFIG_AMLOGIC_MODIFY

new code

#endif

Q:当cherry pick下别人未merge的代码后,进行修改,并想提交到他的提交页面下

A;git add 新文件

git commit --amend -s

Q:

A23:__func__代表本函数,通用的调试信息,可输出本函数出现了问题。

Q24:

A24:

可能是由于机器架构不同的问题,本地机器是32位的,void*和int所占位数一致,但是,远程机器使用的是64位机器,因此,编译出现问题。通过使用long就可以解决这个问题了。void __iomem *vaddr = (void *)(long)reg;

Q25:git commit出现错误,error: do not set execute permissions for source files?

A25:错误含义是不要给资源文件设置可执行权限,该资源文件的权限为:

使用命令

chmod 644 common_drivers/drivers/debug/Kconfig修改文件权限

Q26:git push出现错误git push --no-thin reviewHEAD:refs/for/xxxx?

A26:加上选项--no-thin,git push 默认通过thin选项进行优化,以将所发送的包降低到最小,忽略本地仓库和远端仓库中共有的部分

Q27:若git commit出现缺少change-ID的情况,应该是第一次创建仓库。

A27:根据hint提示:输入命令。

Q28:jenkins编译4.9-q(添加了CL)时,出现这样的错误:

A28:原因是CL是kernel/common目录下的,编译时,参数中应设置为

否则,会跑到vendor/amlogic/common/kernel/common目录去,但找不到该目录,所以报错。

Q29:烧录大包时出现这样connect romboot/checkPWD/Undefined/Undefined 3%

A29:

可能原因1:bootloader被加密了,在cmd中用

adnlsetkey password.bin

将密码导入,然后选择不擦除bootloader、进行烧写。

Q30:获取随机数

A30:sched_clock() % 20 + 9 可以获取到20-29之间的随机数,sched_clock()是获取系统子启动以来的时间,精度为纳秒。

Q31:编写新的ko文件方式

A31:将.c文件放在常用目录下如driver/amlogic/debug/。并更改该目录下的Makefile文件。增添obj-m +=test.o即可,不需要自己创建Makefile,需要module_install目录下的rootfs_gki.cpio.gz.uboot。

Q32:编写了一个新函数,需要在ko文件中用到,但是串口提示该ko文件未找到该定义

A32:在这个函数定义的后面需要加上EXPORT_SYMBOL(该函数)。

Q24:在softlockup检测中,发现rcu干扰。

A24: 将rcu检测时间改为100(默认是21),echo 100 >/sys/module/rcupdate/parameters/rcu_cpu_stall_timeout

Q:命令分析:

grep hrtimer_expire_entry trace | sed 's/.*

00.
//' | awk'{arr[$4]++; fun[$4] = $5; } END {for (i in arr)print arr[i] " " i" "fun[i]}' | sort -g -r | head -n 15

A:

grep hrtimer_expire_entry trace:查找到trace文件中关于hrtimer_expire_entry的行。

sed 's/.*

00.
//':处理上述这些项,删除']'之前的数据(包括']')

awk '{arr[$4]++; fun[$4] = $5; } END {for (i in arr)print arr[i]" " i " "fun[i]}':相同hrtimer进行计数显示,并且输出其中的某些项

arr[$4]++类似于哈希表计数;$5代表第5项function =hrtimer_wakeup

sort -g -r :排序,默认是升序,-r是按照相反的顺序,-n是按照数值排序

head -n 15 :取前15个。

Q26:echo x > /sys/module/amlogic_debug/parameters/sysrq,5.15的关中断

A26:不能放在该目录下,parameters目录下所有参数读写任何值都不应该死机。

Q27:碰到有人config没开,

A27:可使用beyond config对照2个config文件,进行查看,增添。

执行make_arm_kernelshine_defconfig,添加到config中,

执行make_arm_kernelmenuconfig后,点击”/“,查找该config,看依赖于哪个config,并将对应的赋值y,

Q28:16进制的地址对应

A28:

0.5G

0x2000 0000

1G

0x4000 0000

2G

0x8000 0000

3.5G

0xE000 0000

4G

0x1 0000 0000

Q29:在增添虚拟地址接口中,paddr,vaddr,dump的地址关联,向paddr写入地址,vaddr也会受影响,原因?

A29:原因是

这三个值是一样,解决办法是

Q30:git push时出现这个错误,change https://scgit.amlogic.com/276937 closed ?

A30:原因是本地有多个提交(但已经merge了),push时,出现错误。

Q31:debugfs_create_dir默认将目录创建在?

A31:创建在sys/kernel/debug/下

Q32:call_sub_init与module_init

A32:前者类似于后者,都是模块初始化用的,区别在于,前者应放在后者的初始化函数中,

Q33:ret =strncmp(str1, str2, 5)

A33:5代表比较前5个字节,

ret < 0

str1 < str2,比较首字符

ret = 0

str1 = str2,

ret > 0

str1 > str2

Q:

A:原因是未执行git remoteadd review ssh://qiankun.wang@scgit.amlogic.com:29418/xxx命令。远程仓库未创建

Q:EXPORT_SYMBOL的作用,如何使用?

A:函数或符号前加EXPORT_SYMBOL的作用是对全部内核代码公开,不用修改内核代码就可以在内核模块中直接调用。

使用方法:在模块函数定义之后使用"EXPORT_SYMBOL(函数名)"来声明,在调用该函数的另外一个模块中使用extern对之声明,先加载定义该函数的模块,再加载调用该函数的模块。

Q:uma与numa的区别

A:

uma,uniform memoryaccess,所有CPU对内存的访问都是一致的每天处理器可以有私有的高速cache,随着CPU的增加,内存带宽会成为性能的瓶颈问题。

numa,non-uniform memory access,通过提供分离的存储器给各个处理器,NUMA系统的结点通常是由一组CPU和本地内存组成,有的结点可能还有I/O子系统。由于每个结点都有自己的本地内存,因此全系统的内存在物理上是均匀分布的,每个结点访问本地内存和访问其它结点的远地内存的延迟是不同的,为了减少非一致性访存对系统的影响,在硬件设计时应尽量降低远地内存访存延迟(如通过Cache一致性设计等),而操作系统也必须能感知硬件的拓扑结构,优化系统的访存。

Q:内存数据解析时,几个数据问题。

A:vmallocused与实际vmalloc页面数据不符合,因为5.4中,vmallocused还会计算上cma_driver的数据。所以从log上看,cma_driver = vmallocused - 计算出的数据。vmallocused = 计算出的数据。

page struct table:实际内存大小/4k *36 /1024,代表的是pagestruct结构体所占用的字节大小。

DTB:搜索loading device tree,前后数据相减。

per-cpu:搜percpu:Embedded,page * cpu数量 * 4

Q:git push review HEAD:refs/for/xxxx时提示错误:

error:remote unpack failed: error missing tree xxxxxxxxxxxx

A:

git push--no-thin review HEAD:refs/for/xxxx

--no-thin:向服务器提交代码时不对信息进行压缩处理,

git push 默认通过thin选项进行优化,以将所发送的包降低到最小,忽略本地仓库和远端仓库中共有的部分

这个问题可能是“Gerrit 与 git 不兼容导致的。具体原因是git 提交时,在 Gerrit 生成了一个未关闭的 review 请求,但是这个请求并不属于任何一个提交”

Q:BUSHANG

A:读写寄存器导致总线拉死,driver/task无法喂狗,然后触发watchdog reboot

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/659487
推荐阅读
相关标签
  

闽ICP备14008679号