## 按

( o/ o8 \6 v) h- \; i7 ^' _  s4 S% m% d

一开始,我是想试试看能不能借由原生linux解决魔盒伪1080输出的问题。毕竟国内厂商靠不住这件事人尽皆知,求人不如求己。现在新版魔盒已经出来了,这个问题原厂就更加不会管了。2 z3 v4 |+ ?  {, @! B: X1 t

& m& H* ~* X+ ]# Q3 q目前debian可以在魔盒上跑起来了,但问题还是很多。首先是音频驱动存在问题,alsamixer显示找不到控制器,aplay不报错但电视机端也没有音频输出。其次是遥控和usb口也都无法使用。

; ?. h$ A' e5 u9 e3 C9 ]1 d& Z# y

( C0 x2 R( y& [0 X* o这些问题不解决,即使花很多功夫把xbmc编译出来也没有实用价值。而我最近事情有些多,暂时没办法继续搞下去了。写这张帖子是希望,如果有人对这个问题有兴趣,可以通过我的帖子节约一点时间,也算是回馈论坛了吧。H+ z: r' A2 N! y/ k% m+ p9 e

1 ?) U, b0 {" k" T( N哈哈6014和1024255317给我提供了不少帮助,一并在此表示感谢。' ^# L$ g6 Q* f" S

# r' R! Z2 I9 L5 Q5 v$ _) O

## UBOOT

$ P3 y9 R; A* }% X: ^( |; ?2 d, ]% g( v4 ~

因为我希望保留nand内的安卓系统,所以linux就只能安装在tf卡中。虽然有朝一日如果能研究出点成果,拆机并不是必须的步骤。但就目前而言,没有uart接口就看不到输出,没法折腾,所以拆机焊线就目前来说仍然是必须的。$ P/ P  t! p# J- O/ g- B: E. E

! d1 a1 _; c3 c/ a5 M% n# K7 M3 `

为了一张tf卡在两个系统中都派上用场,我把一张16G的tf卡为了两个区,第一个分区4G的fat32,剩余部分则格式化为ext3。

+ |8 d4 p( ^$ O7 k1 ^3 I5 S, a1 ^! U) W, {

想要启动时加载tf卡上根目录中名为uImage的内核文件,我们可以在uboot中这么做:

+ H1 i3 f8 ~# H1 o& h

mmcinfo

* y7 g8 h! g6 \5 M- |) M7 c

fatload mmc 0 ${loadaddr} uImage8 K  [/ i* J& R( \' D

bootm( g* a% H/ M" h% M% U9 X; F/ |复制代码如果希望启动时默认加载tf卡上的linux内核,则可以这样做:

& k* v# C  l9 H: {4 O2 J$ H: v6 F

setenv bootlnx 'mmcinfo; fatload mmc 0 ${loadaddr} uImage; bootm; '

0 J; _$ |/ ]9 I- g

setenv bootcmd 'run bootlnx'2 E: `0 z. T! I: z' K2 h0 R/ M4 Q5 L

saveenv4 E4 m, Y0 L$ S" |$ Y1 z0 U复制代码另外还有个法子,可以在上电时通过狂按遥控上的菜单键加载tf卡上的系统:

" y  b; F  j6 {( z! y

setenv bootlnx 'mmcinfo; fatload mmc 0 ${loadaddr} uImage; bootm; '

& h  X7 U2 u# k: ~' f5 a2 L

setenv irremote_update 'if irkey 0x1f2d12e 500000 ;then run bootlnx; fi'$ D: t5 q$ F" F" w. ]  i2 z, p

saveenv$ }/ d& G5 L: X  A复制代码关于uboot的更多内容,可以参考一下这张帖子:http://www.7po.com/thread-235366-1-1.html- q: x7 G0 J& ^

4 n7 i' T+ W2 ?

## 内核

; k4 v( U9 S8 C5 z

t0 F$ F* J+ a% n% I2 L9 n' B. qamlogic官方放出的内核以及驱动源码这里有:http://openlinux.amlogic.com:8000/download/ARM/3 u* z; L5 Z/ Y  A  c

' ?5 A: _" @0 L5 [* ?! \1 X# V

不过直接用这里的代码虽然能够成功编译,但实际使用时有非常多的问题,所以我用的是wjb@github修改整理的版本。/ E; c5 @- B2 c

8 a0 s/ _+ T5 W6 b3 ?

编译内核使用的是ubuntu 12.04,安装必须的软件包什么的我就不废话了,具体编译过程大概是这样:

: ^1 P6 w9 ^+ o5 ~9 [: [

sudo apt-get install gcc-arm-linux-gnueabihf

# e! `$ }4 W) Z- i( \' f

2 A) `2 y& G: W# g7 e

git clone https://github.com/wjb/mx-common.git# ~$ A# R2 p- ]

cd mx-common/ L. Q! x3 l/ [6 T6 S

! R' w; H6 b$ A3 J, i

export CROSS_COMPILE=arm-linux-gnueabihf-0 P* ^/ m- _* t' T6 i/ {

export ARCH=arm. \* {- O& v6 r& X) [% [

make mrproper

. @; Z: c" {6 F9 ~1 B7 [

make meson6_g18_mx2_defconfig( E7 Q9 p* S0 \* J. U  T3 q

make menuconfig: k4 z; ?! D, s; a/ P

make uImage -j4+ V  l/ ]; L" m) o3 d' Q: \1 _& ~

make modules -j49 G) ^  n5 q* Q- I: j

+ `7 l4 v; u% A( S  y

sudo cp arch/arm/boot/uImage /media/BOOT

) U* N+ c+ v' \/ C3 G

sudo make INSTALL_MOD_PATH=/media/AMLinux modules_install. F2 `+ h5 H, `' S8 `复制代码## Debian; N. ^$ Y; v% W

( q/ V: ^. A$ }, @5 lUbuntu和Debian都提供了ARM支持,下面的方法两个发行版都适用。不过只用命令行的话,Ubuntu远不如Debian好用,再加上stable的Debian软件包太老,所以下面安装的是sid的Debian。7 f1 B* T* v  J

! A! X' U0 B  ~2 t6 M/ [

, T1 `' T& E: n& T9 A. S( v

sudo apt-get install qemu-arm-static debootstrap

9 H, ?0 m. E2 A4 pmkdir debian-armhf-sid+ q' X$ X+ T& a/ i

sudo debootstrap --foreign --arch armhf sid debian-armhf-sid http://ftp.tw.debian.org/debian/; i- ?* }% Y2 e! }. C) u

sudo cp /usr/bin/qemu-arm-static debian-armhf-sid/usr/bin/# E4 X6 |$ x' @4 l& n

sudo chroot debian-armhf-sid /debootstrap/debootstrap --second-stage

6 U3 f5 ?# q+ n9 c) U# c4 Lsudo chroot debian-armhf-sid

7 V" ]& C! @. r5 x+ k8 s* A3 L

/ }! |5 R; }, h+ u9 F

; r8 W7 m- e. |1 p, C

qemu-arm-static很不错,可以直接在PC上chroot进ARM系统,相当方便。

0 A: d3 y" _3 z; h& `

/ K; n3 r: F+ H1 ?, l' L5 K然后就是一些基本设置:

$ O. |: e/ y) G3 \6 c+ W6 q: T- K

3 a* q: g. p9 c- g

1 V/ `' x9 z5 i1 x5 ?; O: q4 p4 ^passwd1 t' {8 I* K' ]5 e3 x1 D% b

echo AMLinux > /etc/hostname

' e" e! o4 v# G) e4 ]3 z. Fecho deb http://ftp.tw.debian.org/debian sid main contrib non-free >> /etc/apt/sources.list" j# h# Y5 M5 T5 h/ T" t

apt-get update, k7 u) V5 h/ ]# |

apt-get install locales! Q2 m2 }! H. U3 A* Q+ [/ \: H- s

dpkg-reconfigure locales

) A) |3 e& Z6 j6 P# a2 }- aapt-get install wireless-tools wpasupplicant

5 D- u, [% K! D5 g) d$ [/ d: vmknod -m 660 /dev/ttyS0 c 4 64

6 \1 B# o1 X0 E, k( f

, L( u6 q( C6 u* N$ @; e/ B5 f5 }* v. d+ B6 L

编辑/etc/inittab,将ttyS0所在行改为:

: Y4 I* Y4 B5 b, z( ?" d5 c! W+ e9 O: v8 m

: l. ~# }# }% ^( u0 O/ j9 u+ Y" @T0:2345:respawn:/sbin/agetty -L ttyS0 115200 vt1005 H3 b& h; L  T

4 V9 N! Y8 e! ~, r# C5 o: H' o3 H

3 [) V5 p, C9 Q完成后cp -a将debian-armhf-sid复制到TF卡的ext3分区,到这里该TF卡就可以在魔盒中成功启动了。

1 m+ A( {; |/ g1 O  q" \1 C

0 h: B# j) Y8 G2 k; Q. H## 现存问题

' U) \5 F' y- M7 o1 m7 c4 i, P8 |) _5 {9 j% U  M; N% x

### 有线网卡的mac地址问题5 ], H* o- r2 r# M1 Y, R: U

k8 m" x7 d  n( {: H: e在启动linux时,log里有一句未配置mac地址,使用随机地址的信息。进入linux后重启进入android,系统会自动运行一个叫MiptAutoTestForAli-10030的程序。虽然看起来很吓人,但其实只要在这个程序中选择写入随机mac地址再退出,就可以正常使用android系统了。1 R3 [% z* T/ T5 E5 r0 N/ X

; d* o( f- o1 I# X0 {- m

这有可能是linux下的网卡驱动不完善导致的,不过也不是什么大问题就是。

: J7 U! w$ D( u! N7 L4 j3 I/ a

### usb口无法使用$ w$ ^# N- d! s: ^

1 I! }! T9 g- j1 S" p) r. z  ]启动信息看不出什么问题,usb相关内容都有也都正常,但不管是启动前还是启动后插入usb设备,系统都认不出来。

( _) F+ G9 ?( D

7 E. R3 P$ j  L  _, X. X# H### 音频输出

* ?3 |4 ^& A( y8 E

; }# Z" T: ]4 `( j+ B+ F! camlogic虽然也用了alsa,但似乎没有提供/dev/dsp一类标准接口。在android中我用optware安装了alsa相关工具,同样有alsamixer显示无控制器,aplay无法输出的问题,所以这究竟是怎么回事还有待研究。( d2 a& g. Z0 K* f, h. b+ q/ T

8 j) _! t3 X5 y0 |# `### 遥控器不能用

) j- r: i* i0 y; Z# N9 r# ^6 [7 d# E4 m

应该也是驱动问题,不过只要usb口可以正常使用了,大不了用鼠标不用遥控就是,问题不大。

, V+ Y4 e# [6 [, k. Z3 @7 F7 o5 u) d3 w0 L( h' p, w' H1 A8 [

! Q( `- @- f3 U1 U$ c9 b0 x- E% D

网络盒子安装 linux,天猫魔盒安装原生linux的一些初步成果相关推荐

  1. magicbox linux教程,天猫魔盒安装原生linux的一些初步成果

    ## 按 / j! g3 F8 V: \0 w4 _ ! G' G  ]) J, {+ m0 |" C/ Y一开始,我是想试试看能不能借由原生linux解决魔盒伪1080输出的问题.毕竟国内 ...

  2. linux gnome3安装_Windows 10安装与管理WSL体验原生Linux系统

    微软Windows10的内置Linux系统WSL已经有几年历史了.不得不说,在Windows中内置原生的Linux系统,对微软而言是个非常冒险的举措,但也是微软大刀阔斧拥抱开源世界的转折点.几年来,虽 ...

  3. 给破解后的天猫魔盒安装entware

    找人把天猫魔盒yunos6.1.0给精简后,在具有root权限的telnet里仔细看了下yunos6.1.0的系统文件,发现其和android基本一样,只不过自己把系统版本号给变成了自己的,而里面的应 ...

  4. 天猫魔盒显示服务器响应错误,天猫魔盒网络连接异常 几招解决好这个问题

    在天猫魔盒使用过程中,我们常常会碰到网络异常的情况,电视盒子都不能正常的使用,那么该如何解决这个问题呢!首先要排查这些网络异常的原因.下面就让小编教你几招解决问题. 首先排除系统问题:重启.恢复出厂设 ...

  5. 天猫魔盒远程安装APP

    从前的小米盒子299给了父母用,前段时间天猫搞活动,99撸了一个天猫魔盒,天猫亲爹阿里真是有钱任性.由于广电总局各种规定,当然也有盒子厂商的利益,默认很多片是需要付费观看的,而且也看不了电视直播.所以 ...

  6. Linux系统的安装(自动引导安装、网络安装、分区选择)

    Linux系统的安装(自动引导安装.网络安装.分区选择) Cobbler配置 yum install httpd -y yum install cobbler cobbler-web pykickst ...

  7. linux学习笔记4:linux的任务调度,进程管理,mysql的安装和使用,ssh工具的使用,linux网络编程...

    1.设置任务调度命令crontab 任务调度是指系统在某个时间执行的特定的命令或程序.任务调度分为:1)系统工作:有些重要的工作必须周而复始的执行,如病毒扫描.2)个别用户工作:个别用户可能希望执行某 ...

  8. linux 商业游戏,Ubuntu下安装试玩原生Linux版商业游戏Braid

    这款原生Linux版商业游戏Braid国外出售价大约在80美元左右.每年在Linux平台上发布的原生商业游戏是屈指可数,而且这些游戏的质量也是参差不齐. 不过这款原生Linux版商业游戏Braid还是 ...

  9. tableau linux无网络安装_四十二、Linux网络管理,软件安装,进程管理总结

    「@Author: Runsen」 1.⽹络管理 1.1 网络状态查看 在Linux中经常使用ifconfig,route和netstat查看网络状态,它们就是. net-tools工具,下面我来使用 ...

  10. linux系统安装自主分区,Linux系统的安装(自动引导安装、网络安装、分区选择)...

    Linux系统的安装(自动引导安装.网络安装.分区选择) Cobbler配置 yum install httpd -y yum install cobbler cobbler-web pykickst ...

最新文章

  1. POJ 1703 Find them, Catch them
  2. django orm级联_django+jquery 实现级联选择菜单
  3. Linux下对网络进行配置nmcli、nmtui
  4. Pwn环境配置(二)——VMware虚拟机安装Ubuntu 16.04系统
  5. ACM/ICPC 之 Floyd练习六道(ZOJ2027-POJ2253-POJ2472-POJ1125-POJ1603-POJ2607)
  6. 【Java数据结构】Map与Set、搜索树、哈希表
  7. 关于java集合的知识点_java中集合的知识点
  8. nginx反向代理转发apache配置 之 cookie去哪儿了?
  9. 30 | 答疑文章(二):用动态的观点看加锁
  10. wifidog php源码 配置,wifidog官方源码
  11. 【web前端】JavaScript闭包
  12. 概率论---全概率公式和贝叶斯公式
  13. 陈越何欣铭老师数据结构PTA08-图8 How Long Does It Take
  14. TestCenter测试管理工具问题详解(3)
  15. una到底啥意思_una到底啥意思_Una_英文名Una是什么意思
  16. TIPTOP 智能仓库扫描系统解决方案
  17. luogu P4881 hby与tkw的基情
  18. python另存为excel_为什么不能从python代码中“另存为”Excel文件?
  19. 2020-04-17
  20. 阅读笔记 - 20220401

热门文章

  1. 线性调频信号(Chirp信号)公式
  2. java snap7_Snap7 referance manual PDF 下载
  3. linux命名详解及其软件安装实例
  4. 利用C Free3.5 本身获得自身注册码
  5. weui 开发文档
  6. dea模型java实例_大水计划之DEA JAVA
  7. SD卡无法格式化怎么办?恢复SD卡这样做
  8. Linux 修改 Tomcat 编码
  9. 使用UniWebView时的内存管理
  10. html5 调用unity,Unity调用UniWebView打开H5界面脚本