Firefly开源社区

标题: FireWRT运行debian系统[申精] [打印本页]

作者: 小c    时间: 2015-3-26 14:26
标题: FireWRT运行debian系统[申精]
本帖最后由 小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的文件系统,所以这个内核应该很小,很快就烧完了。

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



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

附一个编译好的内核:










作者: 金刚葫芦娃    时间: 2015-3-26 15:01
沙发~
作者: 金刚葫芦娃    时间: 2015-3-26 15:02
请问一下你是怎么搞到板子的
作者: 沉默的枕头    时间: 2015-3-26 15:10
板子开卖了吗?
作者: 小c    时间: 2015-3-26 15:38
金刚葫芦娃 发表于 2015-3-26 15:02
请问一下你是怎么搞到板子的

工程机
作者: 小c    时间: 2015-3-26 15:39
沉默的枕头 发表于 2015-3-26 15:10
板子开卖了吗?

还没有吧,可以发邮件问问
作者: 代祥军    时间: 2015-3-26 20:31

作者: pinyin    时间: 2015-3-30 09:16
板子哪里买的啊
作者: kcnmbb    时间: 2015-4-14 16:05
帅气的样子看阿奎那
作者: cmheia    时间: 2015-4-15 14:32
赞一个楼主这一问一答的方式,给谁看了都不会迷惑
作者: wzhy90    时间: 2015-5-13 14:42
看看截图
作者: 长江之水    时间: 2015-5-13 14:52
看看什么东西
作者: madman    时间: 2015-5-18 09:13
顶个
作者: axlrose    时间: 2015-5-21 13:46
太强大了,原来是通过bootstrap来安装debian
作者: llkak47    时间: 2015-6-2 09:52
回复看看,学习一下
作者: welcoco    时间: 2015-6-4 09:12
楼主,理论上说,这款板子可以跑windows哦,看下手册就知道了。国内拿样板的不多啊,我也拿了个
作者: jpchen    时间: 2015-6-4 09:51
好高级哦
作者: matrixliu    时间: 2015-11-10 05:43
谢谢分享
作者: 老球球    时间: 2016-1-4 12:10
这个咋那么玩?
作者: onecan    时间: 2016-1-21 09:31
楼主强大,我按照你的方法,制作ubuntu15.10的镜像,但是wifi悲剧了。。。
作者: 那个男人    时间: 2016-5-13 17:08
没有luci怎么用?
作者: 神月    时间: 2016-5-27 01:38
挺膜啊
作者: ahtwbg    时间: 2016-7-30 01:14
感謝樓主分享!
作者: Hailong    时间: 2016-7-30 11:27
:)
作者: 15920514550    时间: 2017-6-6 15:37
aaaa
作者: dianziit    时间: 2017-6-6 22:11
赞,纯友情支持 帮顶

作者: mars85    时间: 2019-6-13 22:26
谢谢大佬分享下
作者: 梁传琦    时间: 2020-1-11 11:16
11111




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1