Hi,

On Mon, Aug 18, 2008, Mitsutaka Amano wrote:
> I checked some patches. First, I show you patch status as currently 
> moblin-image-creator.

 Thanks!

> - 40_fsets.patch
>  We'll merge it.

 Glad to read that; just a comment on the various changes in there:
 * Ubuntu MID doesn't use flash, even in the private builds, but the USB
   client packages are expected: remove flashplugin-nonfree and add
   mobile-usb-client-utils + mobile-usb-host-utils in the
   CrownBeach-Full-Mobile-Stack-with-Proprietary and
   Samsung-Full-Mobile-Stack-with-Proprietary meta-packages
 * telepathy dropped from GNOME-Mobile fset: I think telepathy was
   dropped because the empathy fork of moblin (mobile-chat) was dropped
   in favor of pidgin
 * Install only the ubuntu-mobile package in the Ubuntu-Mobile fset: we
   don't manage installed packages in Ubuntu MID by matters of fsets;
   instead we use the same mechanism as for all Ubuntu flavors which is
   "seeds".  For instance, Ubuntu, Kubuntu, Xubuntu, Ubuntu Studio etc.
   all use seeds to define which packages should be installed.  The
   ubuntu-mobile meta-package will install all packages in the mobile
   seed, so it's enough to install it to get Ubuntu MID installed; it
   would be a bad idea to duplicate the information in two places.
 * Install marvell-8686-firmware-9 in the
   CrownBeach-Full-Mobile-Stack-with-Proprietary fset; I guess this is
   to support a proprietary wifi chip which is present in some ODM
   hardware
 * Install Poulsbo 3D accelerated libs in
   CrownBeach-Full-Mobile-Stack-with-Proprietary fset: psb-video
   libgl1-mesa-dri-psb xorg-modules-xpsb

> - 60_var-lib-projects.patch
>  It's old patch. It doesn't need.

 Hmm older MICs would create a var/lib/moblin-image-creator/projects.  I
 think it might be more elegant to create such a directory at install
 time rather than at runtime.

 Also, the mkdir is still present in current git MIC:
        self.config_path = os.path.join(self.var_dir, 'projects')
        if not os.path.isdir(self.config_path):
            os.mkdir(self.config_path)

 This triggerred Launchpad #232301 in the past; I can't check whether it
 still causes this bug as I currently get:
     % prefix/bin/image-creator
     Error: Must run image creator with sudo or run as root
     Example, run image creator:  sudo image-creator

>  commit fce7eeeb2316f837e147e952063751d7d2ced958
>  Author: Prajwal Mohan <[EMAIL PROTECTED]>
>  Date:   Tue May 27 15:32:14 2008 -0700
>
>    * Make file creates projects dir in /usr/share/pdk. Moving it to 
> /var/lib/mo
> blin-image-creator

 Sure, the location changed a while ago, but note that the creation of
 the directory is still done at runtime ATM, instead of build time as in
 the proposed patch (see above Launchpad reference).

> - 61_skip-usr-share-projects.patch
>  It was already implemented.

 Indeed!  BTW this code has a note "I would think that after Jun-2008,
 we can delete this list"; perhaps time to drop it?

> - 66_mount-boot.patch
>  It was already implemented.
>
>  commit 90c66f0a732a392a4abf844223762db98bfe2ee8
>  Author: Prajwal Mohan <[EMAIL PROTECTED]>
>  Date:   Mon Jul 14 10:45:39 2008 -0700
>
>    Checking in bug fix for 227013. /boot will be mounted rw on boot with disk 
> i
> nitramfs script

 That's indeed true for common-apt, however I would suspect common-yum's
 script suffers from the same issue.  The scripts are almost identical
 in other respects, but I don't use common-yum so I can't really tell.

 I think it would be nice to have a platform independent implementation
 of initramfs scripts if possible.  Maintaining two flavors of this
 infrastructure is probably painful.

 Could you perhaps resync the two scripts?  I guess both might be able
 to use /bin/sh instead of /bin/bash ("checkbashisms" reports no bashism
 in them) and the "mount"s probably make sense for yum platforms.

> - 68_clean-default-kopts.patch
>  We'll merge partial it.

 Ok; what part do you intend to merge / not to merge?  The rationale
 here is that when you call "update-grub" on Ubuntu systems, you get two
 versions of the "kernel" command lines in menu.lst: one without splash
 and quiet and one with splash and quiet (the default).  Hence, it's not
 necessary to add them explicitely (at least not on Ubuntu systems).

> - 69_run-update-grub.patch
>  We'll merge partial it.

 This patch sets "kopt" in the comments of menu.lst, which is the
 mechanism used for update-grub's "automagic" kernel-entries generation
 I described earlier.  Then it replaces the heavy sed usage with a
 simpler one which only sets kopt instead of touching all kernel
 entries, and calls update-grub to refresh the kernel entries.


 There's a bug in this support: when the image is created, /boot isn't a
 separate partition, it's just a directory.  So when "update-grub -y"
 runs to generate the default menu.lst, it generates kernel entries
 relative to the partition holding /boot (which / at this point).  This
 means the kernel entries are "/boot/something".  A checksum of the
 initial menu.lst is then recorded.  But then on the device /boot is a
 separate partition, this is why there is this /boot -> / sed to convert
 the kernel entries to "/something" (which will work in the target
 device).

 The problem here is that the next time you run update-grub, it compares
 the checksum which was computed with /boot entries with the new
 checksum with / entries and they don't match.  This causes an user
 prompt which is annoying.

 Emmet Hikory worked around this bug by:
 a) removing the /boot -> / rewrite (so menu.lst mentions /boot in
    kernel entries, which is wrong)
 b) adding a /boot -> / symlink in /boot (/boot/boot points to "/" which
    is /boot) to allow grub to find the kernels named /boot/something
    below /boot
 => this works because the checksums now match again

 I would prefer an alternate implementation which would be to have a
 separate /boot (fake) when menu.lst is generated during "update-grub
 -y", but this is a bit harder.  It probably requires mounting a tmpfs
 or something similar.

 Could you explain which parts of the patch you intend to keep/drop?

 What's your preferred way of solving this issue?

> - 70_menu-lst-default.patch
>  We'll merge it.
> - 71_install_locale.patch
>  We'll merge it.
> - 72_ume-platforms.patch
>  We'll merge it.
> - 73_create-kernel-img-conf.patch
>  We'll merge it.

 Cool; happy to give more details on what each patch does if you need
 any.

> - 74_boot-is-really-boot.patch
>  We'll merge it.

 (That's the reminder of the /boot -> / symlinking I mentionned
 earlier.)

   Thanks for the review!
-- 
Loïc Minier

_______________________________________________
dev mailing list
[email protected]
https://www.moblin.org/mailman/listinfo/dev

Reply via email to