ramdisk 问题

1、

## Booting kernel from Legacy Image at 01000000 ...                             
                                                                                
   Image Name:   Linux-2.6.35+                                                  
                                                                                
   Created:      2011-02-18   7:31:27 UTC                                       
                                                                                
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)                   
                                                                                
   Data Size:    3384101 Bytes = 3.2 MiB                                        
                                                                                
   Load Address: 00000000                                                       
                                                                                
   Entry Point:  00000000                                                       
                                                                                
   Verifying Checksum ... OK                                                    
                

Wrong Ramdisk Image Format  Ramdisk image is corrupt or invalid 

解决方式 

  mkimage -n 'uboot ext2 ramdisk rootfs' -A ppc -O linux -T ramdisk -C gzip -d rootfs.ext2.gz rootfs.ext2.gz.uboot

    具体参看mkimage 的用法 及原因


2、系统启动后登录用户不正确

  删除etc/securetty 文件即可

    三、自己建立根文件系统(与二中不同)

    1、建立loop设备的临时挂载点

    #mkdir /mnt/loop

    2、建立文件系统映象

    #dd if=/dev/zero of=/tmp/loop_tmp bs=1k count=15360

    以上2条同二中是一样

    3、mke2fs –F –v –m 0 /tmp/loop_tmp

    此处-F选项将可迫使mkefs2在文件上运行。否则mke2fs会抱怨 /tmp/loop_tmp不是个块设备(在上面说了,我的理解是/tmp/loop_tmp文件映象必须是块设备文件,前面的做法是用块设备文件 /dev/loop0与之相关联)。-v 选项指出mke2fs应该以verbose模式执行,-m 0指出不必在文件系统上为“超级用户”保留任何区块,因为在嵌入式系统中通常是单用户系统,为“超级用户”保留区块没有意义。

    4、挂载映象文件

    #munt –o loop /tmp/loop_tmp /mnt/loop

    挂载后,在/mnt/loop下就可以对文件系统的内容进行操作。

    5、cp操作,同二中的第6条

    6、卸载映象文件

    #umount /mnt/loop

    7、压缩映象文件

    #gzip –v9 /tmp/loop_tmp

    第三中的做法与第二中的做法不同,在第二中,把块设备文件/dev/loop0与映象文件/tmp/loop_tmp相关联,然后对/dev/loop0及虚拟盘进行操作,就作用在/ltmp/loop_tmp上。

    而第三中,是直接对映象文件/tmp/loop_tmp进行操作,用mke2fs –F …将其当作块设备文件进行操作。



for exp

# build filesystem rootfs.img


all:
echo '123'|sudo -S find . -name *.svn | xargs rm -rf
echo '123'|sudo -S chmod -R 777 *
mkcramfs -b 4096 siglent_rootfs/ rootfs.cramfs 
mkfs.jffs2  -n -s 0x800 -e 0x20000 -p 0xa00000 -d  firmdata0/ -o  firmdata0.jffs2 
mkfs.jffs2  -n -s 0x800 -e 0x20000 -p 0xa00000 -d  firmdata1/ -o  firmdata1.jffs2 
mkfs.jffs2  -n -s 0x800 -e 0x20000 -p 0xa00000 -d  log/ -o  log.jffs2 
mkfs.jffs2  -n -s 0x800 -e 0x20000 -p 0x6400000 -d  datafs/ -o  datafs.jffs2
mkfs.jffs2  -n -s 0x800 -e 0x20000 -p 0x1400000 -d  siglent/ -o  siglent.jffs2
dd if=/dev/zero of=ramdisk10M.image bs=1024 count=15360
mke2fs -F ramdisk10M.image -L "ramdisk" -b 1024 -m 0
tune2fs ramdisk10M.image -i 0
chmod 777 ramdisk10M.image
mkdir ramdisk
sudo mount -o loop ramdisk10M.image ramdisk/
sudo cp -R siglent_rootfs/* ramdisk
sudo umount ramdisk
mkimage -n 'uboot ext2 ramdisk' -A arm -O linux -T ramdisk -C gzip -d  ramdisk10M.image uramdisk.image.gz
-rm -rf ramdisk ramdisk10M.image
#cp *.jffs2 *.cramfs uramdisk.image.gz /tftpboot
echo '123'|sudo -S chmod -R 777 *
root:
echo '123'|sudo -S chmod -R 777 *
mkcramfs -b 4096 siglent_rootfs/ rootfs.cramfs 
cp *.cramfs /tftpboot/zhiwei
firm:
mkfs.jffs2  -n -s 0x800 -e 0x20000 -p 0xa00000 -d  firmdata0/ -o  firmdata0.jffs2 
mkfs.jffs2  -n -s 0x800 -e 0x20000 -p 0xa00000 -d  firmdata1/ -o  firmdata1.jffs2 
#cp *.jffs2 /tftpboot
data:
mkfs.jffs2  -n -s 0x800 -e 0x20000 -p 0x6400000 -d  datafs/ -o  datafs.jffs2
#cp *.jffs2 /tftpboot
logfs:
mkfs.jffs2  -n -s 0x800 -e 0x20000 -p 0xa00000 -d  log/ -o  log.jffs2
#cp *.jffs2 /tftpboot
s:
mkfs.jffs2  -n -s 0x800 -e 0x20000 -p 0x1400000 -d  siglent/ -o  siglent.jffs2
#cp *.jffs2 /tftpboot
#生成ramdisk文件系统用于u盘启动。
ramdisk:
dd if=/dev/zero of=ramdisk10M.image bs=1024 count=15360
mke2fs -F ramdisk10M.image -L "ramdisk" -b 1024 -m 0
tune2fs ramdisk10M.image -i 0
chmod 777 ramdisk10M.image
mkdir ramdisk
sudo mount -o loop ramdisk10M.image ramdisk/
sudo cp -R siglent_rootfs/* ramdisk
sudo umount ramdisk
#1、将uboot的tools目录下的mkimage拷贝到交叉编译器的bin目录中(相当于添加到环境变量中)
#2、使用如下命令生成uramdisk.image.gz
mkimage -n 'uboot ext2 ramdisk' -A arm -O linux -T ramdisk -C gzip -d  ramdisk10M.image uramdisk.image.gz
-rm -rf ramdisk ramdisk10M.image
sudo chmod -R 777 uramdisk.image.gz
#cp uramdisk.image.gz /tftpboot/
clean: 
-rm -rf rootfs.cramfs firmdata0.jffs2 firmdata1.jffs2 log.jffs2 datafs.jffs2 siglent.jffs2 uramdisk.image.gz ramdisk ramdisk10M.image


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值