Linux开发平台搭建常见错误

一. 在Ubuntu14.04上编译PCAN驱动时以及对应的测试程序时,出现以下错误:

cc: error trying to exec 'cc1plus': execvp: No such file or directory

这是因为GCC默认没有安装g++编译器。安装即可:sudo apt-get install g++

二. 安装搜狗输入法

  1. 先安装fcitx: sudo apt-get install fcitx

  2. 选择fcitx做为语言默认选项: 系统-> 语言支持,在"Keyboard input method system"中选择:fcitx。重启系统

  3. 进入网页http://pinyin.sogou.com/linux/help.php,则自动完成软件包下载。如果没有安装fcitx,则不会自动下载

  4. 点击安装

  5. 运行im-config,选择fcitx,重启

  6. 在语言栏中选择搜狗输入法,按ctrl可以完成中英文输入法切换

三. Mount iso 文件

mount –o loop /zzm/ppc-2004-02-16.iso /mnt/cdrom

四. 修改文件夹下所有文件的权限

chmod -R 777 .

五. 用户名和密码都正确,但是无法登陆Ubuntu

1). 使用ctrl+Alt+F1,用root登陆到terminal

2). df -h查看当前硬盘使用情况,发现磁盘占用率为100%.

3). 删除多余文件后即可登陆

六。Linux 磁盘分区工具: gparted

七. 磁盘相关操作

1). fdisk -l 用于查看磁盘分区情况,如下:

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048    37750783    18874368   83  Linux
/dev/sda2        37752830    41940991     2094081    5  Extended
/dev/sda3        41940992    83886079    20972544   83  Linux
/dev/sda5        37752832    41940991     2094080   82  Linux swap / Solaris

2). df -h查看磁盘使用情况

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        18G   13G  4.0G  77% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev            2.0G  4.0K  2.0G   1% /dev
tmpfs           406M  1.7M  404M   1% /run

八. dd命令使用说明

在大多数的unix/linux对磁盘io的写操作都是通过缓存来完成的,基本的原理如下:当将数据写入文件时,内核通常先将该数据复制到其中一个缓冲区中,如果该缓冲区尚未写满,则并不将其排入输出队列,而是等待其写满或者当内核需要重用该缓冲区以便存放其他磁盘块数据时,再将该缓冲排入输出队列,然后待其到达队首时,才进行实际的I/O操作。 我们称之为延迟写,极大的减少了写磁盘的次数

dd if=fsl-image-qt5-x11-imx6qdlsolo.sdcard of=/dev/sdb bs=1M conv=fsync

bs=1M 表示缓冲区的大小,对于大的文件,通常缓冲区大一些会速度快一些

conv=fsync

sync函数只是将所有修改过的块缓冲区排入写队列,然后就返回,它并不等待实际写磁盘操作结束。通常称为update的
系统守护进程会周期性地(一般每隔30秒)调用sync函数。这就保证了定期冲洗内核的块缓冲区。
    fsync函数只对由文件描述符filedes指定的单一文件起作用,并且等待写磁盘操作结束,然后返回。fsync可用于数据库这样的应用程序,这种应用程序需要确保将修改过的块立即写到磁盘上。
    fdatasync函数类似于fsync,但它只影响文件的数据部分。而除数据外,fsync还会同步更新文件的属性

seek: seek=blocks:从输出文件开头跳过blocks个块后再开始复制。如:

sudo dd if=<U-Boot image> of=/dev/sdx bs=512 seek=2 conv=fsync

seek=2表示跳过2个block,每个block size由bs=512指定,即copy到0x400 bytes开始处。

dd if=zImage of=/dev/sdb bs=512 seek=2048 conv=fsync

上述命令将zImage文件写入到sdb 1Mbyte开始的偏移处.

九. 直接从SD卡某扇区处读指定数据的方式:

dd if=/dev/sdb of=/home/hhj/u-bootdump.txt bs=512 count=200

count为扇区数. of指定为保存的文件. /dev/sdb为要读的磁盘


十. 搜索Ubuntu自带的软件包

apt-cache search gnueabi | grep gcc

你可能感兴趣的:(Linux开发平台搭建常见错误)