[conspire] No more GNU HP Minis
Carl Myers
cmyers at cmyers.org
Wed Nov 4 17:23:18 PST 2009
At the risk of jumping into this fiery discussion instead of crawling under the
smoke like I probably ought to - and having not read the entire thread, and only
skimmed part...
Why not just vote with your dollars and buy a System76 [1] machine? A friend of
mine recently got both a laptop and a desktop from them and their default Ubuntu
install was great (though as was suggested, he followed the common practice and
installed what he wanted "his way" anyways shortly after getting them).
It isn't about what the developer puts on the machine - they could come with
freedos for all I care. It is about supporting a company with your dollars that
supports linux (claims their hardware supports linux, and maybe even offers
support/drivers/whatever).
If you want to lament that HP is no longer a company you can vote on with your
dollars, than lament it. But so long as there is a suitable company selling
good products at a reasonable price, I am just happy there is SOMEONE worth
voting for. Better than real politics these days anyways =) Hardware is not
restricted to the two party system!
-Carl
[1] http://system76.com/
On Wed, Nov 04, 2009 at 01:40:33AM -0500, Ruben Safir wrote:
> Date: Wed, 4 Nov 2009 01:40:33 -0500
> From: Ruben Safir <ruben at mrbrklyn.com>
> To: Rick Moen <rick at linuxmafia.com>
> Cc: conspire at linuxmafia.com
> Subject: Re: [conspire] No more GNU HP Minis
>
> On Tue, Nov 03, 2009 at 08:52:39PM -0800, Rick Moen wrote:
> > Quoting Ruben Safir (ruben at mrbrklyn.com):
> >
> > > There was a discount for the non-MS HP Minis on the website...when they
> > > were available.
> >
> > And the models' details might have even been comparable -- but quite
> > often (with such manufacturers) there are differences in bundled
> > hardware, amount of RAM, size of HD/flash, etc., making the discount
> > illusory.
> >
> > > And yes - I know about the OEM deals in detail...worked on the topic ad
> > > nauseam with the Windows Refund Web site and movement..
> >
> > (You may recall that Nick, Don, and I basically _ran_ Windows Refund
> > Day -- with a lot of help on the day from people in various locations
> > such as Deirdre in Orange County -- and, when you read things on the Web
> > site, odds are it was either Nick or I who wrote it.)
> >
> > Anyway, if you understand the co-op marketing arrangement between
> > Microsoft and OEMs, it becomes a bit odd that you'd post outbursts like
> > "For the first time in a decade I just shelled out a MS tax for a
> > computer and it really ticks me off. Also, after 2 years of things
> > really looking up on the consumer end for GNU systems, we're back to
> > square one, or so it seems."
> >
> > That seems utterly clueless about the nature of Microsoft Marketing's
> > subsidy of OEM models with MS-Windows-with-other-code preloads, which
> > allows the manufacturer to hit price point in a way otherwise not
> > possible with the way the market it structured (and has been for a
> > decade-plus). Why would you think "things [are] really looking up"
> > when none of the fundamentals have changed?
> >
>
>
> Never wager on me being clueless. Its a bad wager. I never paid for the
> MS Tax, because I haven't. I just don't want to get into an
> argumententative conversation on this.
>
> There have been companies with simply no contract at all with MS and
> things were looking up because people were buying and offered options at
> discount for identical machines without windows.
>
> Having a truly enormous heavy weight corperation like HP spearheading
> GNU based systems at discounts and on their website was big step forward
> for the average consumer.
>
> But heading into Staples today it seems MS is doing their best to
> reverse that but offering $75 for each of the net computers that have
> been sold off of a new netbook, ACER or HP, and the market is now bare
> of GNU/Systems again for netbooks. Maybe you can get one from Dell, but
> Dells GNU offering have been BS IMO, hidden on their website, it just
> pisses me off. I don't even like Dells.
>
>
> Asus's run around MS really pissed them off.
>
> HP made their offerings front and center and you ***could*** order it
> with MS if you wanted but you had to add about $40 to the price. That
> was, in my experience, unique for a national brand.
>
> Walmat had the Microtel boxes available for a while but no longer...for
> a long time.
>
>
> > I really wonder if you actually understand how that works. I covered it
> > briefly in my 2001 interview by Sam Varghese, though I'm sure there are
> > better explanations elsewhere:
> > http://www.smh.com.au/articles/2002/12/26/1040511127721.html ("Are you
> > involved in the forthcoming refund day (January 23)?")
> >
> > I used to hear all of that same sort of endless kvetching from people
> > before, during, and after the Windows Refund Day stuff -- and they kept
> > acting surprised about various aspects of forced preloads. I kept
> > asking in return, _why_ were they surprised -- and explaining, yet again,
> > the market fundamentals.
> >
> >
> > > Nevertheless, I have a laptop without eth0,wifi or sound at the moment
> > > and need solutions. Everything I saw with the HP Minis had everything
> > > working, even with alien OSes on it like Ubuntu and Debian.
> >
> > Consider: If you had one of those preloads, you'd have no easy way of
> > knowning how it was done, and so you would find yourself in the lurch
> > the first time _you_ needed to install your system. And you _want_ that
> > situation?
>
>
> I usually give those systems about 2 months before I bucher them to my
> liking. The good thing is that I'm certain about all the hardware,
> especially with a laptop...or only really with a lap top since I but all
> my other machines Naked.
>
> >
> > Anyway, _you_ know how to research hardware support for particular
> > models' components, right? Since you didn't bother to say what _model_
> > of HP Mini you're talking about, it's not even yet possible for me to do
> > it for you, even if I had boundless time for the task.
> >
> > Also: Use lspci and lsusb to find out what chipsets you're talking
> > about, as your first step.
> >
> > > How do I create an install flash drive.
> >
> > Should I assume you mean Ubuntu? Again, you didn't say.
> > https://help.ubuntu.com/community/Installation/FromUSBStick
> >
>
> FWIW it is a HP Mini 110-1007NR with a broadcom bcm4310 USB controller
> and a Attansic ethernet controlls which I don't seem to have a kernel
> module for. I think there is an umbuntu distro for it, but I'm really
> trying to get openSUSE to work on it. Umbunto had a eeePC image for key drive
> that I didn't like. I somehow got a key installer for openSUSE 11.0 but
> with involed mkootdisk and syslinux...but I can't remember how I did
> this.
>
> mkbootdisk was a perl program that looked like this
>
> #! /usr/bin/perl
>
> # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> # - - -
> #
> # Create SUSE Linux boot disks.
> #
> # Original from OpenSuSE 10.2 boot image boot/i386/mkbootdisk
> #
> # 18th Jan 2007 Jari Turkia <jmjt at lut.fi> First version with
> # FAT32-support
> #
> # Try 'mkbootdisk --help' for a usage summary.
> #
> # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> # - - -
>
> use strict 'vars';
> use integer;
>
> %::ConfigData = ( full_product_name => "openSUSE 10.2" );
>
>
> # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> # - - -
> #
> # Parse command line and do something.
> #
> # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> # - - -
>
> use Getopt::Long;
>
> sub cleanup;
> sub dir_sort_func;
> sub dir_sort;
> sub help;
> sub unpack_bootlogo;
>
> my $opt_file = "./bootdisk";
> my $opt_verbose = 0;
> my $opt_src = undef;
> my $opt_64 = 0;
> my $opt_96 = 0;
> my $opt_keep = undef;
> my $opt_syslinux = -x "/usr/bin/mcopy" ? "/usr/bin/syslinux" :
> "/usr/bin/syslinux-nomtools";
> $opt_syslinux = "/usr/bin/syslinux-nomtools" if -x
> "/usr/bin/syslinux-nomtools";
> my $opt_disk = undef;
> my $opt_backup_mbr = undef;
>
> my ($boot_disks, $tmp_dir, $buf, $i);
>
> END { cleanup }
> $SIG{INT} = \&cleanup;
> $SIG{TERM} = \&cleanup;
>
> $ENV{PATH} = "/bin:/usr/bin:/sbin:/usr/sbin";
>
>
> chomp (my $arch = `uname -m`);
> $opt_64 = 1 if $arch eq 'x86_64';
>
> GetOptions(
> 'help|h' => \&help,
> 'verbose|v' => \$opt_verbose,
> 'out|o=s' => \$opt_file,
> '96' => sub { $opt_64 = 0; $opt_96 = 1 },
> '64' => sub { $opt_64 = 1; $opt_96 = 0 },
> '32' => sub { $opt_64 = 0; $opt_96 = 0 },
> 'keep' => \$opt_keep,
> 'syslinux=s' => \$opt_syslinux,
> 'partition=s' => \$opt_disk,
> 'backup-mbr=s' => \$opt_backup_mbr,
> );
>
> $opt_src = shift;
>
> help unless $opt_src && -d($opt_src);
>
> die "error: must be root to run this script\n" if $<;
>
> die "error: $opt_syslinux not found\nPlease install package \"syslinux\"
> first.\n" unless -f($opt_syslinux) && -x($opt_syslinux);
>
> chomp ($tmp_dir = `mktemp -d /tmp/mkbootdisk.XXXXXXXXXX`);
> die "error: mktemp failed\n" if $?;
>
> $arch = $opt_64 ? 'x86_64' : 'i386';
>
> my $src = "$opt_src/boot/$arch/loader";
> $opt_64 = $opt_96 = 0 if -f "$src/isolinux.cfg";
> $src = "$opt_src/boot/loader" unless -f "$src/isolinux.cfg";
> $src = "$opt_src/loader" unless -f "$src/isolinux.cfg";
> $src = $opt_src unless -f "$src/isolinux.cfg";
>
> die "$opt_src: no $arch installation source\n" unless -f
> "$src/isolinux.cfg";
>
> mkdir "$tmp_dir/src", 0755;
> mkdir "$tmp_dir/mp", 0755;
> system "cp -a '$src'/* $tmp_dir/src" and die "error: failed to copy boot
> loader files\n";
>
> $src = "$tmp_dir/src";
>
> # delete unnecessary files
> system "rm -f $tmp_dir/src/{*live*,directory.yast}";
> # system "rm -f $tmp_dir/src/{06400480,16001200}.spl";
> if(!$opt_96) {
> for my $f (<$src/*64>) {
> if($opt_64) {
> (my $s = $f) =~ s/64$//;
> rename $f, $s;
> }
> else {
> unlink $f;
> }
> }
> }
>
> # prepare syslinux config file
>
> open F, "$src/isolinux.cfg"; my @cfg = <F>; close F;
> open F, ">$src/syslinux.cfg"; print F @cfg; close F,
> unlink "$src/isolinux.cfg";
> unlink "$src/isolinux.bin";
>
> system "cp $opt_syslinux $src/ldlinux.sys" and die "error: no
> syslinux?\n";
>
> $boot_disks = 2;
>
> unlink "$src/ldlinux.sys";
>
> my $mp;
>
> # make (usb) disk bootable
>
> # mbr taken from makebootfat package
> my $new_mbr =
> "\xeb\x58\x90\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" .
> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\x31\xc0\x8e\xd8\x8e" .
> "\xc0\x8e\xd0\xbc\x00\x7c\xfb\xfc\x89\xe6\xbf\x00\x06\xb9\x00\x01" .
> "\xf3\xa5\xea\x77\x06\x00\x00\x88\x16\x00\x08\xbe\x9b\x07\xf6\xc2" .
> "\x80\x74\x03\xbe\x9f\x07\xe8\xc7\x00\xb4\x08\xcd\x13\x31\xc0\x88" .
> "\xf0\x40\xa3\x74\x07\x80\xe1\x3f\x88\x0e\x76\x07\xbe\xbe\x07\x31" .
> "\xc0\xb9\x04\x00\xf6\x04\x80\x74\x03\x40\x89\xf7\x83\xc6\x10\xe2" .
> "\xf3\x83\xf8\x01\x74\x03\xe9\x88\x00\x8a\x16\x00\x08\xb8\x00\x41" .
> "\xbb\xaa\x55\x31\xc9\x30\xf6\xf9\xcd\x13\x72\x2e\x81\xfb\x55\xaa" .
> "\x75\x28\xf6\xc1\x01\x74\x23\xbe\xa3\x07\xe8\x73\x00\x57\xbe\x64" .
> "\x07\x8b\x5d\x08\x89\x5c\x08\x8b\x5d\x0a\x89\x5c\x0a\x8a\x16\x00" .
> "\x08\x8c\xd8\x8e\xc0\xb8\x00\x42\xeb\x34\xbe\xa9\x07\xe8\x50\x00" .
> "\x57\x8b\x45\x08\x8b\x55\x0a\xf7\x36\x76\x07\x42\x89\xd1\x31\xd2" .
> "\xf7\x36\x74\x07\x88\xc5\xd1\xe8\xd1\xe8\x24\xc0\x08\xc1\x88\xd6" .
> "\x8a\x16\x00\x08\x8c\xd8\x8e\xc0\xbb\x00\x7c\xb8\x01\x02\xcd\x13" .
> "\x72\x16\x5e\x81\x3e\xfe\x7d\x55\xaa\x75\x08\xfa\xea\x00\x7c\x00" .
> "\x00\x77\x05\xbe\x78\x07\xeb\x03\xbe\x8e\x07\xe8\x02\x00\xeb\xfe" .
> "\xac\x20\xc0\x74\x0c\xb4\x0e\x8a\x3e\x62\x04\xb3\x07\xcd\x10\xeb" .
> "\xef\xc3\x00\x00\x10\x00\x01\x00\x00\x7c\x00\x00\x00\x00\x00\x00" .
> "\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x6f\x20\x6f\x70\x65\x72\x61" .
> "\x74\x69\x6e\x67\x20\x73\x79\x73\x74\x65\x6d\x0d\x0a\x00\x44\x69" .
> "\x73\x6b\x20\x65\x72\x72\x6f\x72\x0d\x0a\x00\x46\x44\x44\x00\x48" .
> "\x44\x44\x00\x20\x45\x42\x49\x4f\x53\x0d\x0a\x00";
>
> my $part = $opt_disk;
>
> $opt_disk =~ s/(\d+)$//;
> my $pn = $1;
>
> die "not a partition: $opt_disk\n" unless $pn ne "";
>
> $opt_disk =~ s/(?<=\d)p$//;
>
> print "disk $opt_disk, partition $part\n";
>
> die "sorry, must be a primary partition (number 1 - 4)\n" if $pn < 1
> || $pn > 4;
>
> my ($bpc, $fatsize);
>
> for (`fsck.vfat -v $part 2>/dev/null`) {
> if(/(\d+)\s+bytes\s+per\s+cluster/) {
> $bpc = $1;
> next;
> }
> if(/FATs,\s+(\d+)\s+bit\s+entries/) {
> $fatsize = $1;
> next;
> }
> }
>
> die "not a FAT file system\n" unless $bpc >= 512 && $fatsize >= 12;
>
> die "must be 32-bit FAT\n" unless $fatsize == 32;
>
> system "$opt_syslinux $part" and die "error: syslinux failed\n";
> # XXX
> # system "activate $opt_disk $pn" and die "error: activate failed\n";
>
> system "mount -tmsdos $part $tmp_dir/mp" and die "error: mount
> failed\n";
> $mp = "$tmp_dir/mp";
>
> for (dir_sort $src) {
> if($_ ne 'bootlogo') {
> system "cp -r $src/$_ $mp" and die "error: copy failed\n";
> }
> else {
> for my $i (unpack_bootlogo $src) {
> system "cp -r $src/$i $mp" and die "error: copy failed\n";
> }
> }
> }
>
> system "umount $mp" and die "error: umount failed\n";
> undef $mp;
>
> if($opt_backup_mbr) {
> my $backup;
> open F, "$opt_disk";
> sysread F, $backup, 0x200;
> close F;
>
> die "mbr backup failed\n" unless length($backup) == 0x200;
>
> open W, ">$opt_backup_mbr" or die "$opt_backup_mbr: $!\n";
> die "mbr backup failed\n" unless syswrite(W, $backup) == 0x200;
> close W;
> }
>
> open W, ">$opt_disk" or die "$opt_disk: $!\n";
> die "writing mbr failed\n" unless syswrite(W, $new_mbr) ==
> length($new_mbr);
> close W;
>
> # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> # - - -
> #
> # Unmount image and remove temorary files.
> #
> sub cleanup
> {
> system "umount $mp" if $mp;
> undef $mp;
> system "rm -r $tmp_dir" if ! $opt_keep && -d "$tmp_dir";
> undef $tmp_dir;
> }
>
>
> # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> # - - -
> #
> # Sorting function to ensure files are written in the correct order.
> #
> sub dir_sort_func
> {
> my ($wa, $wb, $i, $p, $r);
>
> $p = 2;
> for $i qw ( .*\.spl initrd64 linux64 initrd linux memtest bootlogo
> message .*\.cfg ) {
> if($i eq 'bootlogo') {
> $r = $p;
> $p <<= 1;
> }
> $wa = $p if $a =~ /^$i$/;
> $wb = $p if $b =~ /^$i$/;
> $p <<= 1;
> }
>
> $wa = $r unless $wa;
> $wb = $r unless $wb;
>
> return $wb - $wa + ($a cmp $b);
> }
>
>
> # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> # - - -
> #
> # Sort directory.
> #
> sub dir_sort
> {
> my ($i, $size, @dir);
>
> opendir D, shift;
> @dir = grep { !/^\./ } readdir D;
> closedir D;
>
> return ( sort dir_sort_func @dir );
> }
>
>
> # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> # - - -
> sub help
> {
> (my $p = $0) =~ s:.*/::;
>
> print STDERR
> "Usage: $p [options] cd_mount_point\n" .
> "Create boot disk images from SUSE Linux DVD or CD1 or make (USB) disk
> bootable.\n" .
> "Options:\n" .
> " --out file\t\twrite disks as fileN (default: bootdisk)\n" .
> " --32\t\t\tcreate boot disks for 32 bit arch\n" .
> " --64\t\t\tcreate boot disks for 64 bit arch\n" .
> " --partition device\tmake this disk with this partition bootable\n"
> .
> " --backup-mbr file\tsave mbr to file\n" .
> "Examples:\n" .
> " $p /media/cdrom\n" .
> " - write boot disks as bootdisk1 ... bootdiskN (N is approx. 8)\n" .
> " $p --64 --out foo /media/cdrom\n" .
> " - write 64 bit boot disks as foo1 ... fooN\n" .
> " $p --partition /dev/sdb1 --backup-mbr mbr_old /media/cdrom\n" .
> " - copy install files to /dev/sdb1 and write new mbr to /dev/sdb\n";
>
> exit 0;
> }
>
> # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> # - - -
> sub unpack_bootlogo
> {
> my ($dir, $tmp, $files, @files, @ext);
> local $_;
>
> $dir = shift;
> $tmp = "$dir/bootlogo.unpacked";
>
> mkdir "$tmp", 0755;
>
> @files = `cpio --quiet -t <$dir/bootlogo`;
>
> system "cd $tmp; cpio --quiet -i <../bootlogo";
>
> for (@files) {
> chomp;
> if(-k("$tmp/$_") && ! -l("$tmp/$_")) {
> push @ext, $_;
> undef $_;
> }
> }
>
> open P, "| cd $tmp; cpio --quiet -o >../bootlogo";
> print P "$_\n" for grep $_, @files;
> close P;
>
> system "mv $tmp/$_ $dir" for @ext;
>
> return ( 'bootlogo', @ext );
> }
>
>
> I think I might have modified it.
>
> Ruben
>
> > _______________________________________________
> > conspire mailing list
> > conspire at linuxmafia.com
> > http://linuxmafia.com/mailman/listinfo/conspire
>
> --
> http://www.mrbrklyn.com - Interesting Stuff
> http://www.nylxs.com - Leadership Development in Free Software
>
> So many immigrant groups have swept through our town that Brooklyn, like Atlantis, reaches mythological proportions in the mind of the world - RI Safir 1998
>
> http://fairuse.nylxs.com DRM is THEFT - We are the STAKEHOLDERS - RI Safir 2002
>
> "Yeah - I write Free Software...so SUE ME"
>
> "The tremendous problem we face is that we are becoming sharecroppers to our own cultural heritage -- we need the ability to participate in our own society."
>
> "> I'm an engineer. I choose the best tool for the job, politics be damned.<
> You must be a stupid engineer then, because politcs and technology have been attached at the hip since the 1st dynasty in Ancient Egypt. I guess you missed that one."
>
> © Copyright for the Digital Millennium
>
> _______________________________________________
> conspire mailing list
> conspire at linuxmafia.com
> http://linuxmafia.com/mailman/listinfo/conspire
--
Carl Myers
PGP Key ID 3537595B
PGP Key fingerprint 9365 0FAF 721B 992A 0A20 1E0D C795 2955 3537 595B
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://linuxmafia.com/pipermail/conspire/attachments/20091104/828aab9d/attachment.pgp>
More information about the conspire
mailing list