当前位置:首页 » 编程软件 » 编译tty电视固件

编译tty电视固件

发布时间: 2022-07-09 05:12:26

⑴ 如何将android linux烧到Raspberry Pi及其调试

一.Raspberry Pi入门向导。
可以在以下地址下载Raspberry向导

4.设置引导区
引导区必须包含以下文件,你可以从官方镜像里获取(bootable/fat32 partition)也可以从书面步骤中复制过来:
bootcode.bin:第二阶段的引导程序,
loader.bin:第三阶段的引导程序,
start.elf:GPU二进制固件映像,
kernel.img操作系统的内核镜像文件,
cmdline.txt:传递给内核的参数.

5.设置root文件系统分区
ROOTFS分区包含android文件系统,是从<your_android_framework_path>/out/target/proct/rpi/root复制过来的。
cp -r <your_android_framework_path>/out/target/proct/rpi/root/* /media/ROOTFS/

6.完成上述步骤之后,将其放在Raspberry Pi上跑。
七.如何在Raspberry Pi使用adb?

1.查看网络
当android linux在Raspberry Pi运行时,切换到控制台,执行以下命令:
ifconfig eth0
记下ip地址。
如果不能找到ip,可以输入以下命令:/system/xbin/dhcp-eth0,来启动网络连接程序。
ps:如果屏幕没有显示控制台,只要按CTRL+ALT+F2即可切换到控制台。如果你想要切换到Android界面,只要按CTRL+ALT+F7即可。

2.远程连接adb服务器
在主机上执行以下命令即可与同一局域网的Raspberry Pi相连
adb connect ip
连接成功后,你就可以用adb工具输出日志,执行shell命令等。

3.也可以用数据线连接主机,直接在主机上调试。
进入调试的命令为:
screen /dev/ttyUSB0 115200

名词解释:
交叉编译(cross compile):交叉编译呢,简单地说,就是在一个平台上生成另一个平台上的可执行代码。这里需要注意的是所谓 平台,实际上包含两个概念:体系结构(Architecture)、操作系统(Operating System)。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。举例来说,常说的x86 Linux平台实际上是Intel x86体系结构和Linux for x86操作系统的统称;而x86 WinNT平台实际上是Intel x86体系结构和Windows NT for x86操作系统的简称。

⑵ 帮帮解释下Linux tty的概念。。谢谢

tty1~6,六个文字界面终端,可用键盘Ctrl+Alt+F1~6转换。
tty7图形界面终端,Ctrl+Alt+F7进入。
tty8系统信息。

⑶ 在linux下,为何tty显示字符的速度这么慢而konsole却能显示这么快

同样出现这种情况,之前关注过,资料说是可以打开一个缓冲区,这样显示速度会快一些

⑷ 有谁知道到关于OpenWrt固件编译开发的入门的书籍在那里买 或者书名叫什么

编译openwrt固件并没有想象的那么复杂,我也是个小白,以下内容是我将网络上的编译教程稍微进行了一下整合。因为我发现很多编译教程没有说明如何更改flash相关配置。

安装ubuntu,不赘述。
注意在安装完成后,root不能直接登录,需要设置密码,设置方法,自己网络一下。

如果是虚拟机安装,将虚拟机的网卡配置为桥接模式;
**************以下操作需要在root用户下操作************************
编辑/etc/networt/option文件夹下的interfaces,将iface eth0 inet dhcp配置为dhcp模式,
然后执行/etc/init.d/networking restar即可自动获取到ip地址(此方法适用于家中或单位使用dhcp获取IP地址的场合,如果为固定地址,请自行研究)。互联网联通以后执行以下:

sudo apt-get update
安装编译需要的组件:
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install binutils
sudo apt-get install patch
sudo apt-get install bzip2
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install make
sudo apt-get install autoconf
sudo apt-get install gettext
sudo apt-get install texinfo
sudo apt-get install unzip
sudo apt-get install sharutils
sudo apt-get install subversion
sudo apt-get install libncurses5-dev
sudo apt-get install ncurses-term
sudo apt-get install zlib1g-dev
sudo apt-get install gawk
sudo apt-get install asciidoc
sudo apt-get install libz-dev
如果编译过程中提示缺少某个组件,同样使用sudo apt-get install安装即可
编译环境搭建完成
**************注意:以下操作需要在自己建的用户下操作************************
mkdir openwrt 创建一个openwrt文件夹
cd openwrt 进入openwrt文件夹
svn co svn://svn.openwrt.org/openwrt/branches/backfire
或者svn co svn://svn.openwrt.org/openwrt/trunk下载官网的源码
注:backfire和trunk为两个不同分支的openwrt源码,backfire据说较为稳定,但是支持的路由器没有trunk多,trunk更多称之为测试版,但编译好后使用也没什么问题。编译的时候只需执行以上一条命令即可。执行完成后,会在openwrt下生成目录,使用backfire源码生成backfire目录,trunk同理。
然后cd trunk或者cd backfire
Svn up
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
进入定制界面(里面可以选择芯片的型号,集成的组件等等,根据实际情况选择,多编译几次就熟悉了)
使用make defconfig,检查编译环境,如要报错参考以下:
注:较常见的问题是编译时不能使用root用户编译,如果使用root登录,需要使用su 用户名切换到非root用户;如果切换用户后,报权限错误,再切换到root用户,使用 sudo chown -R [自己用户名] trunk(如果编译的是backfire源码,此处trunk替换为backfire),然后返回自己的用户名,重新进行编译。
make V=99
(开始编译)
剩下的就是等待了,第一次编译需要的时间相对比较长,这个跟你的电脑配置和网速有关。
以上为路由器未更改flash大小的编译过程;如果要编译非标准大小的flash固件,需要更改编译环境中的一些文件,以703N,使用trunk源码编译为例(trunk与backfire需要更改的文件不一样)
新版本trunk,703N编译8M固件需要更改以下两个文件:
1、 /turnk/tools/firmware-utils/src/mktplinkfw.c
在mktplinkfw.c中找到703N的相关属性,
.id = "TL-WR703Nv1",
.hw_id = HWID_TL_WR703N_V1,
.hw_rev = 1,
.layout_id = "8Mlzma",(改成8)
2、 /trunk/ target/linux/ar71xx/image/Makefile
Makefiel中找到以下内容
$(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLWR703,tl-wr703n-v1,TL-WR703N,ttyATH0,115200,0x07030101,1,8Mlzma))
将4改成以上的8;

修改完成以上两个文件后,即可make V=99进行编译。

Backfire源码需要改动的文件,第一个与trunk一样,第二个文件位于
openwrt/backfire/target/linux/ar71xx/files/arch/mips/ar71xx目录下,找到对应的设备型号进行更改即可。

编译完成后,在bin/ar71xx目录下会有固件产生,固件名必包含编译的路由器型号,如果没有这两个文件,说明编译失败,有可能为编译时候选择的包太多,需重新选择后进行编译。

以上编译未进行相关配置文件的修改,如想修改配置文件,如默认打开无线等等,请自己网络/google。

注:以上大部分内容均来自互联网,我仅进行了整合。

⑸ 请教:WR743N改了16M的flash怎么从openwrt中编译出来16M固件

首先修改trunk/tools/firmware-utils/src/mktplinkfw.c
只修改fw_max_len为0xfc0000,16M flash;只修改fw_max_len为0x7c0000,8M flash
.id = "4M",
.fw_max_len = 0xfc0000,
.kernel_la = 0x80060000,
.kernel_ep = 0x80060000,
.rootfs_ofs = 0x140000,新版只用改fw的大小,分区表会自动认,不用像老版自己定义每个分区大小了。
另外还需下面修改:
Imagebuilder 目录下,./target/linux/ar71xx/image/Makefile, 把703n最后的4Mlzma改成了8Mlzma或16Mlzma
$(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLWR703,tl-wr703n-v1,TL-WR703N,ttyATH0,115200,0x07030101,1,8Mlzma))
否则出现如下错误:
[mktplinkfw] kernel length aligned to 914864
[mktplinkfw] *** error: images are too big
make[3]: [install] Error 255 (ignored)

在openwrt中不能更新uboot时,需要做如下修改:
target/linux/ar71xx/files/drivers/mtd/tplinkpart.c
parts[0].mask_flags = MTD_WRITEABLE; //去除本行

⑹ archlinux 安装完以后重启出现can‘t access tty job control tuned off

(1): 错误现象: Linux 启动完成后打印如下信息
-sh: can't access tty; job control turned off
并且ctrl + c 不能杀死正在运行的程序。
(2): 问题的原因
busybox 要求shell能运行在实际的控制台,而不是虚拟的控制台。
Ctrl+C终止进程的流程是这样的:
Ctrl + C首先通过 /dev/ttyS0 (/dev/console)的driver,这个serial driver直接把这个控制字符送到n_tty的driver,n_tty负责search所有的 控制字符。当 ctrl+C 按下,n_tty.c: n_tty_receive_break() –> isig(SIGINT,tty) –> kill_pg(SIGINT, tty->pgrp)signal.c: kill_pg() calls signal(SIGINT,task) 来中断每个具有group number 为 tty->pgrp的task.值得一提的是,只要process具有相同的group id,不管是backgroud还 是foreground,都会被kill掉。

解决:-sh: cant access tty; job control turned off 的问题 - KuaFu - kuafu80 的博客

注意区别3个设备节点的意义:
/dev/tty1: 第一个虚拟控制台
/dev/ttyS0: 第一个UART 串口端口
/dev/console: 系统控制台

(3):解决办法
编写/etc/inittab文件(当然,前提是要编译busybox时,需要选上"Support reading an inittab file"),写入如下内容
console::sysinit:/etc/init.d/rcS
ttyS0::askfirst:-/bin/sh
ttyS1::askfirst:-/bin/sh
ttyS2::askfirst:/bin/sh
::restart:/sbin/init
::ctrlaltdel:/sbin/init
::shutdown:/bin/umount -a -r
::shutdown:/sbin/swapoff -a

特别注意:
(1): 在uboot启动命令行一般会指定系统控制台: console=ttyS2,115200n8,运行在哪个UART串行端口上,这个需要根据
自己的开发板的硬件电路来决定。
(2): ttyS0、ttyS1、ttyS2,根据自己的硬件电路来决定。
(3): console::sysinit:/etc/init.d/rcS,表明在uboot的命令行参数中不再需要指定: init=/rcS了,Linux系统起来后,自动
会去执行/etc/init.d/rcS脚本

⑺ ARM s3c2440-linux如何释放作为console的ttyS0串口

在你的s3c2440板子上,你的串口节点驱动,可能不是ttys0,这样的驱动文件,在各个制作系统文件时串口的驱动节点,可能是别的文件名,你仔细的观察下,给你个建议,我的串口驱动节点是s3c2440-serial这个文件,不是ttys0你看一下是不是这个

⑻ ubuntu编译osmocombb完要多久

ubuntu编译GNUARM以及OsmocomBB环境方法如下,时间的话看你代码速度啦

以下所有操作基于Ubuntu Linux下,所以基于Ubuntu、Debian等Linux版本均可使用。

一、以Root权限进行接下来的所有操作:

$ sudo -s

二、安装编译osmocomBB所需的软件包:

$ aptitude install libtool shtool autoconf git-core pkg-config make gcc

三、下载所需要的GnuARM ToolChain

基于x86架构

$ wget http://gnuarm.com/bu-2.15_gcc-3.4.3-c-c++-java_nl-1.12.0_gi-6.1.tar.bz2 网络网盘

$ tar xf bu-2.15_gcc-3.4.3-c-c++-java_nl-1.12.0_gi-6.1.tar.bz2

$ mv gnuarm-* ~/gnuarm

基于64位架构

$ wget http://www.gnuarm.com/bu-2.16.1_gcc-4.0.2-c-c++_nl-1.14.0_gi-6.4_x86-64.tar.bz2 网络网盘

$ tar xf bu-2.16.1_gcc-4.0.2-c-c++_nl-1.14.0_gi-6.4_x86-64.tar.bz2

$ mv gnuarm-* ~/gnuarm

这样子就已经完成了关于OsmocomBB的交叉编译环境的搭建,剩下就是最关键的设置环境变量

$ export PATH=~/gnuarm/bin:$PATH

建议是直接编辑~/.bashrc的内容,把上面的这个段话直接加到最后。


四、编译libosmocore:

$ git clone git://git.osmocom.org/libosmocore.git

$ cd libosmocore/

$ autoreconf -i

$ ./configure

$ make

$ make install

$ cd ..

$ ldconfig

ldconfig命令一定不要忘记执行,否则osmocomBB编译后运行时会出现找不到libosmocore.so.4的错误。


五、编译OsmocomBB:

$ git clone git://git.osmocom.org/osmocom-bb.git

$ cd osmocom-bb

$ git checkout --track origin/luca/gsmmap

$ cd src

$ make

基本上已经完成所有的编译操作了!Enjoy你的玩具吧!

使用OsmocomBB

首先我们需要在刷写固件之间完成以下几个手动操作,以便接下来的其他操作。因为摩托罗拉C118的数据连接线是用2.5mm音频接口的,所以连接方面大家要注意的是:

连接线接口的小缺陷

红色框住的地方可能会导致大家在误以为接口已经完全和手机接口衔接了,但在刷机的时候没有任何反应。所以这个部分需要大家自己去削一下的。

连接线与TTL的接法

黑/黄:GND
红:TX
白:RX

以上的接法是针对我们RadioWar淘宝店所出售的CP2102以及FT232rl,而基于淘宝其他的产品可能会在TX和RX部分需要反接,大家要记住。有些朋友会说为什么我们不建议PL2303,那是PL2303只有标准的波特率,所以无法进行任何调制,在真正功能固件上使用会出现很大的问题。所以我们不建议使用PL2303

当我们处理完以上的操作之后,就在osmocomBB套件目录下进行相关固件刷写操作,请记住这个操作过程只是临时性的,固件只是以RAM TO ROM的途径下进行临时刷写,关机后原有的摩托罗拉系统依然会存在的。

cd ~/osmocom-bb/src/host/osmocon/

启动osmocon刷写所需要的固件,通常大家都是直接刷写Layer1的固件。

./osmocon -m c123xor -p /dev/ttyUSB0 ../../target/firmware/board/compal_e88/layer1.compalram.bin

看清楚c123xor是基于C118的,非C118的手机请不要使用这个,并且记住C118的固件目录就是compal_e88,在输入以上命令之前,手机必须连接好连接线以及TTL,并且确保手机必须为关键状态。命令输入完成后,当前命令窗口会出现以下类似信息:

got 1 bytes from modem, data looks like: 2f /
got 1 bytes from modem, data looks like: 00 .
got 1 bytes from modem, data looks like: 1b .
got 4 bytes from modem, data looks like: f6 02 00 41 ...A
got 1 bytes from modem, data looks like: 01 .
got 1 bytes from modem, data looks like: 40 @

出现以上信息后,直接轻按手机的红色开机键,只需点亮机器而不需要进入手机的系统!!!这样子信息状态会显示类似以下的信息:

Received PROMPT1 from phone, responding with CMD

read_file(../../target/firmware/board/compal_e88/layer1.compalram.bin):file_size=56016,hdr_len=4,dnload_len=56023

got 1 bytes from modem, data looks like: 1b .

got 1 bytes from modem, data looks like: f6 .

got 1 bytes from modem, data looks like: 02 .

got 1 bytes from modem, data looks like: 00 .

got 1 bytes from modem, data looks like: 41 A

got 1 bytes from modem, data looks like: 02 .

got 1 bytes from modem, data looks like: 43 C

Received PROMPT2 from phone, starting download handle_write(): 4096 bytes (4096/56023)

handle_write(): 4096 bytes (8192/56023)

handle_write(): 4096 bytes (12288/56023)

handle_write(): 4096 bytes (16384/56023)

handle_write(): 4096 bytes (20480/56023)

handle_write(): 4096 bytes (24576/56023)

handle_write(): 4096 bytes (28672/56023)

handle_write(): 4096 bytes (32768/56023)

handle_write(): 4096 bytes (36864/56023)

handle_write(): 4096 bytes (40960/56023)

handle_write(): 4096 bytes (45056/56023)

handle_write(): 4096 bytes (49152/56023)

handle_write(): 4096 bytes (53248/56023)

handle_write(): 2775 bytes (56023/56023)

handle_write(): finished

got 1 bytes from modem, data looks like: 1b .

got 1 bytes from modem, data looks like: f6 .

got 1 bytes from modem, data looks like: 02 .

got 1 bytes from modem, data looks like: 00 .

got 1 bytes from modem, data looks like: 41 A

got 1 bytes from modem, data looks like: 03 .

got 1 bytes from modem, data looks like: 42 B

Received DOWNLOAD ACK from phone, your code is running now!

battery_compal_e88_init: starting up

看到以上的信息就证明你的固件刷写操作已经成功了,下来的操作可以是扫描基站或者其他简单而快速的方法:

扫描基站

~/cell_logger/osmocom-bb/src/host/layer23/src/misc/cell_log -O

扫描某一个基站,例如30

~/cell_logger/osmocom-bb/src/host/layer23/src/misc/ccch_scan -i 127.0.0.1 -a 30

将扫描基站的日志保存到本地

mpcap -i lo -w ~/cell_logger/mobilelog/Cell.log

打开WireShark实时读取相关的信息

sudo wireshark -k -i lo -f 'port 4729'

热点内容
芝麻云服务器分布图 发布:2025-02-09 06:12:53 浏览:429
oracle同义词存储过程 发布:2025-02-09 06:00:59 浏览:156
quartz数据库配置 发布:2025-02-09 05:58:07 浏览:114
弯矩图编程 发布:2025-02-09 05:58:06 浏览:186
多个ip段怎么配置网关 发布:2025-02-09 05:57:23 浏览:414
体检中心的无线网密码多少 发布:2025-02-09 05:40:15 浏览:516
脚本语言是编译还是解释 发布:2025-02-09 05:30:24 浏览:643
天墓密码结局是什么 发布:2025-02-09 05:25:52 浏览:438
如何找回因特网帐号的密码 发布:2025-02-09 05:20:05 浏览:374
树莓派源码 发布:2025-02-09 05:07:00 浏览:652