File: ext2fs.sh

package info (click to toggle)
libpmount 0.0.5
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 92 kB
  • ctags: 38
  • sloc: ansic: 586; sh: 74; makefile: 50
file content (29 lines) | stat: -rw-r--r-- 664 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/sh -e

export PATH="/sbin:/usr/sbin:$PATH"
export CFLAGS="-Isrc -Lout -lpmount"

dd if=/dev/zero of=tmp/ext2fs.img bs=1024k count=1
mke2fs -F tmp/ext2fs.img
mkdir -p tmp/ext2fs.mnt
cat > tmp/ext2fs.c << EOF
#include <pmount.h>
#include <stdio.h>
main ()
  {
    if (pmount ("ext2fs", "tmp/ext2fs.mnt", PMOUNT_READONLY,
                "tmp/ext2fs.img") == -1)
      {
        perror ("pmount failed");
        return -1;
      }
    if (pumount ("tmp/ext2fs.mnt", 0) == -1)
      {
        perror ("WARNING: pmount succeeded, but pumount failed");
        return -1;
      }
    return 0;
  }
EOF
gcc tmp/ext2fs.c -o tmp/ext2fs.bin $CFLAGS
./tmp/ext2fs.bin