﻿{"id":187,"date":"2010-05-25T12:13:15","date_gmt":"2010-05-25T04:13:15","guid":{"rendered":"http:\/\/nick.workao.org\/?p=187"},"modified":"2021-11-17T11:27:03","modified_gmt":"2021-11-17T03:27:03","slug":"%e7%a7%bb%e6%a4%8dlinux2-6-29%e5%86%85%e6%a0%b8yaffs2%e6%96%87%e4%bb%b6%e7%b3%bb%e7%bb%9f%e8%bf%87%e7%a8%8b%e8%bd%ac%e8%b4%b4","status":"publish","type":"post","link":"https:\/\/nick.txtcc.com\/index.php\/scm\/187","title":{"rendered":"\u79fb\u690dlinux2.6.29\u5185\u6838+yaffs2\u6587\u4ef6\u7cfb\u7edf\u8fc7\u7a0b[\u8f6c\u8d34]"},"content":{"rendered":"<p>\u8f6f\u4ef6\u5e73\u53f0:vm(fodera 9)+arm-linux-gcc 4.3.2<\/p>\n<p>\u786c\u4ef6\u5e73\u53f0:\u53cb\u5584\u4e4b\u81c2\u51fa\u7684mini2440\u5f00\u53d1\u677f\u53cb\u5584\u4e4b\u81c2<\/p>\n<p>\u53c2\u8003\u8d44\u6599:\u7f51\u4e0an\u591a\u8d44\u6599\uff0c\u5728\u8fd9\u91cc\u5148\u8c22\u8c22\u8fd9\u4e9b\u65e0\u79c1\u8d21\u732e\u81ea\u5df1\u7ecf\u9a8c\u7684\u524d\u8f88\u4eec\u3002\n<<\u5d4c\u5165\u5f0fLinux\u5e94\u7528\u5f00\u53d1\u5b8c\u5168\u624b\u518c>>\u4f5c\u8005:\u97e6\u4e1c\u5c71,\u4e66\u5b8c\u5168\u662f\u6839\u636e\u4f5c\u8005\u7684\u7ecf\u9a8c\u5199\u7684,\n\u548c2410 2440\u7684\u677f\u5b50\u6bd4\u8f83\u914d\u5957,\u6211\u89c9\u5f97\u8fd9\u662f\u4e00\u672c\u975e\u5e38\u597d\u7684\u53c2\u8003\u4e66,\u7279\u522b\u662f\u75282410\u6216\u8005\u662f2440\u7684\u521d\u5b66\u8005.<\/p>\n<p>\u73b0\u5728\u5f00\u59cb\u79fb\u690d\u4e86,bootloader\u6211\u8fd8\u662f\u7528\u7684mini2440\u7684supervivi,\u8fd9\u4e2a\u6bd4\u8f83\u65b9\u4fbf,\u529f\u80fd\u5341\n\u5206\u5f3a\u5927,u-boot\u5c31\u7559\u7ed9\u4ee5\u540e\u5427.2440\u7684\u677f\u5b50\u79fb\u690d\u5185\u6838\u8fd8\u662f\u6bd4\u8f83\u7b80\u5355\u7684,\u56e0\u4e3a\u5185\u6838\u91cc\u9762\u5df2\u7ecf\u6709\u4e862410\u7684\u914d\u7f6e\u6587\u4ef6,\n\u7b80\u5355\u7684\u6539\u4e00\u4e0b,\u57fa\u672c\u5c31\u53ef\u4ee5\u4e86,\u518d\u5c31\u662f\u5916\u8bbe\u9a71\u52a8\u7684\u4fee\u6539\u4e86.<\/p>\n<p>1.\u4fee\u6539\u9876\u5c42Makefile\u6587\u4ef6<\/p>\n<p>\u76f4\u63a5\u5c06Makefile\u6587\u4ef6\u91cc\u9762\u7684        ln193<\/p>\n<p>ARCH ?= $(SUBARCH)<\/p>\n<p>CROSS_COMPILE ?=<\/p>\n<p>\u6539\u4e3a:<\/p>\n<p>ARCH ?= arm<\/p>\n<p>CROSS_COMPILE ?=arm-linux-<\/p>\n<p>\u7136\u540e\u7528S3C2410\u7684\u9ed8\u8ba4\u914d\u7f6e\u6587\u4ef6<\/p>\n<p>#make s3c2410_defconfig        \/\/\u6b64\u547d\u4ee4 configuration written to .config\n\/\/\u8981\u5148\u6309\u4e0a\u9762\u65b9\u6cd5\u4fee\u6539\u5b8c\u6210Makefile\u6587\u4ef6\u624d\u80fd\u6267\u884c\u8fd9\u4e00\u6b65<\/p>\n<p>#make menuconfig               \/\/\u53ea\u9700\u4fee\u6539\u4e0b\u9762\u51e0\u9879\n[<em>] Enable loadable module support &#8212;>\n[<\/em>]   Module unloading\n[*]   Automatic kernel module loading\n\u9009\u62e9\u8fd9\u4e24\u4e2a\uff0c\u5269\u4e0b\u7684\u53ef\u4ee5\u53bb\u6389<\/p>\n<p>System Type &#8212;->\n[<em>] S3C2410 DMA support\n[<\/em>] Support ARM920T processor\nS3C2410 Machines &#8212;>\n[<em>] SMDK2410\/A9M2410\nS3C2440 Machines &#8212;>\n[<\/em>] SMDK2440\n[*] SMDK2440 with S3C2440 CPU module<\/p>\n<hr \/>\n<p>2.\u4fee\u6539\u65f6\u949f,\u4e0d\u4fee\u6539\u8d85\u7ea7\u7ec8\u7aef\u4e2d\u4f1a\u51fa\u73b0\u4e71\u7801<\/p>\n<p>\u4fee\u6539Arch\/arm\/mach-s3c2440\/mach-smdk2440.c        ln163<\/p>\n<p>S3c24xx_init_clocks(16934400);<\/p>\n<p>\u6539\u4e3a:<\/p>\n<p>S3c24xx_init_clocks(12000000);<\/p>\n<p>3.\u4fee\u6539mach-type\n\u65b9\u6cd51:\u4fee\u6539vivi\u7684\u542f\u52a8\u53c2\u6570\n\u4ecenandflash\u542f\u52a8\u540e,\u8fc5\u901f\u6309\u4f4fSPACE\u952e\u8fdb\u5165supervivi\nSupervivi> menu,\u8fdb\u5165\u83dc\u5355vivi<\/p>\n<h5>FriendlyARM BIOS for 2440<\/h5>\n<p>[v] Download vivi<\/p>\n<p>[k] Download linux kernel<\/p>\n<p>[y] Download root_yaffs image<\/p>\n<p>[c] Download root_cramfs image<\/p>\n<p>[n] Download Nboot<\/p>\n<p>[e] Download Eboot<\/p>\n<p>[i] Download WinCE NK.nb0<\/p>\n<p>[w] Download WinCE NK.bin<\/p>\n<p>[d] Download &#038; Run<\/p>\n<p>[f] Format the nand flash<\/p>\n<p>[p] Partition for Linux<\/p>\n<p>[b] Boot the system<\/p>\n<p>[s] Set the boot parameters<\/p>\n<p>[t] Print the TOC struct of wince<\/p>\n<p>[q] Goto shell of vivi<\/p>\n<p>Enter your selection: s<\/p>\n<h5>Parameter Menu<\/h5>\n<p>[r] Reset parameter table to default table<\/p>\n<p>[s] Set parameter<\/p>\n<p>[v] View the parameter table<\/p>\n<p>[w] Write the parameter table to flash memeory<\/p>\n<p>[q] Quit<\/p>\n<p>Enter your selection: s<\/p>\n<p>Enter the parameter&#8217;s name(mach_type, media_type, linux_cmd_line, etc):  mach_type<\/p>\n<p>Enter the parameter&#8217;s value(if the value contains space, enclose it with  &#8220;): 362<\/p>\n<p>Change &#8216;mach_type&#8217; value. 0x0000030e(782) to 0x0000016a(362)\n\u8fd9\u4e00\u6b65\u6709\u65f6\u5019\u4f1a\u5361\u5f88\u957f\u65f6\u95f4\uff0c\u591a\u8bd5\u51e0\u904d\u5c31\u597d\u4e86\uff0c\u4e0d\u77e5\u9053\u4ec0\u4e48\u539f\u56e0\u3002<\/p>\n<h5>Parameter Menu<\/h5>\n<p>[r] Reset parameter table to default table<\/p>\n<p>[s] Set parameter<\/p>\n<p>[v] View the parameter table<\/p>\n<p>[w] Write the parameter table to flash memeory<\/p>\n<p>[q] Quit<\/p>\n<p>Enter your selection: w<\/p>\n<p>Found block size = 0x0000c000<\/p>\n<p>Erasing&#8230;   &#8230; done<\/p>\n<p>Writing&#8230;   &#8230; done<\/p>\n<p>Written 49152 bytes<\/p>\n<p>Saved vivi private data<\/p>\n<h5>Parameter Menu<\/h5>\n<p>[r] Reset parameter table to default table<\/p>\n<p>[s] Set parameter<\/p>\n<p>[v] View the parameter table<\/p>\n<p>[w] Write the parameter table to flash memeory<\/p>\n<p>[q] Quit<\/p>\n<p>Enter your selection: v<\/p>\n<p>Number of parameters: 9<\/p>\n<p>name                   :   hex    integer<\/p>\n<hr \/>\n<p>mach_type              : 0000016a          362<\/p>\n<p>media_type             : 00000003            3<\/p>\n<p>boot_mem_base          : 30000000    805306368<\/p>\n<p>baudrate               : 0001c200       115200<\/p>\n<p>xmodem                 : 00000001            1<\/p>\n<p>xmodem_one_nak         : 00000000            0<\/p>\n<p>xmodem_initial_timeout : 000493e0       300000<\/p>\n<p>xmodem_timeout         : 000f4240      1000000<\/p>\n<p>boot_delay             : 01000000     16777216<\/p>\n<p>Linux command line: noinitrd root=\/dev\/mtdblock2 init=\/linuxrc  console=ttySAC0,115200<\/p>\n<h5>Parameter Menu<\/h5>\n<p>[r] Reset parameter table to default table<\/p>\n<p>[s] Set parameter<\/p>\n<p>[v] View the parameter table<\/p>\n<p>[w] Write the parameter table to flash memeory<\/p>\n<p>[q] Quit<\/p>\n<p>Enter your selection: q<\/p>\n<p>\u65b9\u6cd52:\u4fee\u6539\u5185\u6838\u6587\u4ef6\n\u4fee\u6539cpu ID\uff0c\u4e0d\u4fee\u6539\u5c06\u4f1a\u51fa\u73b0\u65e0\u6cd5\u8fdb\u5165\u5185\u6838\u7531\u4e8eCPU mach_type \u4e0d\u5bf9\u5e94\u627e\u4e0d\u5230\u5bf9\u5e94\u7684CPU\u3002\narch\/arm\/tools\/mach-types  \u8fd9\u4e2a\u6587\u4ef6\u6253\u5f00\u4fee\u6539 \u5bf9\u5e94CPU  \u7684ID\n\u6bd4\u5982\u6211\u4fee\u6539 S3C2410 \u5bf9\u5e94\u4e3a 782\uff08\u6211\u7684VIVI\u7684ID\uff09\u3002\u8fd9\u6837\u5c31\u53ef\u4ee5\u627e\u5230S3C2410\u4e86<\/p>\n<hr \/>\n<p>4.\u4fee\u6539MTD\u5206\u533a\nMTD\u5206\u533a\u4fe1\u606f\u5728arch\/arm\/plat-s3c24xx\/common-smdk.c\u6587\u4ef6\u4e2d\u4fee\u6539.        ln109\n\u8fd9\u4e2a\u4e5f\u6bd4\u8f83\u7b80\u5355,\u6211\u662f\u6839\u636esupervivi\u91cc\u9762\u7684\u5206\u533a\u4fe1\u606f\u6765\u7684,\u6211\u7684\u5206\u533a\u4fe1\u606f\u5982\u4e0b:<\/p>\n<p>static struct mtd_partition smdk_default_nand_part[] = {<\/p>\n<p>[0] = {<\/p>\n<p>.name   = &#8220;vivi&#8221;,<\/p>\n<p>.size   = 0x00030000,<\/p>\n<p>.offset = 0X00000000,<\/p>\n<p>},<\/p>\n<p>[1] = {<\/p>\n<p>.name   = &#8220;kernel&#8221;,<\/p>\n<p>.offset = 0x00050000,<\/p>\n<p>.size   = 0x00200000,<\/p>\n<p>},<\/p>\n<p>[2] = {<\/p>\n<p>.name   = &#8220;root&#8221;,<\/p>\n<p>.offset =0x00250000,<\/p>\n<p>.size   =0x03dac000,<\/p>\n<p>}<\/p>\n<p>};<\/p>\n<p>\u6709\u7684\u6587\u7ae0\u4ecb\u7ecd\u8bf4\u8fd9\u4e2a\u6587\u4ef6\u8fd8\u8981\u4fee\u6539smdk_nand_info\u5982\u4e0b\uff1a\nstatic struct s3c2410_platform_nand smdk_nand_info = {\n.tacls              = 0,        \/\/default is 20\n.twrph0          = 30,       \/\/default is 60\n.twrph1          = 0,        \/\/defualt is 20 changed by yangdk\n.nr_sets   = ARRAY_SIZE(smdk_nand_sets),\n.sets        = smdk_nand_sets,\n};\n\u4f46\u67e5\u770b\u53cb\u5584\u4e4b\u81c2\u7684\u5185\u6838\u53d1\u73b0\u5e76\u6ca1\u6709\u6539,\u56e0\u6b64\u6211\u4e5f\u6ca1\u6709\u4fee\u6539,\u6700\u7ec8\u4e5f\u6ca1\u51fa\u73b0\u95ee\u9898\n\u542f\u52a8\u4e4b\u540e\u8fd8\u662f\u4f1a\u73b0panci\u4fe1\u606f\u56e0\u4e3a\u8fd8\u6ca1\u6709\u5199\u5165\u6587\u4ef6\u7cfb\u7edf.<\/p>\n<p>5.\u5185\u6838\u589e\u52a0yaffs2\u652f\u6301<\/p>\n<p>\u5230\u7f51\u4e0a\u4e0b\u8f7dysffs2\u6e90\u4ee3\u7801,\u89e3\u538b\u4e4b\u540e\u8fdb\u884c\u5982\u4e0b\u4fee\u6539:<\/p>\n<p>.\/patch-ker.sh c \/2440\/linux-2.6.29\n\u4e0a\u9762\u547d\u4ee4\u5b8c\u6210\u4e0b\u9762\u4e09\u4ef6\u4e8b\u60c5\n(1)\u4fee\u6539\u5185\u6838fs\/Kconfig\n\u589e\u52a0\u4e00\u884c:source &#8220;fs\/yaffs2\/Kconfig&#8221;\n(2)\u4fee\u6539\u5185\u6838fs\/Kconfig\n\u589e\u52a0\u4e00\u884c:ojb-$(CONFIG_YAFFS_FS) +=yaffs2\/\n(3)\u5728\u5185\u6838fs\/\u76ee\u5f55\u4e0b\u521b\u5efayaffs2\u76ee\u5f55\n\u5c06yaffs2\u6e90\u7801\u76ee\u5f55\u4e0b\u9762\u7684Makefile.kernel\u6587\u4ef6\u590d\u5236\u4e3a\u5185\u6838fs\/yaffs2\/Makefie;\n\u5c06yaffs2 \u6e90\u7801\u76ee\u5f55\u7684Kconfig\u6587\u4ef6\u590d\u5236\u5230\u5185\u6838fs\/yaffs2\u76ee\u5f55\u4e0b;\n\u5c06yaffs2\u6e90\u7801\u76ee\u5f55\u4e0b\u7684<em>.c <\/em>.h\u6587\u4ef6\u590d\u5236\u5230\u5185\u6838fs\/yaffs2\u76ee\u5f55\u4e0b.\n\u5728\u5185\u6838\u6839\u76ee\u5f55\u4e0b\u6267\u884c:\n#make menuconfig \u914d\u7f6eyaffs2\u6587\u4ef6\u652f\u6301\nFile systems   &#8212;>\nMiscellaneous filesystems &#8212;>\n<*>YAFFS2 file system support<\/p>\n<p>\u8fd9\u91cc\u7559\u7740\u9ed8\u8ba4\u914d\u7f6e\u4e0d\u77e5\u9053\u53ef\u4e0d\u53ef\u4ee5,\u6211\u5728\u79fb\u690dyaffs\u6587\u4ef6\u7cfb\u7edf\u4e2d\u7531\u4e8e\u51fa\u73b0\u95ee\u9898\u4e00\u76f4\u627e\u4e0d\u5230\u539f\u56e0\n\u540e\u6765\u5c06\u8fd9\u91cc\u5b8c\u5168\u6309\u7167\u53cb\u5584\u4e4b\u81c2\u7684\u914d\u7f6e\u6539\u4e86\u4e00\u4e0b,\u4f46\u662f\u5e76\u6ca1\u6709\u89e3\u51b3\u6211\u7684\u95ee\u9898\u3002<\/p>\n<p>6.#make uImage        \u751f\u6210zImage<\/p>\n<hr \/>\n<p>7.\u521b\u5efayaffs\u6587\u4ef6\u7cfb\u7edf<\/p>\n<p>\u5177\u4f53\u79fb\u690d\u8fc7\u7a0b\u5982\u4e0b\uff1a<\/p>\n<ol>\n<li>\u521b\u5efa\u5fc5\u987b\u7684\u6587\u4ef6\u5939\u53ca\u8bbe\u5907\u6587\u4ef6\n<h1>mkdir rootfs<\/h1>\n<h1>cd rootfs<\/h1>\n<h1>mkdir bin dev etc lib mnt proc sbin sys root<\/h1>\n<h1>mkdir  \/etc\/var<\/h1>\n<h1>mkdir  \/etc\/tmp<\/h1><\/li>\n<\/ol>\n<h1>ln  -s \/etc\/var \/var<\/h1>\n<h1>ln  -s \/etc\/tmp \/tmp<\/h1>\n<ol start=\"2\">\n<li>\n<p>\u521b\u5efa\u8bbe\u5907\u6587\u4ef6\u7cfb\u7edf\n\u4ece Linux-2.6.18\u5f00\u59cb\uff0c\u8d1f\u8d23\u65e7\u7248\u672c\u7684\u8bbe\u5907\u7ba1\u7406\u7cfb\u7edfdevfs\u5df2\u88ab\u5e9f\u9664\uff0c\u4f46\u65b0\n\u7248\u672c\u7684udev\u662f\u4e00\u4e2a\u57fa\u4e8e\u7528\u6237\u7a7a\u95f4\u7684\u8bbe\u5907\u7ba1\u7406\u7cfb\u7edf\u3002\u5728\u5185\u6838\u542f\u52a8\u65f6\u5e76\u4e0d\u80fd\n\u81ea\u52a8\u521b\u5efa\u8bbe\u5907\u8282\u70b9\uff0c\u56fa\u9700\u624b\u52a8\u521b\u5efaconsole\u548cnull\u4e24\u4e2a\u542f\u52a8\u8fc7\u7a0b\u5fc5\u987b\u7684\u8bbe\n\u5907\u8282\u70b9\u3002\u6211\u4eec\u5c06\u91c7\u7528busybox\u4e2d\u5185\u7f6e\u7684mdev\uff0c\u4e00\u4e2a\u7b80\u5316\u7684udev\u7248\u672c.<\/p>\n<h1>mknod -m 660 dev\/console c 5 1<\/h1>\n<h1>mknod -m 660 dev\/null        c 1 3<\/h1>\n<\/li>\n<li>\n<p>\u5efa\u7acb\u52a8\u6001\u8fd0\u884c\u5e93\n\u7531\u4e8elinux\u53ea\u5b89\u88c5\u4e0a\u4e86arm-linux-gcc 4.3.2\u6ca1\u6709glibc\u7684\u5e93\u6587\u4ef6\uff0c\u53ea\u597d\u628a\u53cb\u5584\u4e4b\u81c2\u63d0\u4f9b\u7684\nyaffs2\u6587\u4ef6\u7cfb\u7edf\u4e0b\u7684lib\u6587\u4ef6\u62f7\u8d1d\u8fc7\u6765\u3002<\/p>\n<h1>cp -rfd \/2440\/root_qtopia\/lib\/*  \/2440\/rootfs\/lib\/<\/h1>\n<p>\u62f7\u8d1d\u7ecf\u8fc7\u4ea4\u53c9\u7f16\u8bd1\u7684\u5e93\u6587\u4ef6\uff0c\u53c2\u6570-d\uff0c\u4fdd\u6301\u5e93\u6587\u4ef6\u7684\u94fe\u63a5\u5173\u7cfb\u3002<\/p>\n<\/li>\n<li>\n<p>\u4ea4\u53c9\u7f16\u8bd1busybox\n\u89e3\u538b\u7f29tar -zxf busybox1.13.3.tar\n\u89e3\u538b\u540e\u4fee\u6539Makefile\uff0c\u6307\u660e\u4ea4\u53c9\u7f16\u8bd1\u5668\uff1a\nARCH             ?= arm\nCROSS_COMPILE    ?= arm-linux-<\/p>\n<\/li>\n<\/ol>\n<p>5.\u6267\u884cmake CONFIG_PREFIX=\/2440\/rootfs install\n\u5728\/2440\/rootfs\u76ee\u5f55\u4e0b\u751f\u6210sbin,usr\u76ee\u5f55\u548clinuxrc\u6587\u4ef6<\/p>\n<p>6.\u521b\u5efaetc\u76ee\u5f55\u4e0b\u6587\u4ef6\n\u5728rootfs\/etc\u76ee\u5f55\u4e0b\u521b\u5efa\u4e00\u4e2ainittab\u6587\u4ef6\n\u5185\u5bb9\u5982\u4e0b\uff1a<\/p>\n<h1>\/etc\/inittab<\/h1>\n<dl>\n<dt>::sysinit:\/etc\/init.d\/rcS<\/dt>\n<dt>s3c2410_serial0::askfirst:-\/bin\/sh<\/dt>\n<dd>:ctrlaltdel:\/sbin\/reboot<\/dd>\n<dd>:shutdown:\/bin\/umount -a -r<\/dd>\n<\/dl>\n<p>\u521b\u5efaetc\/init.d\/rcS\u6587\u4ef6\n#!\/bin\/sh\nifconfig eth0 192.168.1.17\nmount -a\nmkdir \/dev\/pts\nmount -t devpts devpts \/dev\/pts\necho \/sbin\/mdev > \/proc\/sys\/kernel\/hotplug\nmdev -s\n\u6700\u540e\u8fd8\u8981\u6539\u53d8\u5b83\u7684\u5c5e\u6027\u4f7f\u5b83\u80fd\u591f\u6267\u884c\u3002\nchmod +x etc\/init.d\/rcS<\/p>\n<p>\u521b\u5efaetc\/fstab\u6587\u4ef6\n#device        mount-point        type        options        dump         fack order\nproc           \/proc              proc        defaults        0            0\ntmpfs          \/tmp               tmpfs       defaults        0            0\nsysfs          \/sys               sysfs       defaults        0            0\ntmpfs          \/dev               tmpfs       defaults        0            0<\/p>\n<p>7.\u6784\u5efa\u5176\u4ed6\u76ee\u5f55\nmkdir proc mnt tmp sys root<\/p>\n<p>8.\u4f7f\u7528mkyaffsimgae\u547d\u4ee4\u751f\u6210yaffs\u6620\u50cf\u6587\u4ef6\nmkyaffsimage rootfs rootfs.yaffs<\/p>\n<p>9.\u901a\u8fc7supervivi\u5c06\u5185\u6838\u6620\u50cfzImage\u548crootfs.yaffs\u4e0b\u8f7d\u5230\u5f00\u53d1\u677f\u4e0a<\/p>\n<p>\u542f\u52a8\u5185\u6838\u51fa\u73b0\nUSB Serial support registered for FTDI USB Serial Device\nusbcore: registered new interface driver ftdi_sio\nftdi_sio: v1.4.3:USB FTDI Serial Converters Driver\nUSB Serial support registered for pl2303\nusbcore: registered new interface driver pl2303\npl2303: Prolific PL2303 USB to serial adaptor driver\nmice: PS\/2 mouse device common for all mice\ns3c2440-i2c s3c2440-i2c: slave address 0x10\ns3c2440-i2c s3c2440-i2c: bus frequency set to 98 KHz\ns3c2440-i2c s3c2440-i2c: i2c-0: S3C I2C adapter\nS3C2410 Watchdog Timer, (c) 2004 Simtec Electronics\ns3c2410-wdt s3c2410-wdt: watchdog inactive, reset disabled, irq enabled\nTCP cubic registered\nNET: Registered protocol family 17\nRPC: Registered udp transport module.\nRPC: Registered tcp transport module.\nyaffs: dev is 32505858 name is &#8220;mtdblock2&#8221;\nyaffs: passed flags &#8220;&#8221;\nyaffs: Attempting MTD mount on 31.2, &#8220;mtdblock2&#8221;\nyaffs_read_super: isCheckpointed 0\nVFS: Mounted root (yaffs filesystem) on device 31:2.\nFreeing init memory: 132K\nKernel panic &#8211; not syncing: Attempted to kill init!<\/p>\n<p>\u540e\u6765\u5bf9\u6bd4\u53cb\u5584\u4e4b\u81c2\u7684menuconfig\u628aKernel Features\u6539\u4e3a\nKernel Features &#8212;>\nMemory split&#8230;&#8212;>\n[ ]preemptible Kernel&#8230;\n[<em>]Use the ARM EABI to compile the kernel\n[<\/em>]        Allow old ABI binaries to run &#8230;&#8230;\nMemory model (flatMemory)&#8212;>\n[ ]Add lru list to tarck non-evictable pages\n\u89e3\u51b3\u95ee\u9898<\/p>\n<p>\u4ee5\u4e0b\u4e3a\u542f\u52a8\u4fe1\u606f,\u53ef\u80fd\u8fd8\u6709\u70b9\u5c0f\u95ee\u9898\u4ee5\u540e\u89e3\u51b3<\/p>\n<p>VIVI version 0.1.4 (root@capcross) (gcc version 2.95.3 20010315  (release)) #0.1.4 Mon Oct 27 10:18:15 CST 2008\nMMU table base address = 0x33DFC000\nSucceed memory mapping.\nDIVN_UPLL0\nMPLLVal [M:7fh,P:2h,S:1h]\nCLKDIVN:5h<\/p>\n<p>+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+\n| S3C2440A USB Downloader ver R0.03 2004 Jan  |\n+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+\nUSB: IN_ENDPOINT:1 OUT_ENDPOINT:3\nFORMAT: +++\nNOTE: Power off\/on or press the reset button for 1 sec\nin order to get a valid USB device address.<\/p>\n<p>NAND device: Manufacture ID: 0xec, Chip ID: 0x76 (Samsung K9D1208V0M)\nFound saved vivi parameters.\nPress Return to start the LINUX\/Wince now, any other key for vivi\nCopy linux kernel from 0x00050000 to 0x30008000, size = 0x00200000 &#8230;  done\nzImage magic = 0x016f2818\nSetup linux parameters at 0x30000100\nlinux command line is: &#8220;noinitrd root=\/dev\/mtdblock2 init=\/linuxrc  console=ttySAC0&#8221;\nMACH_TYPE = 362\nNOW, Booting Linux&#8230;&#8230;\nUncompressing  Linux&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.  done, booting the kernel.\nLinux version 2.6.29 (root@LINUX) (gcc version 4.3.2 (Sourcery G++ Lite  2008q3-72) ) #4 Wed Apr 15 10:29:11 HKT 2009\nCPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177\nCPU: VIVT data cache, VIVT instruction cache\nMachine: SMDK2440\nATAG_INITRD is deprecated; please update your bootloader.\nMemory policy: ECC disabled, Data cache writeback\nCPU S3C2440A (id 0x32440001)\nS3C24XX Clocks, (c) 2004 Simtec Electronics\nS3C244X: core 405.000 MHz, memory 101.250 MHz, peripheral 50.625 MHz\nCLOCK: Slow mode (1.500 MHz), fast, MPLL on, UPLL on\nBuilt 1 zonelists in Zone order, mobility grouping on.  Total pages:  16256\nKernel command line: noinitrd root=\/dev\/mtdblock2 init=\/linuxrc  console=ttySAC0\nirq: clearing pending status 02000000\nirq: clearing subpending status 00000002\nPID hash table entries: 256 (order: 8, 1024 bytes)\nConsole: colour dummy device 80&#215;30\nconsole [ttySAC0] enabled\nDentry cache hash table entries: 8192 (order: 3, 32768 bytes)\nInode-cache hash table entries: 4096 (order: 2, 16384 bytes)\nMemory: 64MB = 64MB total\nMemory: 61420KB available (3024K code, 270K data, 132K init)\nCalibrating delay loop&#8230; 201.93 BogoMIPS (lpj=504832)\nMount-cache hash table entries: 512\nCPU: Testing write buffer coherency: ok\nnet_namespace: 716 bytes\nNET: Registered protocol family 16\nS3C2410 Power Management, (c) 2004 Simtec Electronics\nS3C2440: Initialising architecture\nS3C2440: IRQ Support\nS3C24XX DMA Driver, (c) 2003-2004,2006 Simtec Electronics\nDMA channel 0 at c4808000, irq 33\nDMA channel 1 at c4808040, irq 34\nDMA channel 2 at c4808080, irq 35\nDMA channel 3 at c48080c0, irq 36\nS3C244X: Clock Support, DVS off\nbio: create slab at 0\nSCSI subsystem initialized\nusbcore: registered new interface driver usbfs\nusbcore: registered new interface driver hub\nusbcore: registered new device driver usb\nNET: Registered protocol family 2\nIP route cache hash table entries: 1024 (order: 0, 4096 bytes)\nTCP established hash table entries: 2048 (order: 2, 16384 bytes)\nTCP bind hash table entries: 2048 (order: 1, 8192 bytes)\nTCP: Hash tables configured (established 2048 bind 2048)\nTCP reno registered\nNET: Registered protocol family 1\nNetWinder Floating Point Emulator V0.97 (extended precision)\nyaffs Apr 15 2009 10:21:24 Installing.\nmsgmni has been set to 120\nio scheduler noop registered\nio scheduler anticipatory registered (default)\nio scheduler deadline registered\nio scheduler cfq registered\nConsole: switching to colour frame buffer device 30&#215;40\nfb0: s3c2410fb frame buffer device\nlp: driver loaded but no devices found\nppdev: user-space parallel port driver\nSerial: 8250\/16550 driver, 4 ports, IRQ sharing enabled\ns3c2440-uart.0: s3c2410_serial0 at MMIO 0x50000000 (irq = 70) is a  S3C2440\ns3c2440-uart.1: s3c2410_serial1 at MMIO 0x50004000 (irq = 73) is a  S3C2440\ns3c2440-uart.2: s3c2410_serial2 at MMIO 0x50008000 (irq = 76) is a  S3C2440\nbrd: module loaded\nloop: module loaded\ndm9000 Ethernet Driver, V1.31\nUniform Multi-Platform E-IDE driver\nide-gd driver 1.18\nide-cd driver 5.00\nDriver &#8216;sd&#8217; needs updating &#8211; please use bus_type methods\nS3C24XX NAND Driver, (c) 2004 Simtec Electronics\ns3c2440-nand s3c2440-nand: Tacls=3, 29ns Twrph0=7 69ns, Twrph1=3 29ns\nNAND device: Manufacturer ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MiB  3,3V 8-bit)\nScanning device for bad blocks\nCreating 3 MTD partitions on &#8220;NAND 64MiB 3,3V 8-bit&#8221;:\n0x000000000000-0x000000050000 : &#8220;vivi&#8221;\n0x000000050000-0x000000250000 : &#8220;kernel&#8221;\n0x000000250000-0x000003ffc000 : &#8220;rootfs&#8221;\nusbmon: debugfs is not available\nohci_hcd: USB 1.1 &#8216;Open&#8217; Host Controller (OHCI) Driver\ns3c2410-ohci s3c2410-ohci: S3C24XX OHCI\ns3c2410-ohci s3c2410-ohci: new USB bus registered, assigned bus number 1\ns3c2410-ohci s3c2410-ohci: irq 42, io mem 0x49000000\nusb usb1: configuration #1 chosen from 1 choice\nhub 1-0:1.0: USB hub found\nhub 1-0:1.0: 2 ports detected\nusbcore: registered new interface driver libusual\nusbcore: registered new interface driver usbserial\nUSB Serial support registered for generic\nusbcore: registered new interface driver usbserial_generic\nusbserial: USB Serial Driver core\nUSB Serial support registered for FTDI USB Serial Device\nusbcore: registered new interface driver ftdi_sio\nftdi_sio: v1.4.3:USB FTDI Serial Converters Driver\nUSB Serial support registered for pl2303\nusbcore: registered new interface driver pl2303\npl2303: Prolific PL2303 USB to serial adaptor driver\nmice: PS\/2 mouse device common for all mice\nS3C24XX RTC, (c) 2004,2006 Simtec Electronics\ns3c2440-i2c s3c2440-i2c: slave address 0x10\ns3c2440-i2c s3c2440-i2c: bus frequency set to 98 KHz\ns3c2440-i2c s3c2440-i2c: i2c-0: S3C I2C adapter\nS3C2410 Watchdog Timer, (c) 2004 Simtec Electronics\ns3c2410-wdt s3c2410-wdt: watchdog inactive, reset disabled, irq enabled\nTCP cubic registered\nNET: Registered protocol family 17\nRPC: Registered udp transport module.\nRPC: Registered tcp transport module.\ndrivers\/rtc\/hctosys.c: unable to open rtc device (rtc0)\nyaffs: dev is 32505858 name is &#8220;mtdblock2&#8221;\nyaffs: passed flags &#8220;&#8221;\nyaffs: Attempting MTD mount on 31.2, &#8220;mtdblock2&#8221;\nyaffs_read_super: isCheckpointed 0\nVFS: Mounted root (yaffs filesystem) on device 31:2.\nFreeing init memory: 132K\nifconfig: SIOCSIFADDR: No such device<\/p>\n<p>Please press Enter to activate this console.<\/p>","protected":false},"excerpt":{"rendered":"<p>\u8f6f\u4ef6\u5e73\u53f0:vm(fodera 9)+arm-linux-gcc 4.3.2 \u786c\u4ef6\u5e73\u53f0:\u53cb\u5584\u4e4b\u81c2\u51fa\u7684mini2440\u5f00\u53d1\u677f\u53cb\u5584\u4e4b\u81c2 \u53c2\u8003\u8d44\u6599:\u7f51\u4e0an\u591a\u8d44\u6599\uff0c\u5728\u8fd9\u91cc\u5148\u8c22\u8c22\u8fd9\u4e9b\u65e0\u79c1\u8d21\u732e\u81ea\u5df1\u7ecf\u9a8c\u7684\u524d\u8f88\u4eec\u3002 \u4f5c&#46;&#46;&#46;<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[39],"tags":[440,133,134,132],"class_list":["post-187","post","type-post","status-publish","format-standard","hentry","category-scm","tag-linux","tag-yaffs","tag-134","tag-132"],"_links":{"self":[{"href":"https:\/\/nick.txtcc.com\/index.php\/wp-json\/wp\/v2\/posts\/187","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nick.txtcc.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nick.txtcc.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nick.txtcc.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nick.txtcc.com\/index.php\/wp-json\/wp\/v2\/comments?post=187"}],"version-history":[{"count":2,"href":"https:\/\/nick.txtcc.com\/index.php\/wp-json\/wp\/v2\/posts\/187\/revisions"}],"predecessor-version":[{"id":2215,"href":"https:\/\/nick.txtcc.com\/index.php\/wp-json\/wp\/v2\/posts\/187\/revisions\/2215"}],"wp:attachment":[{"href":"https:\/\/nick.txtcc.com\/index.php\/wp-json\/wp\/v2\/media?parent=187"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nick.txtcc.com\/index.php\/wp-json\/wp\/v2\/categories?post=187"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nick.txtcc.com\/index.php\/wp-json\/wp\/v2\/tags?post=187"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}