ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:25.83KB ,
资源ID:18498298      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18498298.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(构建基本的嵌入式Linux根文件系统文档格式.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

构建基本的嵌入式Linux根文件系统文档格式.docx

1、mkdir mnt/etc mnt/jffs2 mnt/yaffs mnt/data mnt/tempmkdir var/lib var/lock var/log var/run var/tmpchmod 1777 var/tmp home root bootmkdir home root bootecho done在你想要建立根文件系统的地方,运行:tekkamanninjaTekkaman-Ninja nfs$./mkrootcreatint rootfs dir.making dir:bin dev etc lib proc sbin sys usrmnt tmp varhome roo

2、t bootdonecd rootfs/dev/tekkamanninjaTekkaman-Ninja dev$su口令:rootTekkaman-Ninja dev#mknod-m 600 console c 5 1;-m 666nullc 1 3;exittekkamanninjaTekkaman-Ninja dev$(2)配置、编译和安装Busybox-1.9.1tekkamanninjaTekkaman-Ninja source$tar-xjvf busybox-1.9.1.tar.bz2修改Makefile文件:tekkamanninjaTekkaman-Ninja busybox-

3、1.9.1$pwd/home/tekkamanninja/working/source/busybox-1.9.1kwrite Makefile.(第151-154行)#SUBARCH=$(shell uname-m|sed-e s/i.86/i386/-e s/sun4u/sparc64/-e s/arm.*/arm/-e s/sa110/arm/-e s/s390x/s390/-e s/parisc64/parisc/-e s/ppc.*/powerpc/-e s/mips.*/mips/).(第174行附近)#ARCH?$(SUBARCH)#CROSS_COMPILE=ARCHarmCR

4、OSS_COMPILE/home/tekkamanninja/working/gcc4.1.1/gcc-4.1.1-glibc-2.3.2/arm-9tdmi-linux-gnu/bin/arm-9tdmi-linux-gnu-make menuconfig在原有的基础上修改如下:Busybox Settings -Installation Options -* Dont use /usr(/home/tekkamanninja/working/nfs/rootfs) BusyBox installation prefixBusybox Library Tuning-* Support for

5、 /etc/networks*Additional editing keysvi-style line editing commands(15)History sizeHistory savingTab completionUsername completionFancy shell promptsLogin/Password Management Utilities选项全部N掉,后面单独使用TinyLogin。(因为集成的好像不是很好用,我自己的经验是这样)Linux Module UtilitiesN Support version 2.2.x to 2.4.x Linux kernels

6、Shells-Ash Shell Options下的选项全选make.LINK busybox_unstrippedTrying libraries:crypt mLibrary crypt is neededLibrary m is neededFinal link with:make install我是动态编译所以查看一下需要的动态库/home/tekkamanninja/working/gcc4.1.1/gcc-4.1.1-glibc-2.3.2/arm-9tdmi-linux-gnu/bin/arm-9tdmi-linux-gnu-readelf-d busyboxDynamic se

7、ction at offset 0xac014 contains 22 entries:Tag Type Name/Value0x00000001(NEEDED)Shared library:libcrypt.so.1libm.so.6libc.so.60x0000000c(INIT)0xc0f00x0000000d(FINI)0x976080x00000004(HASH)0x80e80x00000005(STRTAB)0xa3c00x00000006(SYMTAB)0x8b300x0000000a(STRSZ)3371(bytes)0x0000000b(SYMENT)160x00000015

8、(DEBUG)0x00x00000003(PLTGOT)0xbc0ec0x00000002(PLTRELSZ)29760x00000014(PLTREL)REL0x00000017(JMPREL)0xb5500x00000011(REL)0xb4e00x00000012(RELSZ)1120x00000013(RELENT)80x6ffffffe(VERNEED)0xb4000x6fffffff(VERNEEDNUM)30x6ffffff0(VERSYM)0xb0ec0x00000000(NULL)(3)修改和创建必要的文件。cp-a examples/bootfloppy/etc/*/hom

9、e/tekkamanninja/working/nfs/rootfs/etc/cd ././nfs/rootfs/etc/1、增加为SHELL导入全局变量的文件/etc/profiletekkamanninjaTekkaman-Ninja etc$ kwrite profile/etc/profile:system-wide.profilefileforthe Bourne shellsechoProcessing /etc/profile. no-opSetsearchlibrary pathSet search library path in /etc/profileexportLD_LI

10、BRARY_PATH=/lib:/usr/libuser pathSet user path in /etc/profilePATH=/bin:/sbin:/usr/bin:/usr/sbinPATHPS1#注意:ash 除了SHELL变量外,支持u、h、W、$、!、n、w 、nnn(ASCII字符对应的八进制数)#以及exx;xxm(彩色特效)等等!#而且前面还要多加一个!Set PS1 in/etc/profileexport PS1=e05;32m$USERwa$e00;34mDone2、增加初始化文件tekkamanninjaTekkaman-Ninja etc$ kwrite ini

11、ttabsysinit:/etc/init.d/rcSrespawn:-/bin/loginrestart:/sbin/initctrlaltdel:/sbin/rebootshutdown:/bin/umount-a-r/sbin/swapoff-atekkamanninjaTekkaman-Ninja etc$ kwrite fstabproc/proc proc defaults 0 0none/tmp ramfs defaults 0 0mdev/dev ramfs defaults 0 0sysfs/sys sysfs defaults 0 03、增加初始化脚本tekkamannin

12、jaTekkaman-Ninja etc$ kwrite init.d/rcS-mount all/bin/mount-Starting mdev./bin/echo/sbin/mdev/proc/sys/kernel/hotplug-s* Tekkaman Ninja 2440 Rootfs(nfs) 2008.2 Love Linux ! ! Love Ke Ke ! *4、删除备份文件tekkamanninjaTekkaman-Ninja etc$ rm * init.d/*5、为mdev创建配置文件tekkamanninjaTekkaman-Ninja etc$ vi mdev.con

13、f创建一个mdev.conf文件,内容可有可无。(4)为使用用户登录功能移植TinyLogin1、下载从下载tinylogin-snapshot.tar.bz2,并解压.tar -xjvf tinylogin-snapshot.tar.bz22、修改tinyLogin的MakefiletekkamanninjaTekkaman-Ninja source$ cd tinylogintekkamanninjaTekkaman-Ninja tinylogin$ kwrite Makefile指明tinyLogin使用自己的算法来处理用户密码USE_SYSTEM_PWD_GRPfalse.CROSS=

14、/home/tekkamanninja/working/gcc4.1.1/gcc-4.1.1-glibc-2.3.2/arm-9tdmi-linux-gnu/bin/arm-9tdmi-linux-gnu-CC$(CROSS)gccAR$(CROSS)arSTRIPTOOL$(CROSS)strip编译并安装tekkamanninjaTekkaman-Ninja tinylogin$make PREFIX=/home/tekkamanninja/working/nfs/rootfs installAborting install-You must be root,otherwise I can

15、t.make tinylogin be setuid root, which will cause it to fail.make: * install错误1tekkamanninjaTekkaman-Ninja tinylogin$surootTekkaman-Ninja tinylogin# make PREFIX=/home/tekkamanninja/working/nfs/rootfs installrootTekkaman-Ninja tinylogin# exit-d tinyloginDynamic section at offset 0x9670 contains 21 en

16、tries:0x9c400x101600x81280x90700x85e014300x1974010640x98180x97c8800x975820x9606创建创建帐号及密码文件:cd././nfs/rootfs/etc/tekkamanninjaTekkaman-Ninja etc$rootTekkaman-Ninja etc#/etc/passwd.;/etc/shadow/etc/group.kwrite passwdroot:x:0:/root:kwrite grouprootkwrite shadow$1$N8K8eEQe$.XkJo3xcsjOE6vo1jW9Nk/:13923:

17、99999:7:rm*rm:是否删除 普通文件 “group”?y是否删除 普通文件 “passwd”?是否删除 普通文件 “shadow”?tekkamanninjaTekkaman-Ninja etc$这3个文件是从Host中拷贝过来的,只留下root帐号。那么现在 root的登陆密码和Host的登陆口令一致了,可以登录后再修改以及创建新用户。(若使用以上文件,则root密码为tekkaman)拷贝必需的动态库文件tekkamanninjaTekkaman-Ninja lib$-d/home/tekkamanninja/working/gcc4.1.1/gcc-4.1.1-glibc-2.

18、3.2/arm-9tdmi-linux-gnu/arm-9tdmi-linux-gnu/lib/ld*cp:略过目录 “/home/tekkamanninja/working/gcc4.1.1/gcc-4.1.1-glibc-2.3.2/arm-9tdmi-linux-gnu/arm-9tdmi-linux-gnu/lib/ldscripts”/home/tekkamanninja/working/gcc4.1.1/gcc-4.1.1-glibc-2.3.2/arm-9tdmi-linux-gnu/arm-9tdmi-linux-gnu/lib/libc-2.3.2.so.;/home/tek

19、kamanninja/working/gcc4.1.1/gcc-4.1.1-glibc-2.3.2/arm-9tdmi-linux-gnu/arm-9tdmi-linux-gnu/lib/libc.so.6/home/tekkamanninja/working/gcc4.1.1/gcc-4.1.1-glibc-2.3.2/arm-9tdmi-linux-gnu/arm-9tdmi-linux-gnu/lib/libm-*/home/tekkamanninja/working/gcc4.1.1/gcc-4.1.1-glibc-2.3.2/arm-9tdmi-linux-gnu/arm-9tdmi

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1