makefs gpart (...)

2015-01-01 Thread Matthias Apitz


Hello,

I have a small question and a small request re/ makefs  gpart:

There is a script src/release/i386/make-memstick.sh to create an image
from a full directory tree; the tree is result of

make installworld DESTDIR=/tree
make installkernel DESTDIR=/tree

the script mainly does:

...
makefs -B little -o label=FreeBSD_Install ${2} ${1}
if [ $? -ne 0 ]; then
echo makefs failed
exit 1
fi
rm ${1}/etc/fstab

unit=$(mdconfig -a -t vnode -f ${2})
if [ $? -ne 0 ]; then
echo mdconfig failed
exit 1
fi
gpart create -s BSD ${unit}
gpart bootcode -b ${1}/boot/boot ${unit}
gpart add -t freebsd-ufs ${unit}
mdconfig -d -u ${unit}

As you can see, it does makefs first, and after this it creates the
gpart structure in the image (i.e. in its memory file system).

Why is this in this order and where exactly starts the file system
created by makefs?

The request is: it would also be nice if 'make-memstick.sh' would allow
to pass from the command line some values for the size of the file
system to be created in the image; I modified it to fit my needs as:

   size=15482880b
   ...
   makefs -B little -M ${size} -m ${size} -f 40 

Thanks

matthias

-- 
Matthias Apitz, g...@unixarea.de, http://www.unixarea.de/ +49-170-4527211
1989-2014: The Wall was torn down so that we go to war together again.
El Muro ha sido derribado para que nos unimos en ir a la guerra otra vez.
Diese Grenze wurde aufgehoben damit wir gemeinsam wieder in den Krieg ziehen.
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: makefs gpart (...)

2015-01-01 Thread Nathan Whitehorn


On 01/01/15 03:48, Matthias Apitz wrote:


Hello,

I have a small question and a small request re/ makefs  gpart:

There is a script src/release/i386/make-memstick.sh to create an image
from a full directory tree; the tree is result of

make installworld DESTDIR=/tree
make installkernel DESTDIR=/tree

the script mainly does:

...
makefs -B little -o label=FreeBSD_Install ${2} ${1}
if [ $? -ne 0 ]; then
echo makefs failed
exit 1
fi
rm ${1}/etc/fstab

unit=$(mdconfig -a -t vnode -f ${2})
if [ $? -ne 0 ]; then
echo mdconfig failed
exit 1
fi
gpart create -s BSD ${unit}
gpart bootcode -b ${1}/boot/boot ${unit}
gpart add -t freebsd-ufs ${unit}
mdconfig -d -u ${unit}

As you can see, it does makefs first, and after this it creates the
gpart structure in the image (i.e. in its memory file system).
Why is this in this order and where exactly starts the file system
created by makefs?



This is a quirk of BSD disklabels: the first partition can start at 
address 0 and the first 16 sectors of UFS2 file systems are reserved for 
the label headers. It's not portable to other partition schemes. For 
-CURRENT, this script has been replaced, by the way, and doesn't use BSD 
labels anymore.

-Nathan



The request is: it would also be nice if 'make-memstick.sh' would allow
to pass from the command line some values for the size of the file
system to be created in the image; I modified it to fit my needs as:

size=15482880b
...
makefs -B little -M ${size} -m ${size} -f 40 

Thanks

matthias



___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: makefs gpart (...)

2015-01-01 Thread Matthias Apitz
El día Thursday, January 01, 2015 a las 09:23:06AM -0800, Nathan Whitehorn 
escribió:

 
 On 01/01/15 03:48, Matthias Apitz wrote:

  gpart add -t freebsd-ufs ${unit}
  mdconfig -d -u ${unit}
 
  As you can see, it does makefs first, and after this it creates the
  gpart structure in the image (i.e. in its memory file system).
  Why is this in this order and where exactly starts the file system
  created by makefs?
 
 
 This is a quirk of BSD disklabels: the first partition can start at 
 address 0 and the first 16 sectors of UFS2 file systems are reserved for 
 the label headers. It's not portable to other partition schemes. For 
 -CURRENT, this script has been replaced, by the way, and doesn't use BSD 
 labels anymore.
 -Nathan

I'm on -HEAD (r272526) and the script remains unchanged there. Thanks
anyway for your feedback.

matthias

-- 
Matthias Apitz, g...@unixarea.de, http://www.unixarea.de/ +49-170-4527211
1989-2014: The Wall was torn down so that we go to war together again.
El Muro ha sido derribado para que nos unimos en ir a la guerra otra vez.
Diese Grenze wurde aufgehoben damit wir gemeinsam wieder in den Krieg ziehen.
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org