Linux 3.4.103 kernel ported to s3c6410 board porting failed (problem summary, Japan War again!) )

Source: Internet
Author: User

Linux 3.4.103 kernel ported to s3c6410 Development Board



It was almost a week to get in here, and it was a very, very unworthy time to start feeling like a transplant. Want to fix it right away, and then read & coding quietly.


The thing about the pit daddy is that it's been one weeks and it hasn't worked.

I left my experience of transplant failure as a note to prepare for the next time. Let me do the transplant with the Tao friend less detours. We share experiences together to create a better development environment.


Check out a lot of information, here thank those bloger, thanks for your spirit of sharing.

I. Get a clean kernel from the website

https://www.kernel.org/

I chose the 3.4.103 here, (in fact, have tried a lot of version number of the Kernle, is a failure ah.) Heart Plugs ~. In fact, I am writing this blog is still trying to do it again, now this time I use the 3.4.103)


My Development Board is the s3c6410 of the Infineon. the kernel provided by the Development Board vendor is handled by them, so do not use the vendor's kernel source code. That basically doesn't make any experience.



two. Patching yaffs2 file System


In this process I also found that YAFFS2 recent version number is problematic, the source code is not compiled, there are errors

http://blog.csdn.net/cinmyheart/article/details/38747505


Change a version number is normal ~ (Pit Daddy ~source code Error!) )


Yaffs2-4e188b0.tar.gz


Patch the kernel to the YAFFS2 file system


After extracting the YAFFS2 source file, run a shell script under the YAFFS2 source folder

./patch-ker.sh C  


The above command completes the following three things:
(1) Change kernel fs/kconfig
Add a line: source "Fs/yaffs2/kconfig"
(2) Change kernel fs/kconfig
Add one line: ojb-$ (CONFIG_YAFFS_FS) +=yaffs2/
(3) Create the YAFFS2 folder under the kernel fs/folder
Copy the Makefile.kernel file below the YAFFS2 source code folder to the kernel fs/yaffs2/makefie;
Copy the Kconfig file of the YAFFS2 source code folder to the kernel FS/YAFFS2 folder;
Copy the *.c *.h file under the YAFFS2 Source code folder to the kernel Fs/yaffs2 folder.


Three. Configure the kernel.


Clean kernel porting to arm platform or a variety of manual changes, trouble to say ~ Of course it also makes me more familiar with the role and relationship of Kconfig Makfile


Linux default kconfig and. config are not prepared for the arm platform so ...

Rt,copy Arm folder Kconfig and s3c6400_defconfig copy to. config (s3c6400 and s3c6410 are almost identical. So the kernel just gives a config)




execute make Menuconfig once and then add a little bit of stuff.

Follow this blog to do the following method. Complete MTD option

http://blog.csdn.net/cinmyheart/article/details/38754669


in order to add Devfs File Manager support, complete fs/kconfig


The file system we use is the devfs file Manager.

Change fs/kconfig,

Found it

Menu "Pseudo filesystems"

Add for example the following statement:

Config DEVFS_FS         bool "/dev File system support (OBSOLETE)"         default y    config Devfs_mountbool "automatically Mount at boot ' default ydepends on Devfs_fs


Workaround for no YAFFS2 option in Menuconfig

The link given below, some of the details are actually part of the configuration kernel, not all to solve the problem of YAFFS2 option missing

http://blog.csdn.net/cinmyheart/article/details/38759549



Change the makefile under the root folder,





Then change the MTD partition (this step is not entirely correct.) It's very likely that's why I didn't have a successful transplant.


Samsung Chips, a series of products from the previous model slowly improve the derivative of the new product, so there will be s3c6410 and s3c2410 in some basic file configuration shared


Changes ./arch/arm/mach-s3c64xx/mach-smdk6410.c


Add the following code, for example:

Add header File

</pre></p><pre name= "code" class= "CPP" >
#include  <plat/sdhci.h> #include <linux/mtd/partitions.h> #include <mtd/mtd-abi.h>struct s3c_ ts_mach_info {int             delay;int             presc;int             oversampling_shift;intresol_bit;enum S3c_adc_types3c_adc_con;};








Gaze at the part of the gaze, and join the &s3c_device_nand


Change this function in/ARCH/ARM/PLAT-SAMSUNG/DEVS.C


Change the words that stare with added



Join the. Boot_params option





Change/drivers/mtd/nand/s3c2410.c

Replace all (except switch options) Assignment statements include Nand_ecc_soft as Nand_ecc_none



Kernel feature Configuration






Last Make Zimage


The last of the last: Unfortunately found a lot of blog, or failed to solve the problem.

Some say yes.






Copyright notice: This article blog original articles, blogs, without consent, may not be reproduced.

Linux 3.4.103 kernel ported to s3c6410 board porting failed (problem summary, Japan War again!) )

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.