我的友善之臂micro2440开发板,烧写uboot和Linux内核后我想设置nfs网络根文件系统,但是一直有问题。 为什么nfs挂在文件系统 不稳定,启动成功后,总是一会时间就...

\u5f00\u53d1\u677f\u4ee5\u524d\u5df2\u7ecf\u70e7\u5199\u597d\u4e86uboot\uff0c\u5185\u6838\u548c\u6587\u4ef6\u7cfb\u7edf\uff0c\u6211\u73b0\u5728\u60f3\u66f4\u6539\u5185\u6838

\u8fd9\u4e2a\u53ef\u4ee5\u7684 \uff0c\u6211\u4ee5\u524d\u5c31\u662f\u8fd9\u6837\u70e7\u5199\u7684\uff0cUboot, \u5185\u6838 \u6587\u4ef6\u7cfb\u7edf \u54ea\u4e2a\u9700\u8981\u66f4\u6362\u70e7\u5199\u54ea\u4e2a\uff0c\u8bb0\u5f97\u4ee5\u524d\u770b\u5f00\u53d1\u677f\u81ea\u5e26\u7684\u6587\u6863\u8bf4\u53ef\u4ee5\u8fd9\u6837\uff0c\u5176\u5b9e\uff0c\u8bd5\u8bd5\u5c31\u77e5\u9053\u4e86\u5440 \uff0c\u9664\u4e86\u5411Nor \u70e7\u5199Uboot \u7a0d\u5fae\u9ebb\u70e6\u4e00\u70b9\uff0c\u5411nand\u70e7\u5199\u7684\u65b9\u6cd5\u662f\u4e00\u6837\u7684\uff0c\u8fd8\u6709nor\u7684Uboot\u4e00\u822c\u4e0d\u7528\u600e\u4e48\u53cd\u590d\u70e7\u5199\u7684\uff0c\u9664\u975e\u81ea\u5df1\u5199\u7684Uboo,\u6709\u5199\u597d\u7684\u5c31\u5c3d\u91cf\u7528\u522b\u4eba\u7684\u5427 \u7a33\u5b9a

\u4e0d\u662f\u4e0d\u7a33\u5b9a\uff0c\u800c\u662f\u5728\u5185\u6838\u914d\u7f6e\u7684\u65f6\u5019\u6ca1\u6709\u5173\u95ed\u770b\u95e8\u72d7\u3002
\u6211\u505ainitrmfs\u6839\u6587\u4ef6\u7cfb\u7edf\u540e\uff0c\u70e7\u5165\u5f00\u53d1\u677f\uff0c\u7136\u540e\u7cfb\u7edf\u5012\u662f\u542f\u52a8\u4e86\uff0c\u4e5f\u770b\u5230\u4e86\u56de\u663e\u76ee\u5f55\uff0c\u4f46\u662f\u6bcf\u9694\u4e00\u5206\u949f\u90fd\u8981\u91cd\u542f\u4e00\u6b21\u3002\u7136\u540e\u6211\u67e5\u770b\u5185\u6838\u914d\u7f6e\uff0c\u5728device drivers\u91cc\u8fb9\u6709\u4e2a\u770b\u95e8\u72d7\u9009\u9879\u6211\u9009\u4e86\uff0c\u4ee5\u540e\u6211\u53d6\u6d88\u4e86\u8fd9\u4e2a\u9009\u9879\uff0c\u91cd\u65b0\u7f16\u8bd1\u5185\u6838\uff0c\u5c31\u6ca1\u91cd\u542f\u4e86\u3002
\u5e0c\u671b\u6211\u7684\u56de\u7b54\u80fd\u5e2e\u52a9\u5230\u4f60\u3002

linux-2.6.35在fs2410开发板启动后,通过nfs挂载文件系统,但是rtc不能用,也会在挂载文件系统之前打印如下提示信息:

TCP cubic registered

NET: Registered protocol family 1

RPC: Registered udp transport module.

RPC: Registered tcp transport module.

drivers/rtc/hctosys.c: unable to open rtc device (rtc0)

IP-Config: Complete:

device=eth0, addr=192.168.20.253, mask=255.255.255.0, gw=192.168.20.1,
host=thomas_fs2410, domain=, nis-domain=(none),
bootserver=192.168.20.192, rootserver=192.168.20.192, rootpath=
Looking up port of RPC 100003/2 on 192.168.20.192
Looking up port of RPC 100005/1 on 192.168.20.192
VFS: Mounted root (nfs filesystem).
Mounted devfs on /dev
Freeing init memory: 184K

解决方案:

1. 内核配置选项

--- Real Time Clock
[*] Set system time from RTC on startup and resume
(rtc0) RTC used to set the system time
[ ] RTC debug support
*** RTC interfaces ***
[*] /sys/class/rtc/rtcN (sysfs)
[*] /dev/rtcN (character devices)
[ ] RTC UIE emulation on dev interface
*** on-CPU RTC drivers ***
<*> Samsung S3C series SoC RTC

2. linux kernel 中 已经支持S3C2410的RTC,但是并没有添加到平台设备初始化数组中,所以系统启动时并不会初始化这一部分,需要修改文件mach-smdk.c

static struct platform_device *smdk2410_devices[] __initdata = {
&s3c_device_ohci,
&s3c_device_lcd,
&s3c_device_wdt,
&s3c_device_i2c0,
&s3c_device_iis,
&s3c_device_rtc, //新增代码
};

3. 创建设备节点,在文件系统/dev目录下执行:

sudo mknod rtc c 10 135

4. 重新编译内核,查看启动信息

S3C24XX RTC, (c) 2004,2006 Simtec Electronics
s3c-rtc s3c2410-rtc: rtc disabled, re-enabling
s3c-rtc s3c2410-rtc: rtc core: registered s3c as rtc0

这里说明rtc驱动起来可以正常工作了
S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics
s3c2410-wdt s3c2410-wdt: watchdog inactive, reset disabled, irq enabled
No device for DAI UDA134X
No device for DAI s3c24xx-i2s
ALSA device list:
No soundcards found.
TCP cubic registered
NET: Registered protocol family 17
s3c-rtc s3c2410-rtc: hctosys: invalid date/time

以上信息说明当前 RTC 时间invalid , RTC 初始时间为 Wed Dec 31 23:59:59 1969 ;

从内核函数 int rtc_valid_tm(struct rtc_time *tm) ,可以看出,当 year 小于 1970 时,认为是时间 invalid ,函数返回 -EINVAL ;

drivers/rtc/rtc-lib.c

/*
* Does the rtc_time represent a valid date/time?
*/
int rtc_valid_tm(struct rtc_time *tm)
{
if (tm->tm_year < 70
|| ((unsigned)tm->tm_mon) >= 12
|| tm->tm_mday < 1
|| tm->tm_mday > rtc_month_days(tm->tm_mon, tm->tm_year + 1900)
|| ((unsigned)tm->tm_hour) >= 24
|| ((unsigned)tm->tm_min) >= 60
|| ((unsigned)tm->tm_sec) >= 60)
return -EINVAL;

return 0;
}
EXPORT_SYMBOL(rtc_valid_tm);

下面来验证一下这个想法

# hwclock

Wed Dec 31 23:59:59 1969 0.000000 seconds

# date

Thu Jan 1 00:06:58 UTC 1970

系统时间是通过 date 来设置的, RTC 时间是通过 hwclock 来设置的。开机时系统时间首先通过 RTC 来获得,RTC没有设置时,系统时间也会使用Wed Dec 31 23:59:59 1969。

# hwclock --help

BusyBox v1.9.2 (2008-04-01 21:32:34 CST) multi-call binary

Usage: hwclock [-r|--show] [-s|--hctosys] [-w|--systohc] [-l|--localtime] [-u|--utc] [-f FILE]

Query and set a hardware clock (RTC)

Options:

-r Read hardware clock and print result

-s Set the system time from the hardware clock

-w Set the hardware clock to the system time

-u The hardware clock is kept in coordinated universal time

-l The hardware clock is kept in local time

-f FILE Use the specified clock (e.g. /dev/rtc2)

# hwclock -s

hwclock: settimeofday() failed: Invalid argument

# hwclock -w

s3c2410-rtc s3c2410-rtc: rtc only supports 100 years

hwclock: RTC_SET_TIME: Invalid argument

以上错误信息都是因为 year 设置不当引起的。没有设置 RTC , RTC 也不会启动计时。

下面首先设置正确的系统时间,然后将系统时间传递给 RTC 。

# date 040612282008.20

Sun Apr 6 12:28:20 UTC 2008

# hwclock -w

# hwclock

Sun Apr 6 12:29:01 2008 0.000000 seconds

# hwclock

Sun Apr 6 12:30:15 2008 0.000000 seconds

Ok , RTC 开始工作了!

为了使系统时间和 RTC 时间同步,可以在初始化文件中添加命令

Hwclock –s

使每次开机时读取 RTC 时间,并同步给系统时间。

在 etc/init.d/rcS 中添加

/bin/hwclock -s

时间设置的相关命令(转载)

1. 在虚拟终端中使用date 命令来查看和设置系统时间
查看系统时钟的操作:
# date

设置系统时钟的操作:
# date 091713272003.30

通用的设置格式:
# date 月日时分年. 秒

2. 使用hwclock 或clock 命令查看和设置硬件时钟
查看硬件时钟的操作:
# hwclock --show 或
# clock --show
2003年 09月 17日 星期三 13 时24 分11 秒 -0.482735 seconds

设置硬件时钟的操作:
# hwclock --set --date="09/17/2003 13:26:00"

或者
# clock --set --date="09/17/2003 13:26:00"

通用的设置格式:hwclock/clock --set --date=“ 月/ 日/ 年时:分:秒” 。

3. 同步系统时钟和硬件时钟

Linux 系统( 笔者使用的是Red Hat 8.0 ,其它系统没有做过实验) 默认重启后,硬件时钟和系统时钟同步。如果不大方便重新启动的话( 服务器通常很少重启) ,使用clock 或hwclock 命令来同步系统时钟和硬件时钟。

硬件时钟与系统时钟同步:
# hwclock --hctosys

或者
# clock --hctosys

上面命令中,--hctosys 表示Hardware Clock to SYStem clock 。

系统时钟和硬件时钟同步:
# hwclock --systohc

或者
# clock --systohc

使用图形化系统设置工具设置时间

参考:http://blogold.chinaunix.net/u2/63560/showart_518707.html

网线怎么连接的?都通过网线连接到路由器上了?
两台PC直接用网线连接需要用交叉线,不能用直连线的

  • 鎴戠殑鍙嬪杽涔嬭噦micro2440寮鍙戞澘,鐑у啓uboot鍜孡inux鍐呮牳鍚庢垜鎯宠缃畁fs缃戠粶...
    绛旓細linux-2.6.35鍦╢s2410寮鍙戞澘鍚姩鍚庯紝閫氳繃nfs鎸傝浇鏂囦欢绯荤粺锛屼絾鏄痳tc涓嶈兘鐢紝涔熶細鍦ㄦ寕杞芥枃浠剁郴缁熶箣鍓嶆墦鍗板涓嬫彁绀轰俊鎭細TCP cubic registered NET: Registered protocol family 1 RPC: Registered udp transport module.RPC: Registered tcp transport module.drivers/rtc/hctosys.c: unable to open rtc devi...
  • 璇蜂簡瑙鍙嬪杽涔嬭噦鐨mini2440寮鍙戞澘鐨勯珮鎵嬬粰鐐规剰瑙亊
    绛旓細鏈夌偣鎵繙浜,鍙嬪杽鐨勬澘瀛愪笉閿.鎬т环姣旈珮.鎺ㄨ崘.micro2440鍜宮ini2440鐩告瘮,micro鏄仛鐨勬牳蹇冪増鍜屽簳鏉挎槸鍒嗗紑鐨,鎵浠ョ敤jtag璋冭瘯鏃跺彲浠ヤ笉鐢ㄥ簳鏉,micro澶氫簡鐐圭‖浠惰祫婧,涓插彛涔熷浜.鍏跺畠娌′粈涔堝尯鍒.鎬т环姣旈珮鐨勬槸mini2440,涓嶇敤鍦ㄨ繖涓婇潰杩囧鑰冭檻浜.鐢╩ini鐨勪汉寰堝.涓嶇鎬庢牱,閫変釜寮鍙戞澘鍚庡ソ濂界爺绌朵笅,鑲畾鏈夋垚鏋滅殑....
  • micro2440瑁厀ince6.0灞忓箷鏈変竴閮ㄥ垎榛戝睆
    绛旓細浼拌鏄垎杈ㄧ巼娌℃湁璋冨ソ鐨勯棶棰樸
  • 鍗撳凹鏂钩鏉跨數鑴戞庝箞鏍
    绛旓細杩欏嚑澶3G涓婄綉鍗′笉鍦ㄦ墜涓婏紝鏈兘娴嬭瘯锛屼及璁3G涓婄綉搴旇闂涓嶅ぇ锛屽洜涓鎴戠殑ARM9寮鍙戞澘閮芥敮鎸3G涓婄綉(鍙嬪杽涔嬭噦鐨Micro2440锛岄氳繃澶╃考涓婄綉鍗′笂缃)銆5銆侀煶鍝嶆晥鏋 鎰熻绋嶅井鏈夌殑鍋忓皬(2涓枃鍙湪涓嬫柟)锛屾瘯绔熷畠杩欎箞钖勶紝灏变笉瑕佸お鑻涘埢浜嗭紝姝eソ鎴戞湁涓涓究鎼哄皬闊冲搷锛屼互鍓嶅湪骞垮煚灞拱鐨勶紝35鍏冨惂锛屽甫閿傜數姹狅紝鎻掑湪闊抽杈...
  • 姹 鏈鍙嬪杽涔嬭噦mini2440寮鍙戠粡楠岀殑鏈嬪弸鎸囧涓涓嬪紑鍙戞澘寮鍙戝叆闂
    绛旓細鏈夌偣鎵繙浜,鍙嬪杽鐨勬澘瀛愪笉閿.鎬т环姣旈珮.鎺ㄨ崘.micro2440鍜宮ini2440鐩告瘮,micro鏄仛鐨勬牳蹇冪増鍜屽簳鏉挎槸鍒嗗紑鐨,鎵浠ョ敤jtag璋冭瘯鏃跺彲浠ヤ笉鐢ㄥ簳鏉,micro澶氫簡鐐圭‖浠惰祫婧,涓插彛涔熷浜.鍏跺畠娌′粈涔堝尯鍒.鎬т环姣旈珮鐨勬槸mini2440,涓嶇敤鍦ㄨ繖涓婇潰杩囧鑰冭檻浜.鐢╩ini鐨勪汉寰堝.涓嶇鎬庢牱,閫変釜寮鍙戞澘鍚庡ソ濂界爺绌朵笅,鑲畾鏈夋垚鏋滅殑.
  • mini2440(鍙嬪杽涔嬭噦)鐨勬澘瀛愬浣曚笅绋嬪簭,鎴戞兂鐭ラ亾涓嬫楠,鏈夊ぇ绁炶兘鍛婅瘔鎴戝悧...
    绛旓細鏈夌偣鎵繙浜,鍙嬪杽鐨勬澘瀛愪笉閿.鎬т环姣旈珮.鎺ㄨ崘.micro2440鍜宮ini2440鐩告瘮,micro鏄仛鐨勬牳蹇冪増鍜屽簳鏉挎槸鍒嗗紑鐨,鎵浠ョ敤jtag璋冭瘯鏃跺彲浠ヤ笉鐢ㄥ簳鏉,micro澶氫簡鐐圭‖浠惰祫婧,涓插彛涔熷浜.鍏跺畠娌′粈涔堝尯鍒.鎬т环姣旈珮鐨勬槸mini2440,涓嶇敤鍦ㄨ繖涓婇潰杩囧鑰冭檻浜.鐢╩ini鐨勪汉寰堝.涓嶇鎬庢牱,閫変釜寮鍙戞澘鍚庡ソ濂界爺绌朵笅,鑲畾鏈夋垚鏋滅殑....
  • 扩展阅读:www.sony.com.cn ... 广州友善之臂官网 ... mac蜜桃奶茶314 ... 友善之臂nanopc t4 ... morphy richards榨汁机 ... 博德之门1黄金泡裤 ... nanopi m4 ... minecraft模组下载器 ... mankiw曼昆官网v2.0 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网