开博尔H1283固件扩充及使用技巧
- 格式:doc
- 大小:39.00 KB
- 文档页数:5
开博尔H1283固件扩充及使用技巧
这几天对h1283仔细研究了一下,现整理出来供初学者参考,以少走弯路。
H1283固件结构
H1283 硬件环境256M Flash ROM + 256M DDR RAM
软件主系统为Busybox嵌入式Linux系统
官方固件核心采用quashfs压缩格式,49.5M,不支持直接写入,
但同时挂载usr/local/etc,为yaffs格式,可读写40M空间。
~# df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 49.5M 49.5M 0 100% /
/dev/mtdblock/2 40.0M 1.3M 38.7M 3% /usr/local/etc
/dev/rd/0 40.0k 40.0k 0 100% /mnt/rd
/dev/scsi/host0/bus0/target0/lun0/part1 1.8T 1.8T 31.4G 98% /tmp/usbmounts/sda1
~#mount
/dev/root on / type squashfs (ro)
none on /dev type devfs (rw)
none on /proc type proc (rw,nodiratime)
devpts on /dev/pts type devpts (rw)
none on /sys type sysfs (rw)
none on /tmp type ramfs (rw)
/dev/mtdblock/2 on /usr/local/etc type yaffs (rw,noatime)
/dev/rd/0 on /mnt/rd type vfat
(rw,nodiratime,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1)
/dev/scsi/host0/bus0/target0/lun0/part1 on /tmp/usbmounts/sda1 type ufsd
(rw,nodiratime,nls=utf8,uid=0,gid=0,fmask=0,dmask=0,sparse)
系统支持无盘和内置硬盘工作模式。
无内置硬盘模式,系统在内存挂载 /tmp/hdd/root,提供系统工作空间,可按照软件,但是重启系统则丢失。
内置硬盘模式,系统固件格式化硬盘会建立ext3分区,挂载为/tmp/hdd/root 供系统使用
系统缺省安装软件到 /tmp/hdd/root/opt目录, (已经建立链接到 /opt,固件已经封装ipkg-cl 在/usr/local/bin下 ),硬盘swap缺省未挂载;系统引导时完成基础引导后,会执行/usr/local/etc/rcS,最后是/opt/etc/init.d/S??*各启动脚本。
以上结构表明,官方固件已提供系统扩充能力。
H1283内置硬盘管理
H1283对硬盘管理方式比较特别, 对于非系统格式化的硬盘将被挂载到/tmp/usbmounts/下。系统工作在无内置硬盘模式下。 故而一般情况请用系统格式化硬盘,格式化后系统建立四个分区:
第一个为NTFS格式资料盘,/tmp/hdd/volumes/HDD1
第二个为swap分区
第三个为ext3系统分区, /tmp/hdd/root
第四个为ext3录像分区, /tmp/hdd/livepause
用官方的方法格式化硬盘并在重启后进入一次软件菜单,但是请不要安装任何软件(ftp,bt)。这个是让 H1283初始化/tmp/hdd/root系统
使用技巧
1、 swap分区/文件挂载
若希望系统引导时挂载swap分区,在/usr/local/etc/rcS文件的最后增加:
Sleep 25
swapon /dev/scsi/host0/bus0/target0/lun0/part2
(由于系统启动时硬盘的识别大概要十几秒的样子,故而要稍微等一会儿:)
若希望使用swap文件,学习以下几条命令:
free命令查看空间,缺省swap空间只有32K(ram),基本等于废物
dd if=/dev/zero of=/tmp/usbmounts/sda1/swapfile bs=4096 count=32767
其中=/tmp/usbmounts/sda1/swapfile 是你的USB硬盘下的swapfile文件(自动创建),
进入到swapfile所在目录 cd /tmp/usbmounts/sda1/
mkswap swapfile 格式化交换文件
swapon swapfile 挂载交换空间
2、手工调整硬盘分区
其实系统盘别是否内置硬盘的依据很简单,就是硬盘第一分区的起始柱面是否为2,呵呵,一般情况计算机格式化硬盘分区是从1开始的。
知道这个就可以按自己需要用PQ9或其它分区工具自由调整了。
~#fdisk –l
Device Boot Start End Blocks Id System
/dev/sda1 2 124 987997+ 7 HPFS/NTFS
/dev/sda2 121578 121601 192780 82 Linux swap
/dev/sda3 121510 121577 546210 83 Linux
/dev/sda4 125 121509 975025012+ 83 Linux
3、硬盘维护
在linux下的硬盘维护工具也要熟悉一下:
Ntfsfix NTFS分区修复,若NTFS分区有异常,系统mount是可能会挂载为只读模式(当然也可在mount时用加force参数强制rw)
用第三方软件分区硬盘的最好在linux下格式化一下,以保证兼容性
Swapoff,mkswap , swapon
Umount,
Mkntfs 格式化NTFS分区,
mkfs.ext3 格式化ext3分区 tune2fs 检查ext3分区
……
umount /tmp/hdd/volumes/HDD1
mount -t ext3 -o noatime /dev/sda4 /tmp/hdd/volumes/HDD1
H1283固件扩充应用
固件扩充前,最好先学习几个windows下的基本软件:
Putty 不错的telnet工具, 注意设置编码utf-8以正确显示中文,root无口令登陆
Fireftp 方便的ftp工具(firefox的插件,支持目录展开,挺方便)
Ultredit 方便的脚本编辑工具
HDP3.0 固件的解包封包软件
1、扩充IMS
官方固件已经支持,但是要插优盘,比较麻烦
其实完全可以手工改
在线链接都是rss格式,在/usr/local/bin/scripts/下,在线视频修改文件menu_sch.rss
格式参考
HDPfans在线影视
/<;/link>
按需增加,呵呵。
但是系统/usr/local/bin/scripts/目录为只读,可以这样解决,建立一个可读写目录绑定到这个位置即可,:p
可以在启动脚本里做这个事情:
#ims
if [ ! -d /usr/local/etc/scripts ];then
cp -r /usr/local/bin/scripts /usr/local/etc/scripts
fi
mount -o bind /usr/local/etc/scripts /usr/local/bin/scripts
将/usr/local/bin/scripts下的东东拷贝到/usr/local/etc/scripts,然后再挂载绑定回去,
OK,现在你直接编辑修改/usr/local/etc/scripts下的menu_sch.rss就行啦。
2、扩充通用软件包
Hdpfans老大提供了2.5.1的通用软件包
这个包是针对yaffs格式固件的,在H1283上安装的话可以作如下调整
(缺省考虑装硬盘上,可以减少对flash rom的伤害, 若想装在ROM中的话注意要先, mkdir /usr/local/etc/opt && mount -o bind /usr/local/etc/opt /opt )
第一步,将opt.tar解压到/opt下即可
熟悉linux的可以手工做,
mount -o rw,remount /
sleep 2
tar xf opt.tar -C /tmp/hdd/root/opt
chown root /tmp/hdd/root/opt -Rh
chmod +x /opt -R
mkdir -p /usr/local/etc/NetShareSave
cp /opt/tmp/profile /usr/local/etc/profile
(呵呵,这步也可以手工编辑一下profile
~#vi /usr/local/etc/profile
给root用户增加路径
pathmunge /opt/bin
pathmunge /opt/sbin
也可以顺手把时区改正确
expert TZ=CST-8 (原包设的不正确)
)
当然也可直接调整一下installopt,保留以上内容,将后半部分的拷贝文件,改属性等全部删掉,执行installopt即可。
第二步,修改一下/usr/local/etc/rcS脚本
增加以下代码:
#swap
#swapon /dev/sdb2
swapon /dev/scsi/host0/bus0/target0/lun0/part2