dh-chromeos was originally intended for use once we switch to
chromiumos-build, but it turns out that it would be useful to be able to
use it beforehand to correct some cross-build problems. Accordingly,
give it a make_pkg.sh file and add it to build_platform_packages.sh.
Review URL: http://codereview.chromium.org/525030
This puts all package installation for the rootfs in one place. It
also makes it so that you can run install_packages.sh --root="foo"
outside of the build_image.sh script if you want to test something
without going through the full image build. With this change
build_image basically:
- Sets up a loopback mounted rootfs
- Calls install_packages.sh on rootfs
- Calls customize_rootfs on rootfs
- Makes the rootfs bootable
Review URL: http://codereview.chromium.org/520004
The chroot's apt.conf.d has a debconf file which tells apt
to run dpkg-preconfigure on all packages before installing.
We don't want to do this, especially with an automated build.
This CL changes the apt config used by install_packages.sh to
be self-contained and skip including the default configs by
using the APT_CONFIG evnironement variable.
The CL also cleans up some of the apt command lines as well
as getting rid of some ugly "$ROOT_FS_DIR/..".
Review URL: http://codereview.chromium.org/522003
ibus-hangul provides an input method for Korean.
- third_party/ibus-hangul/libhangul_0.0.10-1.diff.gz
- third_party/ibus-hangul/libhangul_0.0.10.orig.tar.gz
These files are source package of libhangul for Ubuntu Lucid (10.04 LTS) at http://packages.ubuntu.com/en/lucid/libhangul0-data.
Since Karmic's libhangle (0.0.9) is too old to build ibus-hangul trunk, we'll build libhangul packages ourselves.
- third_party/ibus-hangul/make_pkg.sh
This script first builds and installs libhangul debian packages, then builds ibus-hangul.
- third_party/ibus-hangul/ibus-hangul_1.2.0.20090617-2.diff.gz
Copied from the Ubuntu Karmic's ibus-m17n package just like as third_party/clutter/clutter-1.0_1.0.4-0ubuntu1.diff.gz.
- third_party/ibus-hangul/ibus-hangul_remove_python_deps.diff
Patch for third_party/ibus-hangul/debian/rules which removes setup tools written in Python from the ibus-hangul debian package.
Review URL: http://codereview.chromium.org/501150
ibus-m17n provides input method engines for many languages such as Thai.
- third_party/ibus-m17n/make_pkg.sh
Copied from third_party/ibus-anthy/make_pkg.sh, then slightly modified.
- third_party/ibus-m17n/ibus-m17n_1.2.0.20090930-1.diff.gz
Copied from the Ubuntu Karmic's ibus-m17n package just like as third_party/clutter/clutter-1.0_1.0.4-0ubuntu1.diff.gz.
Review URL: http://codereview.chromium.org/502089
Given this we need to explicitly install xterm and lsof, but
otherwise it is a net reduction of about 45 packages, which is nice.
Review URL: http://codereview.chromium.org/515009
the maintainer scripts on installed packages.
I've experimented with using this in the install_packages.sh that
runs from outside the targetfs. It is able to extract packages and
make them appear to be installed (for the most part) without
running the maintainer scripts.
This will allow us to start figuring out what problems we will
have when we no longer run the maintainer scripts.
In the long run it would be nice to add an option to "dpkg" to
skip maintainer scripts.
Review URL: http://codereview.chromium.org/517004
and install debs into the target rootfs.
This will still run the maintainer scripts, but it is a step in
the right direction to being able to create a cross-compiled image.
This will allow us to experiment with disabling the maintainer
scripts and attempt to get that working. It also makes it easier
to modify the install_packages script since it now has access to
shflags and the source tree properly.
This CL also cleans up stuff doing in build_image.sh to bind mount
the trunk into the target rootfs, set up packages for install there,
etc.
The next step is to experiment with disabling maintainer scripts.
One possible way to do that would be to put a shim in place of dpkg
so that when apt calls dpkg it install a package we call dpkg-deb
with a simple unpack instead. This would allow us to continue to
use the good nice features that apt provides.
Review URL: http://codereview.chromium.org/517003
The mirroring process for the internal package repository puts
all mirrored packages into "main" for some reason. Since the Karmic
version of pybootchartgui is in "universe", when we use the internal
repository of packages we need to reference it based on "universe".
However, the external repo will have it at "main". We can't have it
both ways, so we'll need to give up on pybootchartgui until after we
fix up the repo mirroing.
Review URL: http://codereview.chromium.org/509010
I had to make this change on the chrome side because scons doesn't like -'s
Now I'm making it here to match
Review URL: http://codereview.chromium.org/504060
important things break.
Here are some of the more noticable problems:
* The Karmic xscreensaver is newer than ours, so we're pulling and invoking
the upstream version instead. It will prompt you for the "chronos"
password but it really wants the password you used to log in. Or hit
CTRL-ALT-F2, log in with chronos and "killall xscreensaver".
* I had to bump the rootfs size from 950M to 1024M to make room for
everything (most likely xscreensaver).
* WiFi isn't working. No clue why not.
* The list of packages installed on the run-time image are different, almost
certainly due to changes in the upstream dependencies. That may or may not
have anything to do with the known failures.
That said, if you use a wired internet connection, you can log in and browse
the web, suspend, etc. and it doesn't crash.
FWIW, upgrading to Karmic causes these packages to be removed from the
run-time image:
acpi
cron
gcj-4.4-jre-lib
gob2
icedtea-6-jre-cacao
libcloog-ppl0
libclutter-0.9-0
libgmpxx4ldbl
libmysqlclient15off
libpcsclite1
libpolkit-gobject-1-0
libppl-c2
libppl7
libreadline5
python-pkg-resources
python-setuptools
swig
wpasupplicant
These packages are added:
arora
dictionaries-common
hdparm
ibus
ibus-anthy
ibus-chewing
ibus-gtk
insserv
libbsd0
libc-bin
libclutter-1.0-0
libcroco3
libdrm-radeon1
libgsf-1-114
libgsf-1-common
libibus1
libjpeg-progs
libmysqlclient16
libpolkit-gobject-1-0
libreadline6
librsvg2-2
librsvg2-common
libx86-1
miscfiles
mountall
pm-utils
powermgmt-base
python-ibus
python-rsvg
radeontool
sash
vbetool
xscreensaver
xscreensaver-data
xserver-xorg-core
xserver-xorg-input-vmmouse
xserver-xorg-video-intel
Review URL: http://codereview.chromium.org/501071
only host-based tools. This is a requirement in order to be able to build
a cross-compiled image where the target rootfs is a different arch than
the host.
Review URL: http://codereview.chromium.org/500014
Added a flag to allow verbose make-kpkg and a flag to specify the
cross compile tools.
Changed the default output_root to use ARCH in the path.
Modified determination of ARCH and changed ARCH=arm to the more correct
ARCH=armel. Also set KPKG_ARCH=arm for compliance with kernel makefile.
Disabled the setarch command when it fails and instead alias uname to
echo ARCH.
A call to compile for arm will look like:
./build_kernel.sh --config=path/to/config --cross_compile=arm-linux-gnueabi- \
[--verbose]
Review URL: http://codereview.chromium.org/501019
This adds the ARM cross-compiler toolchain to the build chroot environment,
so we can start trying to compile things for ARM.
There's also a minor change to make_local_repo.sh and make_chroot.sh to
allow a second repository source. This is needed only for bootstrapping this
change (and others like it), and not required for normal use.
Review URL: http://codereview.chromium.org/507005
We just write minidumps to /home/chronos for now -- I'm
deferring agreeing on a central location for them and
actually uploading them for later.
BUG=47
Review URL: http://codereview.chromium.org/495008