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 400000 .... 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"