通过nand启动,然后切换rootfs为sata谁成功过?
通过nand启动,然后切换rootfs为sata谁成功过?不觉得有难点~
事实上cubieboard lubuntu sdk(http://cubiebook.org/index.php?title=Cubieboard/Ubuntu_Nand_Images)
是这样做的,
u-boot把内核引导起来后,进到kernel里builin了一个rootfs,这个rootfs已经可以让你进入控制台,这个时候可以把sata 驱动加载起来,然后exec switch_root到sata的rootfs上。 matson 发表于 2013-7-28 14:28 static/image/common/back.gif
不觉得有难点~
事实上cubieboard lubuntu sdk(http://cubiebook.org/index.php?title=Cubieboard/Ubuntu_N ...
你好,你指的是initramfs吗?在内核启动的时候也需要有一个参数指定initramfs在哪里的,也就是说要在uboot启动内核的参数中指定,也就是在boot.scr或env。txt中,但是uboot启动之后,内核加载之前是找不到boot.scr或者env.txt的,所以赶脚还是不能实现~~ matson 发表于 2013-7-28 14:28 static/image/common/back.gif
不觉得有难点~
事实上cubieboard lubuntu sdk(http://cubiebook.org/index.php?title=Cubieboard/Ubuntu_N ...
不是手工到uboot的console中输入各种参数~~ 既然是builtin的rootfs,为什么还要启动参数传进来
这个方法没问题的,压根就无需怀疑 matson 发表于 2013-7-28 18:41 static/image/common/back.gif
既然是builtin的rootfs,为什么还要启动参数传进来
这个方法没问题的,压根就无需怀疑 ...
你好,小弟无知,能给个教程吗~~ 今天晚一些给你一个教程。 slackwareer 发表于 2013-7-29 12:45 static/image/common/back.gif
你好,小弟无知,能给个教程吗~~
方法步骤:
1.下载a10的lubuntu SDK,下载地址如下
http://linux-sunxi.org/Install_Ubuntu_Linux_for_Cubieboard
2. 下载解压后,假设解压成linux-sdk目录,修改builtin到内核的rootfs,具体命令如下
$cd linux-sdk/linux-sunxi/rootfs
$fakeroot
#mkdir tmp
#gzip -dc sun4i_rootfs.cpio.gz |(cd tmp/; cpio -iv)
#vim tmp/init
原始内容如下
#!/bin/sh
mount -t proc proc /proc
mount -t devtmpfs none /dev
mount -t sysfs sysfs /sys
e2fsck -y /dev/nandc
e2fsck -y /dev/nandd
e2fsck -y /dev/nande
e2fsck -y /dev/nandf
mount -t ext4 -o noatime,nodiratime,data=writeback /dev/nandc /target
mount -t ext4 -o noatime,nodiratime,data=writeback /dev/nandd /target/usr/lib
mount -t ext4 -o noatime,nodiratime,data=writeback /dev/nande /target/usr/share
mount -t ext4 -o noatime,nodiratime,data=writeback /dev/nandf /target/lib
mount -t tmpfs none /target/tmp
[ -x /target/sbin/init ] && exec switch_root /target /sbin/init
/bin/ash
需要修改上面红色部分把sata的rootfs mount 起来
mount /dev/sda1 /target
3. 修改完后重新打包builtin的rootfs
#cd tmp
#find . |cpio -o -Hnewc |gzip > ../sun4i_rootfs.cpio.gz
#exit (退出fakeroot界面,要非常注意,必须到fakeroot环境上操作,否则很容易导致rootfs损坏)
4.按照教程继续生成nand固件包
5.livesuit包nand的固件包烧写进去,挂上硬盘
6. 进入nand系统后,把nandd和sata的sda1挂载起来,并把nandd中的文件系统复制到sda1上
7.重启即可
需要注意内核启动到rootfs时,可能sda1节点还没创建出来或者甚至可能是u盘的,需要动脑经想想办法。最简单的可以是while循环中等待sda1节点的创建
启动楼主可以动手做一下,我今天实在抽不出时间弄~:-) matson 发表于 2013-7-29 16:57 static/image/common/back.gif
方法步骤:
1.下载a10的lubuntu SDK,下载地址如下
http://linux-sunxi.org/Install_Ubuntu_Linux_for_Cub ...
我做了,失败
原因:
switch_root只能使用tmpfs或者ramfs,不可以使用一般的ext2,3,4
不过测试出/dev/sda创建了,能挂载 CT的新版本(1.0, 20131026) 很方便转移rootfs到SATA硬盘上,有uEnv.txt可供修改……其实对所有cubieboard而言,也就几个地方要注意:
1、内核里面要把SATA驱动编译进去,不要编译成模块
2、uEnv.txt 里面加上 root=/dev/sda1 ,再不行就加一些延时 bootdelay=10 root=/dev/sda1
3、把rootfs从nand或SD卡拷贝到SATA硬盘,并修改 /etc/fstab ,增加 / 的挂载
改天写个教程
页:
[1]