Discussion:
Setting custom PTXDIST_TEMPDIR for large image gen?
Dennis.Herbrich-bEtpHztf266zQB+
2013-04-09 15:49:11 UTC
Permalink
Greetings!

I configured ptxdist 2013.03.0 to generate a rather large (8GB) hd.img for
me,
but genext2fs fails:

Creating root.ext2 from working
dir.../home/herbrich/AEOS2/platform-evoc-x86/sysroot-host/bin/genext2fs:
couldn't allocate a block (no free space)
make: *** [/home/herbrich/AEOS2/platform-evoc-x86/images/root.ext2] Error
1

Since I had 30+GB free space in my TOPDIR, I went into the lurking depths
of
ptxdist and discovered what looked like a hardcoded setting of
PTXDIST_TEMPDIR
in the setup_libs_early() function of ptxdist itself:

#
# source the scripts we need
#
# we need the PTXdist shell library
# we need the version definitions
# we need the static variable definitions
#
# out: "ptxd_*" library calls
# "*" ptxdist version variables
# "*DIR" directory definitions (some not correct, due to
missing PTXDIST_PLATFORMDIR)
# PTXDIST_TEMPDIR generic ptxdist temp dir
#
setup_libs_early() {
local file abs_file

for file in \
scripts/ptxdist_vars.sh \
scripts/libptxdist.sh \
; do
abs_file="${PTXDIST_TOPDIR}/${file}"
if [ -e "${abs_file}" ]; then
source "${abs_file}" || return
else
echo "${PTXDIST_LOG_PROMPT}FATAL didn't find
${abs_file}"
exit 1
fi
done

PTXDIST_TEMPDIR="$(mktemp -d /tmp/ptxdist.XXXXXX)"
if [ ${?} -ne 0 ]; then
echo
echo "${PTXDIST_LOG_PROMPT}error: unable to create
tempdir"
echo
exit 1
fi
}

Unfortunately I don't have 8+GB of RAM+swap handy, and I failed to find a
way to
cleanly set this variable to a location on my HDD. In retrospect I'm glad
that
kernel compilation didn't (yet) die on me with my limited /tmp ramdisk
space!

So, I guess my questions are:
1. How can I reliably generate a large-ish hd.img with limited /tmp space?
2. How can I set a different PTXDIST_TEMPDIR?

I am not inclined to accept "Dude, ptxdist is for embedded systems, create
a
smaller image already!" as an answer, though, sorry. ;)

Thanks a lot!
Dennis Herbrich

Hytera Mobilfunk GmbH
Fritz-Hahne-Str. 7
31848 Bad Münder/ Germany
Abteilung E

Tel.: + 49 (0) 5042 998 339
Fax: + 49 (0) 5042 998 305
mailto:dennis.herbrich-bEtpHztf266zQB+***@public.gmane.org

------------------------------------------------------------
Geschäftsführer / President: Matthias Klausing, Sitz der Gesellschaft /
Company's Place of Business: Bad Muender, Registereintrag / Commercial
Register No. Amtsgericht / Local Court Hannover: HRB 100300,
Umsatzsteuer-Identifikationsnummer (USt-IdNr.) / VAT Identification No.:
DE 115 447 987, Elektro-Altgeräte Register (EAR) / WEEE Register No.: DE
187 048 87
--
ptxdist mailing list
ptxdist-bIcnvbaLZ9MEGnE8C9+***@public.gmane.org
Michael Olbrich
2013-04-09 18:55:59 UTC
Permalink
Hi,
Post by Dennis.Herbrich-bEtpHztf266zQB+
I configured ptxdist 2013.03.0 to generate a rather large (8GB) hd.img for
me,
Creating root.ext2 from working
couldn't allocate a block (no free space)
make: *** [/home/herbrich/AEOS2/platform-evoc-x86/images/root.ext2] Error
1
Since I had 30+GB free space in my TOPDIR, I went into the lurking depths
of
ptxdist and discovered what looked like a hardcoded setting of
PTXDIST_TEMPDIR
[...]
Post by Dennis.Herbrich-bEtpHztf266zQB+
Unfortunately I don't have 8+GB of RAM+swap handy, and I failed to find a
way to
cleanly set this variable to a location on my HDD. In retrospect I'm glad
that
kernel compilation didn't (yet) die on me with my limited /tmp ramdisk
space!
1. How can I reliably generate a large-ish hd.img with limited /tmp space?
2. How can I set a different PTXDIST_TEMPDIR?
I am not inclined to accept "Dude, ptxdist is for embedded systems, create
a
smaller image already!" as an answer, though, sorry. ;)
This has nothing to do with PTXDIST_TEMPDIR. The images are all created in
platform-XXX/images/. The error means, that the specified size of the
ext2fs (as defined in the platformconfig) is too small.

Michael
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
Erwin Rol
2013-04-09 19:07:57 UTC
Permalink
Hey ,
Hi,
Post by Dennis.Herbrich-bEtpHztf266zQB+
I configured ptxdist 2013.03.0 to generate a rather large (8GB) hd.img for
me,
Last time I tried to use genext2fs it was not capable of generating
images larger than 2G (or was it 4G), cause I also needed 8G.

- Erwin
Michael Olbrich
2013-04-10 05:47:45 UTC
Permalink
Post by Erwin Rol
Post by Dennis.Herbrich-bEtpHztf266zQB+
I configured ptxdist 2013.03.0 to generate a rather large (8GB) hd.img for
me,
Last time I tried to use genext2fs it was not capable of generating
images larger than 2G (or was it 4G), cause I also needed 8G.
On a 32bit host system? Probably 2.xG. genext2fs seems to map the whole
Image, so the limit is you're virtual address space. Hmm, I tried a 6G
image here. I could create it, but it seems to be broken.
Why would you need such a large image anyways? Unless you have that much
contents initially, starting smaller and running resize2fs when booting for
the first time is better.

Michael
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
Michael Olbrich
2013-04-10 05:55:23 UTC
Permalink
Post by Michael Olbrich
Post by Erwin Rol
Post by Dennis.Herbrich-bEtpHztf266zQB+
I configured ptxdist 2013.03.0 to generate a rather large (8GB) hd.img for
me,
Last time I tried to use genext2fs it was not capable of generating
images larger than 2G (or was it 4G), cause I also needed 8G.
On a 32bit host system? Probably 2.xG. genext2fs seems to map the whole
Image, so the limit is you're virtual address space. Hmm, I tried a 6G
image here. I could create it, but it seems to be broken.
Why would you need such a large image anyways? Unless you have that much
contents initially, starting smaller and running resize2fs when booting for
the first time is better.
Btw, if you know any good alternative for genext2fs then I'd be happy to
hear about it. I know there are limitations. genext2fs cannot create ext4
images, so we can't take advantage of the new features for the initial
files. I don't know if there is a performance impact here. And so far I
have found no way to add extended attributes.

Michael
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
Loading...