Ben Armstrong: Bits from the Eee PC team, Spring 2009

[..] if debian-cd is embedding a syslinux binary with a different version, it must contain the sources for it [..](accentuation by me). And -- since both debian-cd and syslinux are licensed under the terms of the GNU General Public Licences 2 (as statet in its copyright file) -- he is wrong. To comply to the license it is completely okay to
Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, [..]. (Section 3b). To the best of my knowledge we do archive all sources of all uploads (even if not public accessible, ask an ftp-master for details about
source-morgue). So we do comply to the license. Update:
source-morguedoesn't guarantee all sources to be present. But all the syslinux sources mentioned by Daniel are present. PS: Of course that doesn't mean embeding a binary is okay policy wise... PS2: In future it's planed to have snapshot.debian.org for that; don't know about the state of that, yet.
http://cdimage.debian.org/cdimage/lenny_live_beta1/Please also have a look at the known issues listed below. Main features 100% Debian The build process of Debian Live basically consists of creating a Debian chroot, installing one or more kernels along with live-initramfs (a set of hooks into initramfs-tools for handling booting from read-only media) and generating a bootable image from that. This process is handled by live-helper, a collection of shell scripts that allow us to automate and customize this process. Considerable care is taken to ensure that the resulting live system is not tainted by the host system and that installed packages are not modified morethan absolutely necessary. This ensures that Debian Live really is Debian, and not "just another" a Debian-based live system. Flavours Although live-helper is a toolkit to produce your very own live systems with only a few steps, we also provide prebuilt images that are meant to be used as reference systems for end-users. Currently, this consists of the three major desktop environments (GNOME, KDE and Xfce), as well as a small 'standard' image without a graphical environment. For the desktop environments, package selection is performed by 'tasksel' with the respective desktop task, whilst the 'standard' image contains only packages of "Priority: standard" or greater, notwithstanding a handful of live-specific packages (console-common, eject, file, kbd, live-initramfs, locales, sudo and vim-tiny). Image types Debian Live offers prebuilt images for CD/DVD discs, USB sticks (or any HD-media-like device), tarballs (for PXE netboot) as well as a bare squashfs image to boot from the web directly. Live Magic Live Magic is an GUI frontend around the live-helper scripts, offering a subset of the features of live-helper in an easy-to-use graphical user interface. live-magic 1.0 was recently uploaded to sid and is the recommended version. It currently supports 7 languages. Live Installer Live Installer is a special udeb for the Debian Installer that (optionally) replaces a part of d-i in order to install the system from the live image instead of to bootstrapping it from .deb packages. This way, a live system can be easily installed to the harddisk, ensuring that the look and feel of the installation (including preseeding) works the same as the regular installer process. Unfortunately, live-installer does still have a few minor bugs left and is thus not included in our builds yet; we hope to be able to include it in the next beta. Known issues in this release
Downld file now SEND RFU UPGRADE...and the printer is dead, just after ten minutes of unpacking it. How comes? HP equips some LaserJet P3005X with a formatter (that is the embedded "computer" inside the printer) that is not upgradeable. Brilliant. And that is why Hewlett-Packard sucks beyond belief:
icedove-l10n-*
) which was an outstanding issue since August 2006.live fetch=http://example.com/my_squashfs.imgat the boot prompt. Whithin the boot process of the live system, the squashfs image will be once downloaded into RAM. After that point, no network access is required anymore. This is also the reason why it was invented initially, it is an alternative to the conventional netboot (PXE with tftp for boot and shared root over a network filesystem such as cifs, nfs or smb) where permanent network access is required, not a replacement. Temporary limitations
4 screen AG | approval |
Accenture AG | approval |
ADVIS AG | approval |
ALTRAN AG | approval |
Baggenstos Wallisellen | approval |
Bechtle IT-Systemhaus Thalwil | approval |
CIS-Consulting | approval |
Comsoft Direct AG | approval |
Coris SA | approval |
Dr. Pascal Sieber & Partners AG | approval |
dynawell ag | approval |
Ecma International | approval |
ELCA Informatik AG | approval |
EPFL Lausanne | disapproval |
FSFE Free Software Foundation Europe | disapproval |
GARAIO AG | approval |
Gysel Ulrich Emanuel | disapproval |
H.R. Thomann Consulting | approval |
Hewlett-Packard (Schweiz) GmbH | approval |
HSW Luzern, Institut IWI | approval |
IAMCP Switzerland | approval |
IBM (Schweiz) | disapproval |
Informatikstrategieorgan Bund ISB | approval |
isolutions gmbh | approval |
itsystems AG | approval |
Kull AG | approval |
leanux.ch AG | approval |
Leuchter Informatik AG | approval |
MESO Products | approval |
Microsoft Schweiz GmbH | approval |
MondayCoffee AG | approval |
Namics AG | approval |
NEXPLORE AG | approval |
Novell (Schweiz) AG | approval |
Online Consulting AG | approval |
Open Text | approval |
PageUp Bern | approval |
PC-WARE Systems (Schweiz) AG | approval |
Puzzle ITC GmbH | disapproval |
SBS Solutions AG | approval |
Secunet SwissIT AG | disapproval |
SIUG Swiss Internet User Group | disapproval |
SKSF | approval |
Skybow AG | approval |
SoftwareONE | approval |
SyGroup GmbH | disapproval |
Sylog Consulting SA | approval |
Syndrega | disapproval |
TheAlternative | disapproval |
Trivadis AG | approval |
Unic Internet Solutions | approval |
usedSoft AG | approval |
Verein /ch/open | disapproval |
WAGNER AG Kirchberg | approval |
Wilhelm Tux (Verein) | disapproval |
Würgler Consulting | disapproval |
Zürcher Hochschule der Künste | disapproval |
Total of voting (75% majority) | 43 approval (75.4%); 14 disapproal (24.6%) |
mkdir -p builddir/foo
cp -r /boot builddir/foo
cd builddir
genisoimage -no-emul-boot -boot-load-size 4 -boot-info-table -r -b boot/grub/stage2_eltorito -o boot.iso foo
and now you are not yet up and running. It looks like it, but you have to adapt boot/grub/menu.lst to make it boot from cd.
First issue: boot fails with a “Error 29: Disk Write Error” - I wondered a bit and asked for help around and wondered a bit more why grub wanted to write to my harddrives in order to boot … finally solved it with help from the Super Grub Disk Page - it was the savedefault point of all my kernels. Removing that made it boot. So time to remove /boot and trust my cd.
Which was a wrong decision.
All my kernels had root=(hd0,0) so it kind of didn’t work. Changing this to root=(cd) did it - and removing (hd0,0) from my splashimage was also a bit nessesary.
So after this, rebuild the cd again with the genisoimage command mentioned above and now I am up and running completely.
And I of course have secretly marked the cd so evil people can’t replace it without me noticing it.
So what’s next step in my tinfoil covered world ? SELinux? something else? I guess you know how to make comments. Feel free.
/Sune
Sure... 2000 characters should be enough for a long description.). We finally used the following database (We used PostgreSQL, should work similar on other database systems):
CREATE TABLE packages
( package character varying (75) NOT NULL, source character varying (75),
priority character varying(10) NOT NULL, section character varying(20)
NOT NULL, installedsize integer NOT NULL, maintainer character
varying(150) NOT NULL, architecture character varying(4) NOT NULL,
version character varying(40) NOT NULL, depends character varying(5000),
conflicts character varying(5000), recommends character varying(5000),
suggests character varying(5000), enhances character varying(500),
predepends character varying(500), provides character varying(500),
replaces character varying(500), buildessential character varying(3),
essential character varying(3), filename character varying(200) NOT NULL,
md5sum character(33) NOT NULL, origin character varying(100), sha1
character(41) NOT NULL, sha256 character(65) NOT NULL, size integer NOT
NULL, tag character varying(1000), task character varying(400),
description text NOT NULL, longdescription character varying(30000),
CONSTRAINT pk PRIMARY KEY (package) );
.
Now that you've created a table, you need to fill it. Easiest method
is to use the COPYstatement, as follows:
copy packages
(package, source, priority, section, installedsize, maintainer, version,
depends, conflicts, recommends, suggests, enhances, predepends, replaces,
buildessential, essential, filename, md5sum, origin, sha1, sha256, size,
tag, task, description, longdescription) FROM '/path/to/your/csv-file'
DELIMETER ';' CSV;
.
You should now have a nice database to play with :)
Some examples... Which are the packages with the longest
longdescription?
debian_packages=> select package, length(longdescription) as length from packages order by length desc limit 5; package length ------------------------+-------- texlive-latex-extra 25337 texlive-fonts-extra 5719 emacs-goodies-el 4502 xbase-clients 4403 postgresql-contrib-7.4 4223 (5 rows)Or... Which maintainer have the most packages?
debian_packages=> select maintainer, count(*) as anzahl from packages group by maintainer order by anzahl desc limit 5; maintainer anzahl ------------------------------------------------------------------+-------- Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org> 465 Debian QA Group <packages@qa.debian.org> 458 Debian X Strike Force <debian-x@lists.debian.org> 274 Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org> 261 Daniel Baumann <daniel@debian.org> 255 (5 rows)Or... Is there a package, whose sha256-sum contains Meikes birthday?
debian_packages=> select package, sha256 from packages where sha256 like '%261081%'; package sha256 ------------------------------+------------------------------------------------------------------- libobject-realize-later-perl 5188126108146fc0b1328473125687fb388bd8d87f460e335952dbb1b66aa3d1 (1 row)And another goodie (We needed to alter the database several times, to make this package fit into it): Which is the package with the longest name?
debian_packages=> select package, length(package) from packages order by length(package) desc limit 1; package length ---------------------------------------------------------+-------- libmaypole-plugin-authentication-usersessioncookie-perl 55 (1 row)A lot of fun... and a lot of interesting facts to be discovered...
Next.