• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
主题 : uboot linux 控制台重定向问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 34009
精华: 0
发帖: 5
金钱: 25 两
威望: 5 点
贡献值: 0 点
综合积分: 10 分
注册时间: 2010-12-09
最后登录: 2012-05-31
楼主  发表于: 2011-11-17 12:14

 uboot linux 控制台重定向问题

我有块2440的板子,之前uboot和linux kernel 都是用串口1 做console ,现在因为业务需要,需要用串口2做console
我在Uboot 的配置文件中修改了相关参数,如下
//#define CONFIG_SERIAL1          1    /* we use SERIAL 1 on SMDK2410 */
#define CONFIG_SERIAL2    1
#define CONFIG_BOOTARGS    "noinitrd root=/dev/mtdblock3 rootfstype=yaffs2 init=/linuxrc console=ttySAC1,115200 M"
然后修改文件系统的inittab文件,如下
s3c2410_serial1::askfirst:-/bin/sh

现在uboot是从串口2输入了,但是kernel 启动到 Starting kernel .. 就停止了
如果我Uboot改回原来串口1做console ,启动kernel时,也能够从uboot的串口1跳到串口2启动
请问这个是什么原因?
邮箱:yucejun@126.com,欢迎讨论!
级别: 侠客
UID: 34734
精华: 0
发帖: 101
金钱: 510 两
威望: 102 点
贡献值: 0 点
综合积分: 202 分
注册时间: 2010-12-20
最后登录: 2018-07-15
1楼  发表于: 2012-10-26 13:29
我也遇到同样的问题了,不知楼主去年解决了没
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
贡献值: 27 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
2楼  发表于: 2012-10-26 13:40
没有用过u-boot,不太了解,请使用我们提供的Supervivi
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
3楼  发表于: 2012-10-26 15:55

 回 1楼(yucejun) 的帖子

能否具体说出你的目的,如何做的,以及错误信息?
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
邮箱:yucejun@126.com,欢迎讨论!
级别: 侠客
UID: 34734
精华: 0
发帖: 101
金钱: 510 两
威望: 102 点
贡献值: 0 点
综合积分: 202 分
注册时间: 2010-12-20
最后登录: 2018-07-15
4楼  发表于: 2012-10-26 20:41

 回 3楼(kasim) 的帖子

谢谢您的关注!
目的是公司用micro2440核心板做东西,硬件同事没和我商量,把uart0接其他MCU,uart1留作打印。所以我要从软件上改。
我的用的u-boot版本2010-3,tekkamanninja整合的。
我做的修改,只修改\include\configs\mini2440.h
//#define CONFIG_SERIAL1          1    /* we use SERIAL 1 on SBC2410X */        //uart0
#define CONFIG_SERIAL2          1    /* we use SERIAL 2 on SBC2410X */        //uart1

结果是,u-boot信息确实从uart1输出了,但无法引导内核
U-Boot 2010.03 (Oct 26 2012 - 20:11:30)

modified by tekkamanninja (tekkamanninja@163.com)
Love Linux forever!!

I2C:   ready
DRAM:  64 MB
Flash:  2 MB
NAND:  256 MiB
In:    serial
Out:   serial
Err:   serial
USB slave is enable!
Net:   dm9000
Hit any key to stop autoboot:  0

NAND read: device 0 offset 0x60000, size 0x500000
5242880 bytes read: OK

Starting kernel ...

theKernel:0x30008000, machid 0x7cf, bd->bi_boot_params:0x30000100

最后一句打印是
PRINT_YU("theKernel:0x%x, machid 0x%x, bd->bi_boot_params:0x%x\n", theKernel, machid, bd->bi_boot_params);
theKernel (0, machid, bd->bi_boot_params);

修改回来用CONFIG_SERIAL1就可以引导内核。
困扰两天了,想不出问题所在。
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
5楼  发表于: 2012-10-27 07:13
修改回来用CONFIG_SERIAL1就可以引导内核

我不太能理解你这话的意思。根据你的硬件配置,在这种情况下,不管是uboot还是内核,你都看不到启动信息,你是怎么确定内核引导成功的?
另外,你有相应的修改过内核命令行上的console=参数吗?
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
邮箱:yucejun@126.com,欢迎讨论!
级别: 侠客
UID: 34734
精华: 0
发帖: 101
金钱: 510 两
威望: 102 点
贡献值: 0 点
综合积分: 202 分
注册时间: 2010-12-20
最后登录: 2018-07-15
6楼  发表于: 2012-10-28 14:29
我现在是用MICRO2440 SDK开发板上实验我的程序。
判断内核是否引导成功,还是看串口打印信息的。

我试过修改console参数,当参数设置为:
"noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC1,115200"
时,内核信息就从串口2(uart1)输出;
当参数被设置为:
"noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0"
时,内核信息就从串口1(uart0)输出。

但是我试验结果是参数对u-boot的信息输出及引导内核都无影响。
邮箱:yucejun@126.com,欢迎讨论!
级别: 侠客
UID: 34734
精华: 0
发帖: 101
金钱: 510 两
威望: 102 点
贡献值: 0 点
综合积分: 202 分
注册时间: 2010-12-20
最后登录: 2018-07-15
7楼  发表于: 2012-10-28 14:32

 回 5楼(kasim) 的帖子

u-boot源码修改\include\configs\mini2440.h
#define CONFIG_SERIAL1          1    /* we use SERIAL 1 on SBC2410X */        //uart0
//#define CONFIG_SERIAL2          1    /* we use SERIAL 2 on SBC2410X */        //uart1
如上情况u-boot输出信息从uart0输出,且能引导内核;
第二种情况
//#define CONFIG_SERIAL1          1    /* we use SERIAL 1 on SBC2410X */        //uart0
#define CONFIG_SERIAL2          1    /* we use SERIAL 2 on SBC2410X */        //uart1
u-boot输出信息从uart1输出,但不能成功引导内核。
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
8楼  发表于: 2012-10-29 22:45

 回 7楼(yucejun) 的帖子

我想你的问题是在于当使用UART1作内核console时看不到内核的启动信息。
我的建议是你按照http://www.aiothome.net/read.php?tid-207.html里介绍的early printk的方法一步一步确定内核启动的问题。当然从你的情况看,可以排除machine ID不匹配的可能。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
邮箱:yucejun@126.com,欢迎讨论!
级别: 侠客
UID: 34734
精华: 0
发帖: 101
金钱: 510 两
威望: 102 点
贡献值: 0 点
综合积分: 202 分
注册时间: 2010-12-20
最后登录: 2018-07-15
9楼  发表于: 2012-10-30 10:09
machine ID是1999,没问题的。
我现在照帖子里的方法试一下,看能否找到问题的原因。
谢谢kasim
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go