arm9260 linux编译,at91sam9260-linux建立最小系统

] (kernel_init+0x0/0x284) from [] (do_exit+0x0/0x710)

Code: e24dd00c e2505000 e1a07001 e1a06002 (0a000019)

---[ end trace 119d4c116316149b ]---

Kernel panic - not syncing: Attempted to kill init!

可以看到内核是启动起来了!但是还文件系统等还没完全启动,所以还需要进行修改!

4:添加内核对yaffs2的支持

上面可以看到,没有对yaffs2文件系统的支持,现在就添加yaffs2的支持

4.1解压yaffs2文件包

# tar -xzvf yaffs2.tar.gz

# ls

2.6.24.at91.2-exp.patch.gz  2.6.24-at91.patch.gz  linux-2.6.24  linux-2.6.24.tar.bz2  yaffs2  yaffs2.tar.gz

# cd linux-2.6.24/fs

# mkdir yaffs

# pwd

/workdir/atmel/at91sam9260/kernel/linux-2.6.24/fs/yaffs

# cp ../../../yaffs/*.h .

# cp ../../../yaffs/*.c .

# ls

devextras.h        yaffs_fs.c            yaffs_mtdif1.h  yaffs_nandemul2k.h   yaffs_qsort.c         yportenv.h

moduleconfig.h     yaffs_getblockinfo.h  yaffs_mtdif2.c  yaffs_nand.h         yaffs_qsort.h

yaffs_checkptrw.c  yaffs_guts.c          yaffs_mtdif2.h  yaffs_packedtags1.c  yaffs_tagscompat.c

yaffs_checkptrw.h  yaffs_guts.h          yaffs_mtdif.c   yaffs_packedtags1.h  yaffs_tagscompat.h

yaffs_ecc.c        yaffsinterface.h      yaffs_mtdif.h   yaffs_packedtags2.c  yaffs_tagsvalidity.c

yaffs_ecc.h        yaffs_mtdif1.c        yaffs_nand.c    yaffs_packedtags2.h  yaffs_tagsvalidity.h

# cp ../../../yaffs2/Makefile.kernel .

# ls

devextras.h        yaffs_ecc.h           yaffs_mtdif1.c  yaffs_nand.c         yaffs_packedtags2.h   yaffs_tagsvalidity.h

Makefile.kernel    yaffs_fs.c            yaffs_mtdif1.h  yaffs_nandemul2k.h   yaffs_qsort.c         yportenv.h

moduleconfig.h     yaffs_getblockinfo.h  yaffs_mtdif2.c  yaffs_nand.h         yaffs_qsort.h

yaffs_checkptrw.c  yaffs_guts.c          yaffs_mtdif2.h  yaffs_packedtags1.c  yaffs_tagscompat.c

yaffs_checkptrw.h  yaffs_guts.h          yaffs_mtdif.c   yaffs_packedtags1.h  yaffs_tagscompat.h

yaffs_ecc.c        yaffsinterface.h      yaffs_mtdif.h   yaffs_packedtags2.c  yaffs_tagsvalidity.c

# mv Makefile.kernel Makefile

# ls

devextras.h        yaffs_ecc.h           yaffs_mtdif1.c  yaffs_nand.c         yaffs_packedtags2.h   yaffs_tagsvalidity.h

Makefile           yaffs_fs.c            yaffs_mtdif1.h  yaffs_nandemul2k.h   yaffs_qsort.c         yportenv.h

moduleconfig.h     yaffs_getblockinfo.h  yaffs_mtdif2.c  yaffs_nand.h         yaffs_qsort.h

yaffs_checkptrw.c  yaffs_guts.c          yaffs_mtdif2.h  yaffs_packedtags1.c  yaffs_tagscompat.c

yaffs_checkptrw.h  yaffs_guts.h          yaffs_mtdif.c   yaffs_packedtags1.h  yaffs_tagscompat.h

yaffs_ecc.c        yaffsinterface.h      yaffs_mtdif.h   yaffs_packedtags2.c  yaffs_tagsvalidity.c

# pwd

/workdir/atmel/at91sam9260/kernel/linux-2.6.24/fs/yaffs2

# cp ../../../yaffs2/Kconfig .

# cd ..

# pwd

/workdir/atmel/at91sam9260/kernel/linux-2.6.24/fs

119行开始:

obj-$(CONFIG_OCFS2_FS)  += ocfs2/

obj-$(CONFIG_GFS2_FS)           += gfs2/

obj-$(CONFIG_YAFFS_FS)           += yaffs/

# vim Kconfig

修改2119行:

endif # NETWORK_FILESYSTEMS

source "fs/yaffs2/Kconfig"

if BLOCK

menu "Partition Types"

# make distclean

# make at91sam9260ek_defconfig

# make menuconfig

修改配置,去选择支持yaffs!

Device Drivers --> Memory Technology Device(MTD) support

File Systems --> YAFFS2 file system support

Autoselect yaffs2 format

Disable lazy loading

Turn off wide tnodes

Kernel Features --> Use the ARM EABI to compile the kernel

Allow ole ABI binaries to run with this kernel

# make uImage

# pwd

/workdir/atmel/at91sam9260/kernel/yaffs2/utils

# ls

Makefile  mkyaffs2image.c  mkyaffsimage.c

# make

# ls

Makefile       mkyaffs2image.c  mkyaffsimage    mkyaffsimage.o  yaffs_ecc.o          yaffs_packedtags2.o   yaffs_tagsvalidity.o

mkyaffs2image  mkyaffs2image.o  mkyaffsimage.c  yaffs_ecc.c     yaffs_packedtags2.c  yaffs_tagsvalidity.c

然后将这个"mkyaffs2image"目录添加到环境变量里面去!

# cd ../../../../

# ls

AT91Bootstrap  crosstool  filesyetem  kernel  setenv-9260  Source Insight Workdir  u-boot

然后就得到支持yaffs2的内核了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值