mk_romfs.txt

来自「eCos操作系统源码」· 文本 代码 · 共 95 行

TXT
95
字号
MK_ROMFS - Make a ROMFS image=============================This program creates a ROMFS image that can be read by eCos.mk_romfs - Create an eCos ROMFS disk image from the files                      contained under a specified directoryUsage: ../support/mk_romfs [options] <fs_root> <fs_file> fs_root    is the directory containing the files to package into the ROMFS image fs_file    is the name of the ROMFS image file to create          Options include: -v / -q    increase / decrease verbosity -n         do everything EXCEPT creating the output file -b         write a big-endian image (default is little endian) -l         collapse hard links to a single node-----------How to use.-----------For example, suppose you wish to access the following directories and files:	/	/etc	passwd, group	/dev	/mnt	/tmp	(for a RAMFS)	/var	(for a RAMFS)1. Create the required directories and files under a suitable root, eg. under   ~/rom:   	$ mkdir ~/rom	$ cd ~/rom	$ mkdir etc dev mnt tmp var	$ cp /etc/passwd /etc/group etc/		( remembering to edit these files....;-)2. Make the romfs image in a suitable place, eg /tftpboot for direct upload to   the RedBoot monitor.   	$ mk_romfs -v . /tftpboot/romfs.img	mk_romfs: Verbosity 2 little endian	Phase 1  - Build file list	Phase 2  - Calculate space allocation	Phase 2a -     * Directories	Phase 2b -     * Regular files	Phase 2c -     * Executable files	Phase 3  - Construct ROMFS image file (3 kb)	Phase 3a -     * Node table	Phase 3b -     * Data blocks	/tftpboot/romfs.img completed3. Connect to your target RedBoot monitor, and load the romfs image. You will   need to determine a suitable place in RAM to load the image into.	$ telnet xxx.xxx.xxx.xxx 1000	Trying xxx.xxx.xxx.xxx...	Connected to xxx.xxx.xxx.xxx.	Escape character is '^]'.	RedBoot> load romfs.img -r -v -b 0x1000000	Raw file loaded 0x01000000-0x0100093e	RedBoot>4. Determine where to load the romfs image in the ROM. See what's there...	RedBoot> fis list	Name              FLASH addr   Mem addr    Length    Entry point	RedBoot           0x50000000   0x50000000  0x020000  0x00000000	RedBoot[backup]   0x50020000   0x50020000  0x020000  0x00000000	RedBoot config    0x503C0000   0x503C0000  0x020000  0x00000000	FIS directory     0x503E0000   0x503E0000  0x020000  0x00000000	RedBoot> fis free	  0x50040000 .. 0x503C0000	RedBoot>   We can see that a suitable place would be 0x50040000.   Alternatively, you can let RedBoot determine the address itself...5. Copy the image from RAM to ROM...	RedBoot> fis create -b 0x1000000 -l 0x940 RomFs	... Erase from 0x50040000-0x50040940: .	... Program from 0x01000000-0x01000940 at 0x50040000: .	... Erase from 0x503e0000-0x50400000: .	... Program from 0x01fd0000-0x01ff0000 at 0x503e0000: .	RedBoot> fis list	Name              FLASH addr   Mem addr    Length    Entry point	RedBoot           0x50000000   0x50000000  0x020000  0x00000000	RedBoot[backup]   0x50020000   0x50020000  0x020000  0x00000000	RedBoot config    0x503C0000   0x503C0000  0x020000  0x00000000	FIS directory     0x503E0000   0x503E0000  0x020000  0x00000000	RomFs             0x50040000   0x01000000  0x000940  0x00000000	RedBoot>6. MAKE A NOTE OF THE ADDRESS IN FLASH THAT THE IMAGE IS LOADED AT.   The ROMFS option 'CYGNUM_FS_ROM_BASE_ADDRESS' needs to be set to this   value in order to access the filesystem.  

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?