OK6410安装Debian

来源:互联网 发布:四川广电网络在线直播 编辑:程序博客网 时间:2024/06/05 22:39

树莓派的raspbian用着很爽,于是想着在我的OK6410上面也能使用就好了,谷歌一下,发现还真的有不少人做到了,只需使用debootstrap构建一个根文件系统即可,果断开始折腾。

首先你得有一个ubuntu或者debian系统,

执行sudo apt-get install debootstrap qemu-user-static

注:debootstrap是debian的一个用于自己组建系统的工具

qemu-user-static是防止平台差异(arm与i386)导致的无法chroot问题

新建一个文件夹用来下载文件系统mkdir debian_arm

cd debian_arm
sudo debootstrap --arch=armel --foreign --include=vim,openssh-server jessie rootfs/ http://ftp.us.debian.org/debian

注:--arch是平台,--foreign是只下载解压缩不执行安装与设定,--include是添加自定义组件,还有--exclude不包含组件,squeeze是debian的版本号,rootfs/是根目录路径,网址就是下载地址喽

接着就是下载漫长的等待下载了,大概会下载一百多兆

cd debian_arm
sudo cp /usr/bin/qemu-arm-static rootfs/user/bin/qemu-arm-static(不复制会报错,平台差异问题)
sudo chroot rootfs

这个时候就以root身份进入新的文件系统了

执行套件的安装与设定:

/debootstrap/debootstrap –second-stage

又需要等待一会。。。

修改apt-get源

echo"/deb http://ftp.us.debian.org/debian squeeze main" >etc/apt/sources.list

配置网络:

vi /etc/network/interfaces

输入

auto lo
iface lo inet loopback
iface eth0 inet static
address 192.168.137.7
netmask 255.255.255.0
gateway 192.168.137.2
iface default inet dhcp

配置主机名:

echo "debian_ok6410">/etc/hostname

配置串口:

echo "T0:123:respawn:/sbin/getty 115200 ttySAC0">>/etc/securetty
echo"proc /proc proc none 0 0" >> /etc/fstab
mkdir-p /usr/share/man/man1/
mknop /dev/console c 5 1(可能提示已存在)

当然,千万不要忘记passwd给系统添加一个密码

这就差不多了,如果还想再设置的话,比如apt-get update 、remove、clean之类的,

也可以对系统清理下用不到的命令或者文件。此处省略1000字。。。

exit退出当前根文件系统

准备一张sd卡,fdisk /dev/sdb分区为一个FAT(大小无所谓,自己感觉,不明原因,我感觉直接一个EXT3也可以,还未尝试),剩下的全部EXT3

sudo mkfs.vfat /dev/sdb1
sudo mkfs.ext3 /dev/sdb2
mount /dev/sdb2 /media/udisk(假设挂载此处)

好了,现在将所有的文件拷贝到sd卡ext3分区

cp -rp rootfs/* /media/udisk/

卸载sd卡,安装到开发板

接下来进入minicom,开发板上电,打断autoboot

进入命令行模式

printenv查看当前uboot环境变量设置
setenv bootargs "root=/dev/mmcblk0p1 console=ttySAC0,115200"
saveenv保存
reset重启开发板

接下来,如果不出意外,大概就会进入系统了,

注:

  1. 内核无法启动的,请重新编译内核,将ext3选中,话说我现在编译内核只需要10分钟,debian速度不错哦,以前ubuntu最少得三十分钟

  2. 不设置passwd又不设置自动登录是无法进入系统的

  3. 虽然安装debian内存占用很少,也没有安装桌面,但是单纯直接将系统制作为yaffs2会在启动的时候出错,显示无法分配内存,准备再精简下系统,或者使用emdebian

  4. 网卡无法识别的,请cat /proc/net/dev会发现网卡变成eth1了,这是由于chroot的时候保存了主机的eth0信息,现在的依序变成了eth1

vi /etc/udev/rules.d/70-persistent-net.rules

将eth1改为eth0,将里面原本的eth0删去,reboot就好了(直接删除本文件也可,下次开机会自动生成)

  1. 下一篇,无线网卡驱动安装

11.22补充更新:

机身明明含4Gnand flash,为毛我还要用sd卡呢,多傻啊,可是那天我尝试将文件系统写入nand的时候,在启动过程的最后出现了存储不足,今天仔细的看了下,一直使用的是/dev/mtdblock2

这个分区本身就只有200M左右,一个精简版的debian也比它大,所以问题就明显了。而/dev/mtdblock3却是3.9G左右,这难道还不够吗?果断将它作为分区啊。

我是在电脑上将SD卡备份后再恢复到mtdblock3的,不管是复制也好,tar也好,只要能把文件系统完完整整的拷进去就算事。

然后修改uboot参数

setenv bootargs "root=31:3 noinitrd console=ttySAC0,115200"

这里我使用了简写,ls -l /dev/m*

可以查看到id是31,而mtdblock3就是第三个了,同样适用于sd卡的时候即

bootargs=root=179:2 noinitrd console=ttySAC0,115200

接着reset重启开发板,没有意外的话会和之前从sd卡启动是一样的效果。

0 0
原创粉丝点击