三周从STM32入门linux学习笔记

一. 移植u-boot编译步骤:

1. 解压缩

	tar -xjf u-boot-1.1.6.tar.bz2

2. 打补丁

	patch -p1 < ../u-boot-1.1.6_jz2440.patch

3. 配置

	make 100ask24x0_config

4. 编译

	make

二. 移植kernel步骤:

1. 解压缩

	tar xjf linux-2.6.22.6.tar.bz2

2. 打补丁

	patch -p1 < ../linux-2.6.22.6_jz2440_v1.patch

3. 配置

  1.  make menuconfig
    
  2.  使用默认配置,在上面修改
    
  3.  使用厂家提供的配置文件
    

在内核中查找配置文件

find -name "*defconfig"

在这里插入图片描述
在arch/arm/configs中找到相似的配置文件,然后执行

make xxxxx_defconfig
make menuconfig

进入菜单然后开始配置内核

4. 编译

make uImage 		//生成内核的uImage

删除文件系统:

	nand erase root

三. 文件系统

内核作用是启动应用程序,第一个应用程序是 /sbin/init

1.init程序

init程序步骤:
1.1读取配置文件
1.2解析配置文件
1.3执行用户程序
具体看源代码

2.配置编译busybox

进入菜单配置busybox

	make menuconfig

编译刚配置好的busybox

	make

安装

	make CONFIG_PREFIX=PATH install

3.创建最小根文件系统

在目录下新建一个dev目录

	mkdir dev

创建console和null设备文件

ls /dev/console /dev/null -l	//获取设备信息

sudo mknod console	c 5 1		//创建console设备

sudo mknod null c 1 3			//创建null设备

写入配置项

vi etc/inittab
  1 console::askfirst:-/bin/sh
  2 ::sysinit:/etc/init.d/rcS
mkdir etc/init.d
vi /etc/init.d/rcS
挂在文件系统
  1 mount -a
  2 mkdir /dev/pts
  3 mount -t devpts devpts /dev/pts
  4 echo /sbin/mdev > /proc/sys/kernel/hotplug
  5 mdev -s

复制pc机上的C库

cp *.so.* /home/book/2440/first_fs/lib/ -d

安装yaffs工具
在这里插入图片描述

	sudo cp mkyaffs2image /usr/local/bin/

	sudo chmod +x /usr/local/bin/mkyaffs2image			//加上可执行属性

创建文件系统映像

	mkyaffs2image first_fs first_fs.yaffs2

挂载NFS
一、尝试挂载自己的服务器

sudo vi /etc/exports

在最后加上:
/home/book/2440/first_fs *(rw,sync,no_root_squash)

在控制台输入,尝试能不能挂载
sudo mount -t nfs 192.168.58.129:/home/book/2440/first_fs /mnt

二、单板挂载
在目录下

mkdir /mnt

mount -t nfs -o nolock 192.168.x.xx:/home/book/2440/first_fs /mnt

在mnt上看到的就是服务器上的文件

四. 字符设备驱动框架

应用程序一般用open、read、write调用驱动程序
调用驱动需要写驱动程序框架

	//打印函数、和printf一样的用法
	printk();
	//将内核里的数据考入
	int val;
	copy_from_user(&val, buf, count);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值