62
62
# error "You must not disable mountpoints via CONFIG_DISABLE_MOUNTPOINT in your configuration file"
63
63
#endif
64
64
65
+ #ifndef CONFIG_EXAMPLES_ELF_DEVMINOR
66
+ # define CONFIG_EXAMPLES_ELF_DEVMINOR 0
67
+ #endif
68
+
65
69
#if defined(CONFIG_EXAMPLES_ELF_ROMFS )
66
70
/* Describe the ROMFS file system */
67
71
68
72
# define SECTORSIZE 512
69
73
# define NSECTORS (b ) (((b) + SECTORSIZE - 1) / SECTORSIZE)
70
74
# define MOUNTPT "/mnt/romfs"
71
75
72
- # ifndef CONFIG_EXAMPLES_ELF_DEVMINOR
73
- # define CONFIG_EXAMPLES_ELF_DEVMINOR 0
74
- # endif
75
-
76
- # ifndef CONFIG_EXAMPLES_ELF_DEVPATH
77
- # define CONFIG_EXAMPLES_ELF_DEVPATH "/dev/ram0"
78
- # endif
79
-
80
76
#elif defined(CONFIG_EXAMPLES_ELF_CROMFS )
81
77
/* Describe the CROMFS file system */
82
78
106
102
# define errmsg printf
107
103
#endif
108
104
105
+ #define ELF_DEVPATH_FMT "/dev/ram%d"
106
+
109
107
/****************************************************************************
110
108
* Private Data
111
109
****************************************************************************/
@@ -200,6 +198,7 @@ static inline void testheader(FAR const char *progname)
200
198
201
199
int main (int argc , FAR char * argv [])
202
200
{
201
+ char devname [32 ];
203
202
#ifdef CONFIG_EXAMPLES_ELF_FSREMOVEABLE
204
203
struct stat buf ;
205
204
#endif
@@ -214,6 +213,8 @@ int main(int argc, FAR char *argv[])
214
213
215
214
mm_initmonitor ();
216
215
216
+ sprintf (devname , ELF_DEVPATH_FMT , CONFIG_EXAMPLES_ELF_DEVMINOR );
217
+
217
218
#if defined(CONFIG_EXAMPLES_ELF_ROMFS )
218
219
219
220
/* Create a ROM disk for the ROMFS filesystem */
@@ -238,14 +239,13 @@ int main(int argc, FAR char *argv[])
238
239
/* Mount the ROMFS file system */
239
240
240
241
message ("Mounting ROMFS filesystem at target=%s with source=%s\n" ,
241
- MOUNTPT , CONFIG_EXAMPLES_ELF_DEVPATH );
242
+ MOUNTPT , devname );
242
243
243
- ret = mount (CONFIG_EXAMPLES_ELF_DEVPATH , MOUNTPT , "romfs" ,
244
- MS_RDONLY , NULL );
244
+ ret = mount (devname , MOUNTPT , "romfs" , MS_RDONLY , NULL );
245
245
if (ret < 0 )
246
246
{
247
247
errmsg ("ERROR: mount(%s,%s,romfs) failed: %s\n" ,
248
- CONFIG_EXAMPLES_ELF_DEVPATH , MOUNTPT , strerror (errno ));
248
+ devname , MOUNTPT , strerror (errno ));
249
249
}
250
250
251
251
#elif defined(CONFIG_EXAMPLES_ELF_CROMFS )
@@ -268,27 +268,26 @@ int main(int argc, FAR char *argv[])
268
268
269
269
do
270
270
{
271
- ret = stat (CONFIG_EXAMPLES_ELF_DEVPATH , & buf );
271
+ ret = stat (devname , & buf );
272
272
if (ret < 0 )
273
273
{
274
274
int errcode = errno ;
275
275
if (errcode == ENOENT )
276
276
{
277
- printf ("%s does not exist. Waiting...\n" ,
278
- CONFIG_EXAMPLES_ELF_DEVPATH );
277
+ printf ("%s does not exist. Waiting...\n" , devname );
279
278
sleep (1 );
280
279
}
281
280
else
282
281
{
283
282
printf ("ERROR: stat(%s) failed: %s Aborting...\n" ,
284
- CONFIG_EXAMPLES_ELF_DEVPATH , strerror (errcode ));
283
+ devname , strerror (errcode ));
285
284
exit (EXIT_FAILURE );
286
285
}
287
286
}
288
287
else if (!S_ISBLK (buf .st_mode ))
289
288
{
290
289
printf ("ERROR: stat(%s) exists but is not a block driver: %04x\n" ,
291
- CONFIG_EXAMPLES_ELF_DEVPATH , buf .st_mode );
290
+ devname , buf .st_mode );
292
291
exit (EXIT_FAILURE );
293
292
}
294
293
}
@@ -300,13 +299,11 @@ int main(int argc, FAR char *argv[])
300
299
message ("Mounting %s filesystem at target=%s\n" ,
301
300
CONFIG_EXAMPLES_ELF_FSTYPE , MOUNTPT );
302
301
303
- ret = mount (CONFIG_EXAMPLES_ELF_DEVPATH , MOUNTPT ,
304
- CONFIG_EXAMPLES_ELF_FSTYPE , MS_RDONLY , NULL );
302
+ ret = mount (devname , MOUNTPT , CONFIG_EXAMPLES_ELF_FSTYPE , MS_RDONLY , NULL );
305
303
if (ret < 0 )
306
304
{
307
- errmsg ("ERROR: mount(%s, %s, %s) failed: %s\n" ,
308
- CONFIG_EXAMPLES_ELF_DEVPATH , CONFIG_EXAMPLES_ELF_FSTYPE ,
309
- MOUNTPT , strerror (errno ));
305
+ errmsg ("ERROR: mount(%s, %s, %s) failed: %s\n" , devname ,
306
+ CONFIG_EXAMPLES_ELF_FSTYPE , MOUNTPT , strerror (errno ));
310
307
}
311
308
#endif
312
309
#else
0 commit comments