All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-raspberrypi] Zenity is in meta-gnome
@ 2013-04-27 16:14 Paul Barker
  2013-05-01 19:37 ` Andrei Gherzan
  0 siblings, 1 reply; 13+ messages in thread
From: Paul Barker @ 2013-04-27 16:14 UTC (permalink / raw)
  To: Yocto discussion list

rpi-first-run-wizard depends on zenity, which is in meta-gnome.
However the README file for meta-raspberrypi says only oe-core and
meta-oe layers are required (lines 105 and 106 of the current README).

I'd say the 2 possible solutions are either listing meta-gnome as a
layer dependency or re-writing rpi-first-run-wizard to use something
else. I can write a patch for the former, the latter isn't really my
area of expertise.

Thoughts?

--
Paul Barker

Email: paul@paulbarker.me.uk
http://www.paulbarker.me.uk


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [meta-raspberrypi] Zenity is in meta-gnome
  2013-04-27 16:14 [meta-raspberrypi] Zenity is in meta-gnome Paul Barker
@ 2013-05-01 19:37 ` Andrei Gherzan
  2013-05-02 11:27   ` Paul Barker
  0 siblings, 1 reply; 13+ messages in thread
From: Andrei Gherzan @ 2013-05-01 19:37 UTC (permalink / raw)
  To: Paul Barker; +Cc: Yocto discussion list

On Sat, Apr 27, 2013 at 05:14:22PM +0100, Paul Barker wrote:
> rpi-first-run-wizard depends on zenity, which is in meta-gnome.
> However the README file for meta-raspberrypi says only oe-core and
> meta-oe layers are required (lines 105 and 106 of the current README).
>
> I'd say the 2 possible solutions are either listing meta-gnome as a
> layer dependency or re-writing rpi-first-run-wizard to use something
> else. I can write a patch for the former, the latter isn't really my
> area of expertise.

That's something we should take a look at. It was introduced before me taking
this layer and we need to tweak it a little bit (dependency too). If you cat
take a loot at it would be great. Never tested it on board actually. And we
need to make it work with systemd too somehow. I have it in my queue.

--
Andrei Gherzan
m: +40.744.478.414 | f: +40.31.816.28.12


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [meta-raspberrypi] Zenity is in meta-gnome
  2013-05-01 19:37 ` Andrei Gherzan
@ 2013-05-02 11:27   ` Paul Barker
  2013-05-02 15:12     ` Trevor Woerner
  0 siblings, 1 reply; 13+ messages in thread
From: Paul Barker @ 2013-05-02 11:27 UTC (permalink / raw)
  To: Andrei Gherzan; +Cc: Yocto discussion list

On 1 May 2013 20:37, Andrei Gherzan <andrei@gherzan.ro> wrote:
>
> That's something we should take a look at. It was introduced before me taking
> this layer and we need to tweak it a little bit (dependency too). If you cat
> take a loot at it would be great. Never tested it on board actually. And we
> need to make it work with systemd too somehow. I have it in my queue.
>

I've took another look over the actual script (first-run-wizard.sh)
and I've found the first run script that Rasbpian uses
(https://github.com/asb/raspi-config).

I think this sort of script is going to be by nature very dependent on
the distro choices, what packages are installed, etc. The current
script still references OpenPandora everywhere and points at files in
/etc/pandora. I don't personally feel it belongs in a board support
layer.

What would be useful is a first boot task which resizes the rootfs to
fill the SD card it's on without prompts. Should be easy to do with a
postinst script and fdisk. Would be great if it worked as an option
that could go in IMAGE_FEATURES. It also might be applicable to other
devices such as the Beagleboard. I'll take a look when I get chance.

--
Paul Barker

Email: paul@paulbarker.me.uk
http://www.paulbarker.me.uk


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [meta-raspberrypi] Zenity is in meta-gnome
  2013-05-02 11:27   ` Paul Barker
@ 2013-05-02 15:12     ` Trevor Woerner
  2013-05-02 15:52       ` Paul Barker
  0 siblings, 1 reply; 13+ messages in thread
From: Trevor Woerner @ 2013-05-02 15:12 UTC (permalink / raw)
  To: Yocto discussion list

On Thu, May 2, 2013 at 7:27 AM, Paul Barker <paul@paulbarker.me.uk> wrote:
> What would be useful is a first boot task which resizes the rootfs to
> fill the SD card it's on without prompts. Should be easy to do with a
> postinst script and fdisk.

In my opinion, what would be even better:

- the build system is instructed to not bother making an image, its
job is to produce {tar|rpm|deb|ipk}s
- a separate tool (which will probably need to be run as root) is used
to actually format/create the SD device (using, say, sfdisk for
automation) this way the last partition can be specified as "use the
rest of the disk"
- this tool unpacks the requested/required {tar|rpm|deb|ipk}s onto the
SD device (some of which can come from outside the Yocto build system,
e.g. from using the SDK); this device already has its
formatting/partitions ready
- this tool could also handle setting up serial numbers, IP addresses, etc
- this tools also sets up the bootloader (if required)

In this way any arbitrary partitioning could be used (1 root partition
and 1 swap? /home separate? arbitrary home-brew partitions/names?),
and the user is free to use whatever formatting for these partitions
they want (they don't have to be decided at build time and the choice
of partition types doesn't have to be restricted to whatever the build
tool is able to use). Weird /etc/fstab tricks aren't required on the
build machine (as some layers require). You have a separate tool that
can be used by the "production" staff to pump out several SD/CF/etc
images at a time (using a USB hub for example). Any arbitrary
bootloader can be used, again not restricted to what the build tool
can support. And the first-boot time isn't 10x longer than any
subsequent boots :-)

In my opinion, up until now, the primary focus of The Yocto Project
has always been on the front-end: setting up the cross-development
environment and cross-compiling software for your target; don't get me
wrong, this is all fantastic and necessary. But there doesn't seem to
be much in the way of back-end support (i.e. the production
environment).


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [meta-raspberrypi] Zenity is in meta-gnome
  2013-05-02 15:12     ` Trevor Woerner
@ 2013-05-02 15:52       ` Paul Barker
  2013-05-02 16:18         ` Trevor Woerner
                           ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Paul Barker @ 2013-05-02 15:52 UTC (permalink / raw)
  To: Trevor Woerner; +Cc: Yocto discussion list

On 2 May 2013 16:12, Trevor Woerner <twoerner@gmail.com> wrote:
> - a separate tool (which will probably need to be run as root) is used
> to actually format/create the SD device (using, say, sfdisk for
> automation) this way the last partition can be specified as "use the
> rest of the disk"
> - this tool unpacks the requested/required {tar|rpm|deb|ipk}s onto the
> SD device (some of which can come from outside the Yocto build system,
> e.g. from using the SDK); this device already has its
> formatting/partitions ready
> - this tool could also handle setting up serial numbers, IP addresses, etc
> - this tools also sets up the bootloader (if required)

Sounds great though it may take a long time to copy files to an SD
card (I noticed a similar opinion at
http://www.raspbian.org/RaspbianInstaller). May be quicker to generate
an image file with the correct size first then dd that to the card.

--
Paul Barker

Email: paul@paulbarker.me.uk
http://www.paulbarker.me.uk


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [meta-raspberrypi] Zenity is in meta-gnome
  2013-05-02 15:52       ` Paul Barker
@ 2013-05-02 16:18         ` Trevor Woerner
  2013-05-02 16:23         ` Gary Thomas
  2013-05-02 19:00         ` Trevor Woerner
  2 siblings, 0 replies; 13+ messages in thread
From: Trevor Woerner @ 2013-05-02 16:18 UTC (permalink / raw)
  To: Paul Barker; +Cc: Yocto discussion list

On Thu, May 2, 2013 at 11:52 AM, Paul Barker <paul@paulbarker.me.uk> wrote:
> Sounds great though it may take a long time to copy files to an SD
> card (I noticed a similar opinion at
> http://www.raspbian.org/RaspbianInstaller). May be quicker to generate
> an image file with the correct size first then dd that to the card.

If you prefer that route, to make it even faster you could
additionally make use of the bmaptool:
https://lists.yoctoproject.org/pipermail/yocto/2013-January/013759.html

I've used it with the i.MX53 QSB and the improvement was noticeable.

I found it hard to get the image to be exactly the right size. There
was always a little room left-over (or the image would be too big and
wouldn't copy over to the card). This method doesn't (I don't think)
support a flexible partition layout, just the generic 2-partition
FAT+EXTx.


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [meta-raspberrypi] Zenity is in meta-gnome
  2013-05-02 15:52       ` Paul Barker
  2013-05-02 16:18         ` Trevor Woerner
@ 2013-05-02 16:23         ` Gary Thomas
  2013-05-02 16:35           ` Trevor Woerner
  2013-05-02 16:45           ` Andrei Gherzan
  2013-05-02 19:00         ` Trevor Woerner
  2 siblings, 2 replies; 13+ messages in thread
From: Gary Thomas @ 2013-05-02 16:23 UTC (permalink / raw)
  To: yocto

On 2013-05-02 09:52, Paul Barker wrote:
> On 2 May 2013 16:12, Trevor Woerner <twoerner@gmail.com> wrote:
>> - a separate tool (which will probably need to be run as root) is used
>> to actually format/create the SD device (using, say, sfdisk for
>> automation) this way the last partition can be specified as "use the
>> rest of the disk"
>> - this tool unpacks the requested/required {tar|rpm|deb|ipk}s onto the
>> SD device (some of which can come from outside the Yocto build system,
>> e.g. from using the SDK); this device already has its
>> formatting/partitions ready
>> - this tool could also handle setting up serial numbers, IP addresses, etc
>> - this tools also sets up the bootloader (if required)
>
> Sounds great though it may take a long time to copy files to an SD
> card (I noticed a similar opinion at
> http://www.raspbian.org/RaspbianInstaller). May be quicker to generate
> an image file with the correct size first then dd that to the card.

The problem with this approach is that the generated image will typically
be many gigabytes in size (typical SD cards are 4GB on up).  The time to
copy such an image to the physical card can be very large indeed.

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [meta-raspberrypi] Zenity is in meta-gnome
  2013-05-02 16:23         ` Gary Thomas
@ 2013-05-02 16:35           ` Trevor Woerner
  2013-05-04 10:33             ` Paul Barker
  2013-05-02 16:45           ` Andrei Gherzan
  1 sibling, 1 reply; 13+ messages in thread
From: Trevor Woerner @ 2013-05-02 16:35 UTC (permalink / raw)
  To: Gary Thomas; +Cc: yocto@yoctoproject.org

On Thu, May 2, 2013 at 12:23 PM, Gary Thomas <gary@mlbassoc.com> wrote:
> On 2013-05-02 09:52, Paul Barker wrote:
>> Sounds great though it may take a long time to copy files to an SD
>> card (I noticed a similar opinion at
>> http://www.raspbian.org/RaspbianInstaller). May be quicker to generate
>> an image file with the correct size first then dd that to the card.
>
>
> The problem with this approach is that the generated image will typically
> be many gigabytes in size (typical SD cards are 4GB on up).  The time to
> copy such an image to the physical card can be very large indeed.

Which is how the bmaptool steps in and helps. It analyzes the image
for holes (and/or blocks of zeros?) and only copies over the relevant,
non hole/zero parts. Substantially improving the transfer time,
especially for the larger images.

If I knew the best way to integrate it with Yocto, I'd submit patches
to include it. But for the time-being I'll just mention it :-)


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [meta-raspberrypi] Zenity is in meta-gnome
  2013-05-02 16:23         ` Gary Thomas
  2013-05-02 16:35           ` Trevor Woerner
@ 2013-05-02 16:45           ` Andrei Gherzan
  2013-05-02 18:58             ` Trevor Woerner
  2013-05-08  9:55             ` Paul Barker
  1 sibling, 2 replies; 13+ messages in thread
From: Andrei Gherzan @ 2013-05-02 16:45 UTC (permalink / raw)
  To: Gary Thomas; +Cc: Yocto Project

[-- Attachment #1: Type: text/plain, Size: 2836 bytes --]

On Thu, May 2, 2013 at 6:23 PM, Gary Thomas <gary@mlbassoc.com> wrote:

> On 2013-05-02 09:52, Paul Barker wrote:
>
>> On 2 May 2013 16:12, Trevor Woerner <twoerner@gmail.com> wrote:
>>
>>> - a separate tool (which will probably need to be run as root) is used
>>> to actually format/create the SD device (using, say, sfdisk for
>>> automation) this way the last partition can be specified as "use the
>>> rest of the disk"
>>> - this tool unpacks the requested/required {tar|rpm|deb|ipk}s onto the
>>> SD device (some of which can come from outside the Yocto build system,
>>> e.g. from using the SDK); this device already has its
>>> formatting/partitions ready
>>> - this tool could also handle setting up serial numbers, IP addresses,
>>> etc
>>> - this tools also sets up the bootloader (if required)
>>>
>>
>>
It always makes sense to create images and deploy it to different file
types. I don't know why you don't think this is a feature the build system
should handle. And the sdcard image is just a particular case of that. Now,
what we are talking about is to make things easier for the user. If he
needs to install alternative rpms (or whatever) he can do it with yum +
repos (even custom from deploy dir), he can use custom images /
packagegroups. IMAGE_INSTALL_append etc. There are so many ways to do it so
after all the user has the possibility to custom things around.

Now, the sdcard is generated or not ... again that is optional. You can
have a tar + kernel + boot things and use a custom script to do whatever -
directly on sd or so. Exactly what you said. But for a general user that
would be additional work / time. And btw the sdcard image is as little as
the actual files are (plus some default free space) and you can have more
free space with EXTRA_IMAGE_FREE_SPACE (?! need to check if that it correct
but anyway there is something similar).

So that script was just a helper to make things easier for the user.

On the other hand i'm pretty sure nobody uses it. Probably because is
outdated and seems to come from other project - which is true :). So if we
decide to keep it we need to refactor it. And raspi-config would be my
choice.




>  Sounds great though it may take a long time to copy files to an SD
>> card (I noticed a similar opinion at
>> http://www.raspbian.org/**RaspbianInstaller<http://www.raspbian.org/RaspbianInstaller>).
>> May be quicker to generate
>> an image file with the correct size first then dd that to the card.
>>
>
> The problem with this approach is that the generated image will typically
> be many gigabytes in size (typical SD cards are 4GB on up).  The time to
> copy such an image to the physical card can be very large indeed.
>

Correct.

-- 
*Andrei Gherzan*
m: +40.744.478.414 |  f: +40.31.816.28.12

[-- Attachment #2: Type: text/html, Size: 4701 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [meta-raspberrypi] Zenity is in meta-gnome
  2013-05-02 16:45           ` Andrei Gherzan
@ 2013-05-02 18:58             ` Trevor Woerner
  2013-05-08  9:55             ` Paul Barker
  1 sibling, 0 replies; 13+ messages in thread
From: Trevor Woerner @ 2013-05-02 18:58 UTC (permalink / raw)
  To: Andrei Gherzan; +Cc: Yocto Project

On Thu, May 2, 2013 at 12:45 PM, Andrei Gherzan <andrei@gherzan.ro> wrote:
>>> On 2 May 2013 16:12, Trevor Woerner <twoerner@gmail.com> wrote:
>>>> - a separate tool (which will probably need to be run as root) is used
>>>> to actually format/create the SD device (using, say, sfdisk for
>>>> automation) this way the last partition can be specified as "use the
>>>> rest of the disk"
>>>> - this tool unpacks the requested/required {tar|rpm|deb|ipk}s onto the
>>>> SD device (some of which can come from outside the Yocto build system,
>>>> e.g. from using the SDK); this device already has its
>>>> formatting/partitions ready
>>>> - this tool could also handle setting up serial numbers, IP addresses,
>>>> etc
>>>> - this tools also sets up the bootloader (if required)
>>>
>>>
>
> It always makes sense to create images and deploy it to different file
> types. I don't know why you don't think this is a feature the build system
> should handle.

If you ask the Yocto build system to generate an image for you, there
are no knobs you can tweak :-)

You are "stuck" with a basic FAT+EXTx image, which is all it can
generate for you since it needs to generate this image for you using
tools that don't require root privileges (parted, dd, mcopy...) .
Oddly enough, in some cases the two partitions aren't required;
everything could be done in one, but you get two anyway, because it's
easier to do it that way without root.

What if your product wants/needs a separate "/data" partition that is
2GB in size, and formatted with reiserfs? Is there a knob for that?
What if you want several separate partitions with varying formats? Is
there a simple knob for that? (Honestly I don't know, my understanding
is "no", you only get 2, but maybe someone will surprise me with
"yes"?)


In addition to what I've talked about above, there is a larger
"production" issue that would tie in better with that I propose rather
than with the way things are currently done. You've created your
one-off prototype and it works great. Now you want to ramp up
production and pump out 100's of these things a week. What if each of
your devices needs a unique serial number, or a unique IP address? Are
you really going to try to generate 100's of unique images and hope
your production/manufacturing team "gets it right"? Doing something
like this is not something the build system should handle, this is a
post-build activity.

The tools we have now are fantastic for someone doing one-off
prototypes in their basement, but they don't support the
post-development product phase very well (in my opinion!).


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [meta-raspberrypi] Zenity is in meta-gnome
  2013-05-02 15:52       ` Paul Barker
  2013-05-02 16:18         ` Trevor Woerner
  2013-05-02 16:23         ` Gary Thomas
@ 2013-05-02 19:00         ` Trevor Woerner
  2 siblings, 0 replies; 13+ messages in thread
From: Trevor Woerner @ 2013-05-02 19:00 UTC (permalink / raw)
  To: Paul Barker; +Cc: Yocto discussion list

On Thu, May 2, 2013 at 11:52 AM, Paul Barker <paul@paulbarker.me.uk> wrote:
> Sounds great though it may take a long time to copy files to an SD
> card (I noticed a similar opinion at
> http://www.raspbian.org/RaspbianInstaller). May be quicker to generate
> an image file with the correct size first then dd that to the card.

Actually, I believe the opposite is true: if you format a 4GB card and
then copy just the extracted files over (which might only comprise
300MB), I believe that is much faster than trying to dd a full 4GB
image onto a 4GB card.


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [meta-raspberrypi] Zenity is in meta-gnome
  2013-05-02 16:35           ` Trevor Woerner
@ 2013-05-04 10:33             ` Paul Barker
  0 siblings, 0 replies; 13+ messages in thread
From: Paul Barker @ 2013-05-04 10:33 UTC (permalink / raw)
  To: Trevor Woerner; +Cc: yocto@yoctoproject.org

On 2 May 2013 17:35, Trevor Woerner <twoerner@gmail.com> wrote:
>
> If I knew the best way to integrate it with Yocto, I'd submit patches
> to include it. But for the time-being I'll just mention it :-)
>

Maybe take a look at how the existing SD card image for the
raspberrypi is generated? The relevant file is
classes/sdcard_image-rpi.bbclass in meta-raspberrypi
(https://git.yoctoproject.org/cgit/cgit.cgi/meta-raspberrypi/tree/classes/sdcard_image-rpi.bbclass).

You'd probably want to create a new rootfs of the desired size (maybe
a IMAGE_SIZE variable that can be set in local.conf?) and untar the
relvant .rootfs.tar.bz2 file into the new partition then join it with
a machine-specific boot partition into a final image. The sizes would
be set so rootfs size + boot size + alignment, etc = IMAGE_SIZE.

This doesn't solve everything you say about unique serial numbers or
IP addresses but it's a start, such features could be added later.

--
Paul Barker

Email: paul@paulbarker.me.uk
http://www.paulbarker.me.uk


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [meta-raspberrypi] Zenity is in meta-gnome
  2013-05-02 16:45           ` Andrei Gherzan
  2013-05-02 18:58             ` Trevor Woerner
@ 2013-05-08  9:55             ` Paul Barker
  1 sibling, 0 replies; 13+ messages in thread
From: Paul Barker @ 2013-05-08  9:55 UTC (permalink / raw)
  To: Andrei Gherzan; +Cc: Yocto Project

On 2 May 2013 17:45, Andrei Gherzan <andrei@gherzan.ro> wrote:
>
> So that script was just a helper to make things easier for the user.
>
> On the other hand i'm pretty sure nobody uses it. Probably because is
> outdated and seems to come from other project - which is true :). So if we
> decide to keep it we need to refactor it. And raspi-config would be my
> choice.
>

For my current builds I've removed this recipe completely. I think if
someone wants a script like this it makes more sense to start from
scratch or from raspi-config rather then from this script. I can send
a patch if you agree.

--
Paul Barker

Email: paul@paulbarker.me.uk
http://www.paulbarker.me.uk


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2013-05-08  9:56 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-27 16:14 [meta-raspberrypi] Zenity is in meta-gnome Paul Barker
2013-05-01 19:37 ` Andrei Gherzan
2013-05-02 11:27   ` Paul Barker
2013-05-02 15:12     ` Trevor Woerner
2013-05-02 15:52       ` Paul Barker
2013-05-02 16:18         ` Trevor Woerner
2013-05-02 16:23         ` Gary Thomas
2013-05-02 16:35           ` Trevor Woerner
2013-05-04 10:33             ` Paul Barker
2013-05-02 16:45           ` Andrei Gherzan
2013-05-02 18:58             ` Trevor Woerner
2013-05-08  9:55             ` Paul Barker
2013-05-02 19:00         ` Trevor Woerner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.