Firefly开源社区

123
发表新贴
打印 上一主题 下一主题

FireWRT运行debian系统[申精]

52

积分

10

威望

10

贡献

注册会员

Rank: 8Rank: 8

积分
52

FireWRT运行debian系统[申精]

发表于 2015-3-26 14:26:45      浏览:24770 | 回复:27        打印      只看该作者   [复制链接] 楼主
本帖最后由 小c 于 2015-3-26 15:35 编辑

最近拿到了一块firewrt的工程板子,十分强大,突发奇想,能不能在MT7621上面跑其他linux系统。
一开始想跑ubuntu看看的,但是ubuntu没有mips架构的文件系统。所以只能试试跑debian。
参考了恩山上的这个帖子:
http://www.right.com.cn/forum/thread-50766-1-1.html

Let's start!

debian的文件系统不大,但是想放在板子上的flash是不可能的。只能放在u盘。 (或者SD卡)
先把u盘格式化为ext4。用mkfs.ext4就可以了。格式化后就可以用来制作文件系统了。

查了一下资料,制作debian文件系统是使用debootstrap来制作的。一开始用电脑来制作,但是后来发现这是没法成功的。(至于为什么等会再解释)
所以只能在路由器上安装debootstrap来制作文件系统。


顺便吐槽一下,因为firewrt的镜像库还没搭建好,官方的镜像库又有点问题。所以想要什么软件就只能自己编译了。

make menuconfig 中选中debootstrap。 (ext4 , usb storage这些肯定要选的,就不多说了)



另外还要注意的是,内核必须配上MIPS FPU Emulator 。 执行make kernel_menuconfig 来配置。


设置好了就可以编译了。
烧写编译好的固件后。连上网络,把u盘mount一下,就可以开始制作debian的文件系统了。
执行:
    debootstrap --arch mipsel --variant=buildd wheezy /mnt/   http://ftp.cn.debian.org/debian/

来到这里要说一下,刚刚为什么说要在电脑上不能制作,运行debootstrap的时候,过一会儿就会自动chroot去完成下一阶段的软件安装,因为我们下载的是mipsel的文件系统,所以如果在x86的电脑上,执行到这里就会出错,文件系统不完整。(在这里纠结了很久)

下载完后就可以尝试一下chroot切换过去了。
    chroot /mnt /bin/bash
    su root
    mount proc proc /proc
    mount sysfs sysfs /sys

安装必要的软件:
   apt-get updates
   apt-get install vim
   apt-get install isc-dhcp-client
   apt-get install iputils-ping
   apt-get install ifupdown
   apt-get install net-tools

到此,文件系统就做好了。u盘好好拿稳。


下一步,我们要抛弃openwrt的文件系统。让debian自动启动。
因为openwrt都是把驱动编译成内核模块的,如果我们不用openwrt,这些内核模块就无法启动。所以我们要把启动buildin。

clean一下openwrt的配置。make menuconfig 把之前选过的usb,ext4这些通通去掉。
然后我们开始配置一下内核。
make kernel_menuconfig .  把里面 usb , ext4 这些配置全部配置成 y 。
大概有一下几个:
CONFIG_BLK_DEV_SD=y
CONFIG_EXT4_FS=y
CONFIG_FS_MBCACHE=y
CONFIG_JBD2=y
CONFIG_MIPS_FPU_EMULATOR=y
CONFIG_NLS=y
CONFIG_SCSI=y
CONFIG_USB=y
CONFIG_USB_COMMON=y
CONFIG_USB_STORAGE=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_PCI=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_XHCI_PLATFORM=y
CONFIG_USB_MT7621_XHCI_PLATFORM=y
CONFIG_USB_PHY=y

这两个配置要去掉
CONFIG_CMDLINE="rootfstype=squashfs,jffs2"
CONFIG_CMDLINE_BOOL=y


这里说明一下,为什么把usb从openwrt中去掉,又在内核中配置上呢? 因为在openwrt中配置,是配置为m的,我们不需要op的文件系统,所以没法加载到usb驱动。

最后配置一下CMDLINE。
编辑 target/linux/ramips/dts/FIREWRT.dts
把 bootargs 换成:
    bootargs = "console=ttyS0,57600 root=/dev/sda1 rw rootwait init=/sbin/init";
这样启动的时候就会从u盘引导文件系统了。


配置好了,就可以编译了。虽然我们只要内核。但是为了方便就整个op编译吧。
make V=s -j4

编译好了,内核的位置在:
build_dir/target-mipsel_1004kc+dsp_uClibc-0.9.33.2/linux-ramips_mt7621/firewrt-kernel.bin

烧写进开发板。 由于没有了op的文件系统,所以这个内核应该很小,很快就烧完了。

下面是见证奇迹的时刻吧!!!!!!



最后,因为网卡什么的一直没调通,郁闷了很久。 有哪位大神可以指点一下~

附一个编译好的内核:

游客,如果您要查看本帖隐藏内容请回复








已有 1评分威望 +10 灯泡 +10 贡献 +10 收起 理由
cmheia + 10 + 10 + 10 赞一个楼主这一问一答的方式,给谁看了都不.

查看全部评分

回复

使用道具 举报

16

积分

0

威望

0

贡献

游客

积分
16
发表于 2015-3-26 15:01:57        只看该作者  沙发
沙发~
回复

使用道具 举报

16

积分

0

威望

0

贡献

游客

积分
16
发表于 2015-3-26 15:02:50        只看该作者  板凳
请问一下你是怎么搞到板子的
回复

使用道具 举报

19

积分

0

威望

0

贡献

游客

积分
19
发表于 2015-3-26 15:10:56        只看该作者  地板
板子开卖了吗?
回复

使用道具 举报

52

积分

10

威望

10

贡献

注册会员

Rank: 8Rank: 8

积分
52
发表于 2015-3-26 15:38:20        只看该作者  5#
金刚葫芦娃 发表于 2015-3-26 15:02
请问一下你是怎么搞到板子的

工程机
回复

使用道具 举报

52

积分

10

威望

10

贡献

注册会员

Rank: 8Rank: 8

积分
52
发表于 2015-3-26 15:39:29        只看该作者  6#

还没有吧,可以发邮件问问
回复

使用道具 举报

98

积分

9

威望

6

贡献

注册会员

Rank: 8Rank: 8

积分
98
发表于 2015-3-26 20:31:12        只看该作者  7#
回复

使用道具 举报

23

积分

0

威望

0

贡献

游客

积分
23
发表于 2015-3-30 09:16:57        只看该作者  8#
板子哪里买的啊
回复

使用道具 举报

5

积分

0

威望

0

贡献

吃瓜的群众

积分
5
发表于 2015-4-14 16:05:17        只看该作者  9#
帅气的样子看阿奎那
回复

使用道具 举报

12

积分

0

威望

0

贡献

游客

积分
12
发表于 2015-4-15 14:32:56        只看该作者  10#
赞一个楼主这一问一答的方式,给谁看了都不会迷惑
回复

使用道具 举报

返回列表
123
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表