[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [tyndur-devel] [PATCH 1 of 2] build: dd if='/dev/zero' ... ist zu langsam
- Date: Sat, 14 Aug 2010 20:28:42 +0200
- From: Kevin Wolf <kevin@xxxxxxxxxx>
- To: tyndur-devel@xxxxxxxxxx
- Subject: Re: [tyndur-devel] [PATCH 1 of 2] build: dd if='/dev/zero' ... ist zu langsam
- Message-id: <20100814182842.GA9845@silvanus>
- In-reply-to: <5abe563fc8809ab410d5.1281787858@laptop>
On Sat, Aug 14, 2010 at 02:10:58PM +0200, Andreas Freimuth wrote:
>
> * Beim Erstellen von leeren Images auf dd verzichten, statt dessen ein
> kleines Python-Script verwenden
>
> Signed-off-by: Andreas Freimuth <m.nemo@xxxxxxx>
> ---
> build/scripts/empty_file | 24 ++++++++++++++++++++++++
> build/scripts/image_cdrom | 2 +-
> build/scripts/image_floppy | 2 +-
> build/scripts/image_hd | 4 ++--
> 4 files changed, 28 insertions(+), 4 deletions(-)
>
> diff --git a/build/scripts/empty_file b/build/scripts/empty_file
> new file mode 100755
> --- /dev/null
> +++ b/build/scripts/empty_file
> @@ -0,0 +1,24 @@
> +#!/usr/bin/python
> +# -*- coding: UTF-8 -*-
> +
> +# Eine leere Datei mit einer bestimmten Größe erzeugen
> +# Parameter:
> +# 1. Dateiname
> +# 2. Dateigröße
> +import sys
> +
> +def empty_file(filename, size):
> + f = open(filename,"wb")
> + if not f:
> + sys.exit(1)
> +
> + f.seek(size - 1)
> + f.write('\0')
> + f.close()
Funktioniert nicht für size = 0 und verkleinert schon vorhandene Dateien
nicht. f.truncate (oder wie auch immer das heißen mag) wäre
wahrscheinlich besser.
> +
> +if __name__ == "__main__":
> + if len(sys.argv[1:]) != 2:
> + print sys.stderr, "using: %s <filename> <size>" % sys.argv[0]
> + sys.exit(1)
> +
> + empty_file(str(sys.argv[1]), int(sys.argv[2]))
Tut das ganze nicht dasselbe wie dd of=$file seek=$size count=0? (Bzw.
in deiner Version auch noch conv=notrunc, aber das halte ich wie gesagt
für einen Bug und nicht für ein Feature)
Die Idee, nicht erstmal endlos Nullen zu schreiben, ist aber gut.
Kevin