向Tiny210移植Debian Linux
2013-09-01 16:16
459 查看
前言:
我个人很喜欢Debian Linux,简洁、优雅、轻便、稳定。Debian有丰富的实用程序可供选用,而且它的Aptitude工具很好用,完美的解决了Linux里经常遇到的编译、安装过程中的版本匹配和库依赖的问题。所以在硬件资源充足的嵌入式开发中,是可以考虑移植Debian的。比如使用基于ARM11的S3C6410和基于Cotex-A8的S5PV210芯片的板子(跟这个CPU搭配的RAM和Flash怎么都不会太差吧?),运行一个精简的Debian系统完全绰绰有余了。
声明:
本文的Debian Linux移植不包括Bootloader和Linux内核的移植,这方面的移植在网上已经非常的多了。本文介绍的仅仅是基于友善之臂Tiny210开发板现有的东西来制作一个文件系统,然后将这个文件系统烧到开发板上去并可以运行。这个文件系统包含了Debian运行需要的最基本的内容,后续需要的工具如ftp、nfs什么的都可以通过Aptitude一个命令搞定。
虽然移植过程并不复杂,但是本文假定读者有一定的Linux基础,接触过Ubuntu或Debian的发行版,本文不会对一些基本的东西进行说明,比如Aptitude如何使用等。不明白的可以留言问,最好是自己搜。最后,对开发板的操作需要多查阅Tiny210的用户手册。
准备工作:
获得一套Tiny210开发板及其配套资料。
安装配套资料里的Minitools,连接开发板。
准备一片可靠的SD卡以及读卡器。
在PC上或虚拟机里安装Debian桌面系统(以下称开发主机),作者使用的版本是Squeeze,确保该Debian可以访问因特网并为其Aptitude配置好源(编辑/etc/apt/source.list)。
为开发主机安装好nfs服务器。
步骤:
安装bootstrap,这是一个Debian提供的工具,可以用来自定义安装系统,也可以用来生成指定构架的文件系统:
在工作目录下创建文件夹:
下载基本文件系统:
根据网速不同大约要30分钟左右;
最后面一步可能会提示已存在,不用管。
参考Tiny210用户手册上的介绍,完成以下工作,连接好开发板的串口并上电:
启动Minitools,在kernel Commandline一项填写:
其中nfsroot为开发主机的地址,ip依次为:开发板临时IP:开发主机地址:网关:掩码:主机hostname:网卡设备:off,根据自己的情况修改:
点击快速烧写,然后点击快速启动,串口终端进入如下界面:
输入:
输入:
又是一阵等待;
输入:
输入:
输入passwd设定root的登陆密码,完成后输入reboot -f重启开发板。
此时开发板还是会停在等待USB烧写的状态,将Kernel Commandline中的init字段修改为/sbin/init:
点击快速启动,此时应可以看到登陆界面了;
拷贝驱动模块文件:如果你手头还有另外一块开发板的话,可以通过nfs将开发板Linux系统自带的/lib/modules/下的文件全部拷贝过来,没有的话就自己编译一下光盘上给的内核(Linux-3.0.8)并在/mnt/lib/下生成文件夹modules:
重启,同样通过Minitools快速启动系统。
此时,可以说你的Debian基本系统内容已经完成了,你可以通过Aptitude工具安装所需要的实用程序,所有的改动都会保存在你的开发主机的fs_debian_mini文件夹中(现在知道为啥要用nfs启动了吧?)。这个系统在经过自己的DIY后,就可以在开发主机上通过友善之臂提供的工具制作文件系统映像了,然后按照Tiny210用户手册上的介绍将它烧写到开发板的Nand中去就行了。
其他:
Mini/Tiny6410的Superboot如果没有Minitools的支持,则在第7步和第13步改为进入U-Boot菜单来修改Linux启动参数,也是一样的。有问题或指导欢迎提出,谢谢。
参考:http://code.google.com/p/mini6410-debian/wiki/Tutorial
http://my.oschina.net/huzhu1984/blog/98140
我个人很喜欢Debian Linux,简洁、优雅、轻便、稳定。Debian有丰富的实用程序可供选用,而且它的Aptitude工具很好用,完美的解决了Linux里经常遇到的编译、安装过程中的版本匹配和库依赖的问题。所以在硬件资源充足的嵌入式开发中,是可以考虑移植Debian的。比如使用基于ARM11的S3C6410和基于Cotex-A8的S5PV210芯片的板子(跟这个CPU搭配的RAM和Flash怎么都不会太差吧?),运行一个精简的Debian系统完全绰绰有余了。
声明:
本文的Debian Linux移植不包括Bootloader和Linux内核的移植,这方面的移植在网上已经非常的多了。本文介绍的仅仅是基于友善之臂Tiny210开发板现有的东西来制作一个文件系统,然后将这个文件系统烧到开发板上去并可以运行。这个文件系统包含了Debian运行需要的最基本的内容,后续需要的工具如ftp、nfs什么的都可以通过Aptitude一个命令搞定。
虽然移植过程并不复杂,但是本文假定读者有一定的Linux基础,接触过Ubuntu或Debian的发行版,本文不会对一些基本的东西进行说明,比如Aptitude如何使用等。不明白的可以留言问,最好是自己搜。最后,对开发板的操作需要多查阅Tiny210的用户手册。
准备工作:
获得一套Tiny210开发板及其配套资料。
安装配套资料里的Minitools,连接开发板。
准备一片可靠的SD卡以及读卡器。
在PC上或虚拟机里安装Debian桌面系统(以下称开发主机),作者使用的版本是Squeeze,确保该Debian可以访问因特网并为其Aptitude配置好源(编辑/etc/apt/source.list)。
为开发主机安装好nfs服务器。
步骤:
安装bootstrap,这是一个Debian提供的工具,可以用来自定义安装系统,也可以用来生成指定构架的文件系统:
1 | aptitude install bootstrap |
1 | mkdir fs_debian_squeeze |
1 | debootstrap --arch=armel --foreign squeeze fs_debian_squeeze http://cdn.debian.net/debian[/code] |
1 | cd fs_debian_squeeze |
2 | echo "proc /proc proc none 0 0" >> etc/fstab |
3 | mkdir -p usr/share/ man /man1/ |
4 | mknod dev/console c 5 1 |
参考Tiny210用户手册上的介绍,完成以下工作,连接好开发板的串口并上电:
启动Minitools,在kernel Commandline一项填写:
1 | console=ttySAC0 init=/bin/sh root=/dev/nfs nfsroot=192.168.86.231:/root/fs/fs_debian_squeeze ip=192.168.86.237:192.168.86.231:192.168.86.253:255.255.255.0:debian:eth0:off skipcali= yes ctp=3 |
点击快速烧写,然后点击快速启动,串口终端进入如下界面:
输入:
1 | mount -t proc /proc /proc |
1 | /debootstrap/debootstrap --second-stage |
输入:
1 | echo ttySAC0>> /etc/securetty |
1 | echo "T0:123:respawn:/sbin/getty 115200 ttySAC0\n" >> /etc/inittab |
此时开发板还是会停在等待USB烧写的状态,将Kernel Commandline中的init字段修改为/sbin/init:
1 | console=ttySAC0 init=/sbin/init root=/dev/nfs nfsroot=192.168.86.231:/root/fs/fs_debian_squeeze ip=192.168.86.237:192.168.86.231:192.168.86.253:255.255.255.0:debian:eth0:off skipcali= yes ctp=3 |
拷贝驱动模块文件:如果你手头还有另外一块开发板的话,可以通过nfs将开发板Linux系统自带的/lib/modules/下的文件全部拷贝过来,没有的话就自己编译一下光盘上给的内核(Linux-3.0.8)并在/mnt/lib/下生成文件夹modules:
1 | cp mini210_linux_defconfig .config |
2 | make CROSS_COMPILE=/opt/FriendlyARM/toolschain/4.5.1/bin/arm-none-linux-gnueabi- |
3 | make CROSS_COMPILE=/opt/FriendlyARM/toolschain/4.5.1/bin/arm-none-linux-gnueabi- INSTALL_MOD_PATH=/mnt/ modules_install |
此时,可以说你的Debian基本系统内容已经完成了,你可以通过Aptitude工具安装所需要的实用程序,所有的改动都会保存在你的开发主机的fs_debian_mini文件夹中(现在知道为啥要用nfs启动了吧?)。这个系统在经过自己的DIY后,就可以在开发主机上通过友善之臂提供的工具制作文件系统映像了,然后按照Tiny210用户手册上的介绍将它烧写到开发板的Nand中去就行了。
其他:
Mini/Tiny6410的Superboot如果没有Minitools的支持,则在第7步和第13步改为进入U-Boot菜单来修改Linux启动参数,也是一样的。有问题或指导欢迎提出,谢谢。
参考:http://code.google.com/p/mini6410-debian/wiki/Tutorial
http://my.oschina.net/huzhu1984/blog/98140
相关文章推荐
- 向Tiny210移植Debian Linux
- tiny210(s5pv210)移植u-boot(基于 2014.4 版本)——命令补全和历史命令
- 基于tiny210v2的linux-3.9.6内核驱动移植1:led驱动
- tiny210——uboot移植之Makefile剖析篇
- [project X] tiny210 uboot移植进度说明
- real210移植记录-u-boot2013.10引导linux3.10.30进入控制台
- 基于tiny210v2的linux-3.9.6内核驱动移植2:按键驱动
- Tiny 210 Linux Embedded --编译 FFMPEG + SDL 自用笔记
- tiny210(s5pv210)移植u-boot(基于 2014.4 版本)——移植u-boot-spl.bin(点亮led灯)
- linux-3.0.8-LZ210-V1 移植摄像头: USB 摄像头 芯片:中星微ZC301P
- LinuxCNC+EtherCAT(1.1)~在debian上进行移植Etherlab的Master
- 一步一步学习 Linux 驱动之 platform 机制(tiny210 按键驱动)
- 基于tiny210v2的linux-3.9.6内核驱动移植3:LCD移植
- 编译移植android 2.3到tiny210 .
- 交叉编译OpenCV2.2.0及移植到Tiny210
- Linux驱动的开发与移值——为Tiny210加入AC97驱动Wm9713
- tiny210 android 移植过程中的几个问题
- Linux驱动的开发与移值——为Tiny210加入AC97驱动Wm9713
- 转载 修改 Linux 内核 DM9000 支持 tiny210 开发板
- tiny210移植MPlayer