移植Linux:如何制作rootfs?安排!
8、 创建其他需要的目录$ mkdir dev etc mnt proc var tmp sys root
9、 添加库
我们安装的交叉工具链中有我们所需要的可以在开发板上使用的库, 将其拷贝到_install目录下即可:
$ cp /home/linux/toolchain/gcc-4.6.4/arm-arm1176jzfssf-linux-gnueabi/lib/ . -a
修改文件权限并删除静态库和共享库文件中的符号表
$chmod +w lib
$chmod +w lib
$ rm lib.a
$ arm-none-linux-gnueabi-strip lib
删除不需要的库,确保所有库大小不超过8M
$ du -mh lib/
10、 添加系统启动文件
在etc下添加文件inittab,文件内容如下:
#this is run first except when booting in single-user mode.
::sysinit:/etc/init.d/rcS
# /bin/sh invocations on selected ttys
# start an "askfirst" shell on the console (whatever that may be)
::askfirst:-/bin/sh
# stuff to do when restarting the init process
::restart:/sbin/init
# stuff to do before rebooting
::ctrlaltdel:/sbin/reboot
在etc下添加文件fstab,文件内容如下:
#device mount-point type options 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
【注意】这里我们挂载的文件系统有三个proc、sysfs和tmpfs。在内核中proc和sysfs默认都支持,而tmpfs是没有支持的,我们需要确保内核有tmpfs的支持。
修改内核配置:
$ make menuconfig
File systems --->
Pseudo filesystems --->
[*] Virtual memory file system support (former shm fs)
[*] Tmpfs POSIX Access Control Lists
重新编译内核
在etc下创建init.d目录,并在init.d下创建rcS文件,rcS文件内容为:
#!/bin/sh
# This is the first script called by init process
/bin/mount -a 挂载fstab制定的所有文件系统
echo /sbin/mdev > /proc/sys/kernel/hotplug
/sbin/mdev -s
为rcS添加可执行权限:
$ chmod +x init.d/rcS
在etc下添加profile文件,文件内容为:
#!/bin/sh
export HOSTNAME=farsight
export USER=root
export HOME=root
export PS1="[$USER@$HOSTNAME W]# "
PATH=/bin:/sbin:/usr/bin:/usr/sbin
LD_LIBRARY_PATH=/lib:/usr/lib:$LD_LIBRARY_PATH
export PATH LD_LIBRARY_PATH
mknod dev/console c 5 1 该文件节点是必须的
重要:新制作的文件系统尺寸若超出8M,删除不需要的库文件,比如c++库等。
11. 测试
制作完毕的根文件系统可以让开发板启动后通过nfs挂载到ubuntu中,
删除原先的/source/rootfs$ sudo rm -rf /source/rootfs
将我们新建的根文件系统拷贝到/source/rootfs目录下$sudo mkdir /source/rootfs
$ sudo cp _install /source/rootfs –a
设置uboot环境变量# setenv serverip 192.168.9.120
# setenv ipaddr 192.168.9.233
# setenv bootcmd tftp 41000000 uImage;tftp 42000000 exynos4412-fs4412.dtb;bootm 41000000 – 42000000
#setenv bootargs root=/dev/nfs nfsroot=192.168.9.120:/source/rootfs rw console=ttySAC2,115200 init=/linuxrc ip=192.168.9.233
# saveenv
重新启动开发板,查看是否能够正常挂载,功能是否正常

图片新闻
最新活动更多
-
7月3日立即报名>> 【在线会议】英飞凌新一代智能照明方案赋能绿色建筑与工业互联
-
7月22-29日立即报名>> 【线下论坛】第三届安富利汽车生态圈峰会
-
7.30-8.1火热报名中>> 全数会2025(第六届)机器人及智能工厂展
-
7月30-31日报名参会>>> 全数会2025中国激光产业高质量发展峰会
-
即日-2025.8.1立即下载>> 《2024智能制造产业高端化、智能化、绿色化发展蓝皮书》
-
精彩回顾立即查看>> 【在线会议】Solution Talks |Computex 2025关键趋势深读
推荐专题
- 1 数智破局·生态共生:重构全球制造新引擎 2025 WOD制造业数字化博览会即将在沪盛大启幕
- 2 【重磅来袭】6月17日上海见!全球智造巨头聚首,60余场前沿论坛,制造业数字化盛会邀您共启数智破局之旅!
- 3 安森美正式参评“维科杯·OFweek 2025中国工业自动化与数字化行业优秀产品奖”
- 4 当数智工业邂逅大湾区,看PHIIDF2025如何破界,链动全球!
- 5 抢先解锁!全数会2025机器人及智能工厂展览会核心亮点速递
- 6 【最后召集】6月17-19日,60+论坛剧透制造业未来,200+全球巨头携制造业黑科技齐聚,制造业数字化转型巅峰盛会即将启幕!
- 7 硬核登场!凌科LP-12系列 90°工业级连接器上市,打造行业高可靠连接解决方案
- 8 欧姆龙正式参评“维科杯·OFweek 2025中国工业自动化与数字化行业优秀产品奖”
- 9 世界计量日盛会启幕,聚焦测量体系变革:质量、效率与动力
- 10 展会首日速递 | iEi威强电亮相北京AIAE Expo 2025,客户云集共话智能工业未来
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论