PowerPC平台 Linux移植二

继PowerPC平台 Linux移植一,制作busybox文件系统,目的实现单板挂载nfs文件系统。

1.制作busybox文件系统
(1)交叉编译busybox
a.make menuconfig
配置Cross Compile prefix 位powerpc-linux-gnu-
Installation Options 路径指定为/home/freescale/work/source/fs_mini
b.make
  DOC     busybox.pod
  DOC     BusyBox.txt
  DOC     BusyBox.1
  DOC     BusyBox.html
freescale@freescale-sdk:~/work/source/busybox-1.1
c.安装
freescale@freescale-sdk:~/work/source/busybox-1.13.3$ make install
 ..........
  /home/freescale/work/source/fs_mini/usr/sbin/telnetd -> ../../bin/busybox
  /home/freescale/work/source/fs_mini/usr/sbin/udhcpd -> ../../bin/busybox
--------------------------------------------------
You will probably need to make your busybox binary
setuid root to ensure all configured applets will
work properly.
--------------------------------------------------

freescale@freescale-sdk:~/work/source/busybox-1.13.3$
(2)安装glibc库
freescale@freescale-sdk:~/work/source/busybox-1.13.3$ cd ..
freescale@freescale-sdk:~/work/source$ mkdir fs_mini/lib
freescale@freescale-sdk:~/work/source$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/freescale/work/tools/freescale-2010.09/bin
freescale@freescale-sdk:~/work/source$ cp /home/freescale/work/tools/freescale-2010.09/powerpc-linux-gnu/libc/te500v2/lib/*so* /home/freescale/work/source/fs_mini/lib -d
freescale@freescale-sdk:~/work/source$ mkdir fs_mini/usr/lib -p
freescale@freescale-sdk:~/work/source$ cp /home/freescale/work/tools/freescale-2010.09/powerpc-linux-gnu/libc/te500v2/usr/lib/*so* /home/freescale/work/source/fs_mini/usr/lib -d
freescale@freescale-sdk:~/work/source$
(3)构建etc目录
freescale@freescale-sdk:~/work/source/nfs_root/rootfs_dir$ mkdir etc
freescale@freescale-sdk:~/work/source/nfs_root/rootfs_dir$ vim etc/inittab
console::askfirst:-/bin/sh
::sysinit:/etc/init.d/rcS
保存退出
freescale@freescale-sdk:~/work/source/nfs_root/rootfs_dir$ vim etc/init.d/rcS
#!/bin/sh
ifconfig eth0 172.16.1.111
mount-a
freescale@freescale-sdk:~/work/source/nfs_root/rootfs_dir$ chmod +x etc/init.d/rcS
freescale@freescale-sdk:~/work/source/nfs_root/rootfs_dir$ vim etc/fstab
proc     /proc     proc     defaults     0     0
(4)构建dev目录
freescale@freescale-sdk:~/work/source/fs_mini$ ls -l /dev/console /dev/null
crw------- 1 root root 5, 1 2015-05-18 14:28 /dev/console
crw-rw-rw- 1 root root 1, 3 2015-05-18 14:28 /dev/null
freescale@freescale-sdk:~/work/source/fs_mini$ sudo mknod dev/console c 5 1
freescale@freescale-sdk:~/work/source/fs_mini$ sudo mknod dev/null c 1 3
(5)创建其他目录
freescale@freescale-sdk:~/work/source/fs_mini$ mkdir proc tmp mnt sys root
freescale@freescale-sdk:~/work/source/fs_mini$

2.制作文件系统镜像文件
安装genext2fs,参考install文档,安装如下:
To install, just do it the normal GNU way:

./configure
make
make install
freescale@freescale-sdk:~/work/tools/genext2fs-1.4.1$ sudo make instal
freescale@freescale-sdk:~/work/source$ genext2fs -b 4096 -d fs_mini fs_mini_ramdisk
genext2fs: couldn't allocate a block (no free space)
freescale@freescale-sdk:~/work/source$ genext2fs -b 8192 -d fs_mini fs_mini_ramdisk
genext2fs: couldn't allocate a block (no free space)
这个错误的原因是给的大小太小了,需要把大小增大,查看手册只是说了 “size of the image in blocks”,
 这样 于是便先使用 du -h rootfs,计算出来
freescale@freescale-sdk:~/work/source$ du -h fs_mini
1.9M    fs_mini/bin
4.5M    fs_mini/lib
4.0K    fs_mini/tmp
4.0K    fs_mini/sys
4.0K    fs_mini/mnt
4.0K    fs_mini/usr/bin
1.7M    fs_mini/usr/lib
4.0K    fs_mini/usr/sbin
1.7M    fs_mini/usr
4.0K    fs_mini/root
4.0K    fs_mini/dev
4.0K    fs_mini/sbin
4.0K    fs_mini/proc
8.0M    fs_mini
freescale@freescale-sdk:~/work/source$ genext2fs -b 10240 -d fs_mini fs_mini_ramdisk
freescale@freescale-sdk:~/work/source$

3.修改p1010rdb.dtb 配置文件
p1010rdb.dtb 配置文件,用于linux传参数
/home/freescale/work/source/linux-2.6.35-r2/arch/powerpc/boot/dts/p1010rdb.dts
/home/freescale/work/source/linux-2.6.35-r2/scripts/dtc/dtc
/home/freescale/work/source/linux-2.6.35-r2/p1010rdb.dtb

=> setenv ethact eTSEC2
=> tftp 0x1000000 uImage
Speed: 100, full duplex
Using eTSEC2 device
TFTP from server 192.168.2.242; our IP address is 192.168.2.21
Filename 'uImage'.
Load address: 0x1000000
Loading: #################################################################
         #################################################################
         #################################################################
         ####
done<

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值