
最近想学习ARM9,板子还没到,先拿树莓派体验一下,以前看教程编译过一次,这一次想写的更加详细一点。
我不是技术的生产者,我只是技术的搬运工。树莓派ip
以下所有知识均来至网络上的高手分享的。
所有链接如下:
感谢前辈们的无私分享。
说一下用到的所有软硬件。
操作系统:Ubuntu15.04(64) win7(64)
树莓派:B+,Raspbian
FileZilla
开始:先看看树莓派IP

先看一下树莓派上要做的:
先烧好系统,把配置文件 复制到 /home/pi 路径下,顺便看看内核版本。
uname -a
sudo cp /proc/config.gz .

树莓派上要做的就这些,
看下Ubuntu 要做的 (用的最新版本 15.04 所以有些问题要解决)
先下载 树莓派 的 源码、工具和固件。
以下操作均在 root 权限下进行 注意 路径!!
在 /home/你的用户名 创建文件夹 名称自定
mkdir rpi
cd rpi
git clone git://github.com/raspberrypi/firmware.git PRiFirmware 固件
git clone git://github.com/raspberrypi/tools.git RpiTools 工具
wget https://github.com/raspberrypi/linux/archive/rpi-3.18.y.tar.gz
源码 刚才我们看到我们烧写的镜像也是3.18的 所以这里也下载3.18的



所有的工具源码下载完毕后,解压下载的源码
tarxvfz rpi-3.18.y.tar.gz
顺便换个名字
mv rpi-3.6.y RpiLinux
接下来把刚才备份的 配置文件 config.gz 复制到 Ubuntu上来
192.168.1.31 是我的树莓派IP
scp -p pi@192.168.1.31:config.gz /home/liu/rpi/RpiLinux
下载后解压一下
zcat config.gz > .config

至此准备工作就差不多了
下面还要配置或者安装一下 编译必须的 库 因为Ubuntu是64位的
先安装一下 32位的 一些库
用来解决
arm-bcm2708hardfp-linux-gnueabi- menuconfig 找不到命令的错误

sudo apt-get install lib32z1 lib32ncurses5
然后解决 curses.h:No such file or directory 问题
安装 Ncurses
sudo apt-get install libncurses5-dev

所有准备工作完毕 可以编译内核了
先看看配置是不是正确
make ARCH=arm CROSS_COMPILE=../RpiTools/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin/arm-bcm2708hardfp-linux-gnueabi- menuconfig



编译的时候 顺便 添加一内核调用,然并卵 我也不知道具体操作但是体验一把 还是很必要的
/*****************************************************************************/
不需要的 跳过 这些
在RpiLinux/arch/arm/kernel/目录下新建mysyscall.c文件,输入以下内容


/arch/arm/kernel/calls.S中添加新的系统调用,
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-77760-1.html
老美本想现叫is打乱巴萨尔