移植最新4.19.8内核至JZ2440——根文件系统制作

一、准备编译环境和工具 

系统:ubuntu16.04

源码:https://busybox.net/下载最新busybox-1.29.3.tar.bz2

二、制作根文件系统

1、解压 tar -xjf busybox-1.29.3.tar.bz2

2、make menuconfig, 这里我使用静态库的方式编译

Settings   ===>Build Options ====>Build Busybox as a static binary(no shared libs)编为静态库

3、安装

make ARCH=arm  CROSS_COMPILE=arm-linux-gnueabi- CONFIG_PREFIX=$PWD/../tmp install

安装到指定目录位置,这里装到tmp目录底下,将出现bin sbin usr 目录和linuxrc文件

4、配置

创建etc lib proc tmp dev home mnt root sys

进入etc/目录:

创建inittab文件

::sysinit:/etc/init.d/rcS
console::askfirst:-/bin/sh
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r

创建fstab文件

#device   mount-point     type      option     dump   fsck   order 
  proc        /proc     proc     defaults    0        0  
  tmpfs       /tmp      tmpfs    defaults    0        0  
  sysfs       /sys      sysfs    defaults    0        0  
  tmpfs       /dev      tmpfs    defaults    0        0

创建rcS文件

PATH=/sbin:/bin:/usr/sbin:/usr/bin
runlevel=S
prevlevel=N
umask 022 
export PATH runlevel prevlevel
mount -a
echo /sbin/mdev>/proc/sys/kernel/hotplug
mdev -s

添加库文件

查找交叉编译工具中库文件位置,我的如下:

sudo cp /usr/lib/gcc-cross/arm-linux-gnueabi/5/*so* ./ -d  拷贝到文件系统lib目录

在dev中创建console 和null节点

sudo mknod console c 5 1

sudo mknod null c 1 3

创建mdev.conf

vim mdev.conf 。mdev是一个udev的简化版本,主要用来支持一些热插拔设备。我们可以通过文件mdev.conf自定义一些设备节点的名称或链接来满足特定的需要,但在此处让它为空。

5、制作yaffs2

 获得源码
 git clone git://www.aleph1.co.uk/yaffs2 

进入utils目录,cd  /home/flnet/kernel/yaffs2/yaffs2/

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值