Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OS
U-Boot.Mirror
提交
585887b8
U
U-Boot.Mirror
项目概览
OS
/
U-Boot.Mirror
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
U-Boot.Mirror
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
585887b8
编写于
7月 13, 2009
作者:
W
Wolfgang Denk
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of
git://git.denx.de/u-boot-ubi
上级
3672cd5c
2896b585
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
37 addition
and
10 deletion
+37
-10
common/cmd_ubi.c
common/cmd_ubi.c
+16
-5
common/cmd_ubifs.c
common/cmd_ubifs.c
+21
-5
未找到文件。
common/cmd_ubi.c
浏览文件 @
585887b8
...
...
@@ -395,11 +395,13 @@ static int ubi_volume_read(char *volume, char *buf, size_t size)
return
err
?
err
:
count_save
-
size
;
}
static
int
ubi_dev_scan
(
struct
mtd_info
*
info
,
char
*
ubidev
)
static
int
ubi_dev_scan
(
struct
mtd_info
*
info
,
char
*
ubidev
,
const
char
*
vid_header_offset
)
{
struct
mtd_device
*
dev
;
struct
part_info
*
part
;
struct
mtd_partition
mtd_part
;
char
ubi_mtd_param_buffer
[
80
];
u8
pnum
;
int
err
;
...
...
@@ -413,7 +415,11 @@ static int ubi_dev_scan(struct mtd_info *info, char *ubidev)
mtd_part
.
offset
=
part
->
offset
;
add_mtd_partitions
(
info
,
&
mtd_part
,
1
);
err
=
ubi_mtd_param_parse
(
buffer
,
NULL
);
strcpy
(
ubi_mtd_param_buffer
,
buffer
);
if
(
vid_header_offset
)
sprintf
(
ubi_mtd_param_buffer
,
"mtd=%d,%s"
,
pnum
,
vid_header_offset
);
err
=
ubi_mtd_param_parse
(
ubi_mtd_param_buffer
,
NULL
);
if
(
err
)
{
del_mtd_partitions
(
info
);
return
err
;
...
...
@@ -450,6 +456,7 @@ static int do_ubi(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
char
mtd_dev
[
16
];
struct
mtd_device
*
dev
;
struct
part_info
*
part
;
const
char
*
vid_header_offset
=
NULL
;
u8
pnum
;
/* Print current partition */
...
...
@@ -497,8 +504,11 @@ static int do_ubi(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
ubi_dev
.
selected
=
1
;
if
(
argc
>
3
)
vid_header_offset
=
argv
[
3
];
strcpy
(
ubi_dev
.
part_name
,
argv
[
2
]);
err
=
ubi_dev_scan
(
ubi_dev
.
mtd_info
,
ubi_dev
.
part_name
);
err
=
ubi_dev_scan
(
ubi_dev
.
mtd_info
,
ubi_dev
.
part_name
,
vid_header_offset
);
if
(
err
)
{
printf
(
"UBI init error %d
\n
"
,
err
);
ubi_dev
.
selected
=
0
;
...
...
@@ -594,8 +604,9 @@ static int do_ubi(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
U_BOOT_CMD
(
ubi
,
6
,
1
,
do_ubi
,
"ubi commands"
,
"part [part]"
" - Show or set current partition
\n
"
"part [part] [offset]
\n
"
" - Show or set current partition (with optional VID"
" header offset)
\n
"
"ubi info [l[ayout]]"
" - Display volume and ubi layout information
\n
"
"ubi create[vol] volume [size] [type]"
...
...
common/cmd_ubifs.c
浏览文件 @
585887b8
...
...
@@ -47,6 +47,10 @@ int do_ubifs_mount(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
char
*
vol_name
;
int
ret
;
if
(
argc
!=
2
)
{
cmd_usage
(
cmdtp
);
return
1
;
}
vol_name
=
argv
[
1
];
debug
(
"Using volume %s
\n
"
,
vol_name
);
...
...
@@ -88,6 +92,7 @@ int do_ubifs_ls(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
int
do_ubifs_load
(
cmd_tbl_t
*
cmdtp
,
int
flag
,
int
argc
,
char
*
argv
[])
{
char
*
filename
;
char
*
endp
;
int
ret
;
u32
addr
;
u32
size
=
0
;
...
...
@@ -98,15 +103,25 @@ int do_ubifs_load(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
}
if
(
argc
<
3
)
{
printf
(
"Usage:
\n
%s
\n
"
,
cmdtp
->
usage
);
cmd_usage
(
cmdtp
);
return
-
1
;
}
addr
=
simple_strtoul
(
argv
[
1
],
NULL
,
16
);
addr
=
simple_strtoul
(
argv
[
1
],
&
endp
,
16
);
if
(
endp
==
argv
[
1
])
{
cmd_usage
(
cmdtp
);
return
1
;
}
filename
=
argv
[
2
];
if
(
argc
==
4
)
size
=
simple_strtoul
(
argv
[
3
],
NULL
,
16
);
if
(
argc
==
4
)
{
size
=
simple_strtoul
(
argv
[
3
],
&
endp
,
16
);
if
(
endp
==
argv
[
3
])
{
cmd_usage
(
cmdtp
);
return
1
;
}
}
debug
(
"Loading file '%s' to address 0x%08x (size %d)
\n
"
,
filename
,
addr
,
size
);
ret
=
ubifs_load
(
filename
,
addr
,
size
);
...
...
@@ -119,7 +134,8 @@ int do_ubifs_load(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
U_BOOT_CMD
(
ubifsmount
,
2
,
0
,
do_ubifs_mount
,
"mount UBIFS volume"
,
""
"<volume-name>
\n
"
" - mount 'volume-name' volume"
);
U_BOOT_CMD
(
ubifsls
,
2
,
0
,
do_ubifs_ls
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录