1. 无法卸载动态加载的模块
如图所示情况:
在lib/modules目录下创建3.2.8-JasonARM目录即可卸载。
2. 帧缓冲驱动已移植成功后,为了启动QT,配置了Networking support与Gernel Setup下的内核选项,因界面中用了socket及信号量,具体配置参考友善之臂,不详细列出。
3. 修改启动后终端中主机名
可以再/etc/init.d/rcS文件中,添加如下代码:
4. 编译小技巧
使用verbose模式,将每一步执行的命令都打印出来,并重新定向到一个文件中去这样以后方便查找模块之间的依赖关系。
# make V=1 > ~/bat.txt
执行make htmldocs/pdfdocs/psdocs之后,在Documentation/DocBook/目录下,会生成一些很重要的文档:
A.kernel-api: 内核开发的API手册;
B.kernel-locking: 内核加锁的HOWTO文档;
C.kernel-hacking: 内核开发的一些注意事项;
D.usb: USB Host端的API手册;
E.gadget: USB Device端的API手册.
5. 64位Ubuntu运行32位arm-linux-gcc
需要安装 ia32-libs
apt-get install ia32-libs
6. 官方ndk与android系统自带ndk在编译浮点运算程序时运算时间的差距
使用谷歌官方提供的ndk(android-ndk-r9-linux-x86.tar.bz2)编译带浮点运算的c代码,运算时间长,而使用Android-4.0.1中的ndk编译,运算时间大大缩短,从9.7秒左右到1.3秒左右!(这里的时间为直接编译成C代码在手机上执行,下面的时间为打包成apk时计算时间)
解决办法:在应用程序的JNI目录下添加Application.mk,如下。
-
# Build both ARMv5TE and ARMv7-A machine code.
-
NDK_TOOLCHAIN_VERSION := 4.4.3
-
APP_ABI := armeabi-v7a #armeabi
-
APP_MODULES :=libXXX
-
APP_OPTIM := release
-
OPT_CFLAGS := -O2 -fno-exceptions -fno-rtti -fno-bounds-check -funroll-loops -funswitch-loops -fvisibility=hidden \
-
-finline-functions -funsafe-loop-optimizations -march=armv7 \
-
-mfloat-abi=softfp -mfpu=neon
-
-
OPT_CPPFLAGS := $(OPT_CLFAGS)
-
-
APP_CFLAGS := $(APP_CFLAGS) $(OPT_CFLAGS)
-
APP_CPPFLAGS := $(APP_CPPFLAGS) $(OPT_CPPFLAGS)
经过测试,起到作用的选项是OPT_CFLAGS,这个选项直接把运行时间缩短为1.30左右;如果不加这个选项,但是保留其余,运行时间1.65秒左右;如果注释掉OPT_CFLAGS和APP_ABI 两项,运行时间则高达11.20秒左右!
7. Ubuntu12.04设置root自动登录
>> sudo passwd root //根据提示,设置root密码
>> gedit /etc/lightdm/lightdm.conf &
修改autologin-user=leon为
autologin-user=root //按装操作系统时,已设置自动登录,其余无需配置
>> reboot //自动为root用户
8. VirtualBox共享文件夹设置
按装VirtualBox增强功能:设备->安装增强功能
a. 关闭Ubuntu,VirtualBox->设置->数据空间->固定分配:添加共享文件夹路径与共享名。(注意,千万别选中自动挂载,否则反而不能自动挂载。)
b. 启动Ubuntu,新建文件夹“mkdir /mnt/share”,挂载“mount -t vboxsf Linux_Win7_Share /mnt/share/”。
c. 开机自动挂载,/etc/fstab中添加一行,保存
“Linux_Win7_Share /mnt/share vboxsf defaults 0 0”
9. *** glibc detected *** ./DownSample: munmap_chunk(): invalid pointer: 0xb75a4608 ***
malloc分配的指针被修改以后,再传给free,导致了munmap错误。
10. 中文文本乱码
复制以下命令到终端中,然后回车即可:
-
gsettings set org.gnome.gedit.preferences.encodings auto-detected "['UTF-8','GB18030','GB2312','GBK','BIG5','CURRENT','UTF-16']"
11. 使用KVM加速Android Emulator启动速度
详细见文章:
12. 使用adb push命令返回Read-only file system解决方法
四个命令解决:
# adb shell
# mount -o remount rw /
# exit
# adb remount
13. 使用deb包更新无网络的Ubuntu机器
有时候我们的Ubuntu机器因为某种原因不能连网,我们可以通过在可以上网的Ubuntu机器上下载deb包,然后拷贝到不能连网的Ubuntu机器上的响应目录进行安装。
在能连网的机器上:
# rm /var/cache/apt/archives/* -rf
# apt-get install ***
因为apt-get install的命令会缓存在“/var/cache/apt/archives/”目录,所以先清除原有的文件,以免混在一起。
在不能连网络的机器上,拷贝deb包到“/var/cache/apt/archives/”目录,然后
# apt-get install ***
即可。
14. 64位Ubuntu12.04系统编译Android4.0.3系统提示“cannot find -lncurses”
安装32位的库:apt-get install libncurses5-dev:i386
15. SecureCRT中文乱码
a.
修改环境变量LANG
我的是Lubuntu系统,在
/etc/init.d/rc中添加一行:
export LANG=zh_CN.UTF8
b.
设置SecureCRT
“Option”->“Session
Option”->“Appearance”:
右边“Character”下拉菜单里选择“UTF-8”;
点击“Font...”,弹出菜单里“字体”选择“新宋体”;
阅读(5576) | 评论(0) | 转发(2) |