FreeBSD Pi

This is, hopefully, my last OS Variety Exploration du jour for a while. I think I’ve tested most of the “likely candidates” and need to move on to actually building something from one of them.

In this case, it is NOT a Linux. BSD is the Great Grandparent of Linux, via an affair with a stranger… There is a strong family resemblance, but everyone swears Linux is not derived of Unix… so is free and unencumbered by prior legal entanglements. FreeBSD, however, is a direct child of Unix. In the beginning, AT&T used “version numbers” and one of them, Version 7, was used by Berkeley to make the Berkeley Software Distribution, or BSD. Since, at the time, AT&T was forbidden by law to make money off of anything but telco service, it gave BSD a sweetheart license that let them issue on licenses to others. ALL BSD variations stem directly from that one Version 7 license.

Years later when AT&T was broken up and allowed to make money other ways, it tried to regain some kind of control of Unix via a load of (IMHO) gratuitous changes to form and function (largely, again IMHO, making it bigger, bloatier, and worse…) and even changed from “Versions” to “Systems” and called it “System V” (since System Buggerall One isn’t very catchy…) Yes, I know there were other “system” numbers used inside AT&T, but this isn’t a full on history of Unix versions class…

That is why for the “init” method that starts all other processes running, the world mostly divided into BSD style (rc.d files) and System V Init (init.d files) distributions. Lately, Red Hat has decided to make something called systemd for system daemon that replaces init. Not really an issue… except… they extended it as a giant layer between most all of userland and the OS that has tentacles into everything, is a PITA to use and configure, is a giant “attack surface” for hackers, and when someone finds a bug or hole in it, your whole system is toast for a few months until someone at Red Hat figures out a patch ’cause nobody else will be able to learn the Giant Blob overnight… Oh, and via gratuitously changing just about every common configuration file, command, and log makes “everything you know is wrong” happen. Thus my quest for a replacement for all the Linux releases that run off to SystemD Land.. (so far including: Debian, Raspbian, Ubuntu, Red Hat (Fedors, Centos, etc.), Arch and a few others I rarely use.)

As you might guess, BSD continues to happily use the BSD style rc.d files… And everything I know continues to work.

OpenBSD is in many ways the worlds best security operating system. So much so, in fact, they don’t want to port to the Raspberry Pi. Why? Because the boot loader is a ‘binary blob’ that gets loaded to the GPU where it proceeds to load the rest of the Operating System to regular memory and the regular CPU. It then hangs around as it runs the GPU. It is, theoretically, possible to hack that code so that it became an entry point for things like reading and changing memory. I’m relatively OK with that as it is a highly unlikely target for ‘serious folks’, but they are correct that an exploit could be done that way. (So check the SHA code on any Raspberry Pi boot loader downloads). That is also why I have said “good enough for a home user but don’t bet your company on it or use it if you have TLAs after you”. (Three Letter Agencies…). For that, you want OpenBSD supported hardware. (Cubieboard / Cubietruck are supported IIRC). I’d rather have a UK origin and binary bootloader blob than China sourced and no blob, but that’s just me… not the OpenBSD folks who are Industrial Strength Paranoid (since that is their job, and their day job, and their life, and… OpenBSD is what I would use for any strongly security enhanced system and is the base that China used for their Kylin system). So no OpenBSD on the Pi, but FreeBSD is less obtuse and did make a port.

So I installed FreeBSD.

The install itself is nearly trivial. Go here and download the SD card image:

ftp://ftp.freebsd.org/pub/FreeBSD/snapshots/arm/armv6/ISO-IMAGES/11.0/

The one I downloaded was the most recent:

FreeBSD-11.0-CURRENT-arm-armv6-RPI2-20160429-r298793.img.xz
	160006 KB 	04/30/16 	06:42:00

After the download you unpack it (on a linux box) with

unxz FreeBSD-11.0-CURRENT-arm-armv6-RPI2-20160429-r298793.img.xz

Then just put an empty SD card in a reader / hub ( I use a $10 Targus from Walmart) and do a dd to it.

dd  if=FreeBSD-11.0-CURRENT-arm-armv6-RPI2-20160429-r298793.img of=/dev/sd{letter} bs=1M

The bs=1M sets the block size to read and write to 1 MB so it goes a bit faster. Other sizes also work. The {letter} gets replaced with whatever drive letter was assigned to your SD card on insertion. For mine it was ‘/dev/sdb’. Note: that is NOT a partition number like /dev/sdb1 but the whole device. Any partitions get wiped out and the partitions from the image get put on. One MS type boot partition and one UFS Unix File System with the OS in it. It ends up about a 1/2 GB IIRC in a 900 MB partition.

That’s it. Stick it in the Pi and boot. It automagically resizes that partition to use the rest of the chip. I wasted time inspecting it before and after with gparted (though I didn’t change any partitions since gparted on linux didn’t understand UFS and I didn’t know if an ext type partition would be easy to use under BSD without adding software.).

At boot, lots of stuff is detected including my USB optical mouse. Basically, it booted cleanly into a text terminal presentation with a mouse cursor (that didn’t seem to do anything as it was not a windowing system…)

At that point I reached the usual Oh Gak! moment where I need to install X-windows. At that point it looked like X is in something called “ports”. BSD has a nice “ports” system that has grown up over the decades with LOTS of added software. So I thought “Heck, I’ll just adds the ports stuff and then deal with X”… Three hours later it finished installing ports… there’s somewhere north of 26,000 of them… Now my ‘chip’ is at 1.7 GB of fullness, and that’s not all of the stuff, just the ports make tree part. (It says that the source code is fetched as needed, so this is just the recipes to make stuff…). It likely would have gone faster, but I was using a very slow chip. Class 4. (I tend to reuse old slow chips for experimental things, then move them to newer faster more expensive chips if they are “keepers”. This was a 4 GB class 4 cheap slow Sandisk chip… so writing 3/4 GB of small files would be very time expensive. In the future I’m likely to use a Ultra Class 10 chip, or put things on a real USB hard disk…)

I ran into the usual clock issue when I went to build the ports collection (it refused due to date being way wrong). Doing

ntpd -gq

gets the right time set (if more than 1000 seconds off, net time protocol daemon will not do the adjusting, unless you insist with those flags). Then add ntpd_enable=”yes” in /etc/rc.conf and do a “service ntpd start” to keep it running.

The package manager is named ‘pkg’. Initially it isn’t installed or set up. To do that you type, well “pkg”… which finds it isn’t there and installs itself… There’s a reason I like BSD…

You can then audit your software for any known security issues. This is very fast.

pkg audit -F

Yeah, that’s ALL it takes to find out if every package is up to current rev for security patches.
Nice, eh?

There’s a reason all sorts of pro shops run BSD…

To get the ports listings, you first fetch them then unpack them. The fetch is:

portsnap fetch

the “automatic verification” step of this command took a long time with little feedback, about 5 minutes on my network. Slower on slower networks I’d guess.

It then does “automatic patching” of all the builds in the package.
No being one security patch behind here…

After that, I figured I’d just do the extract and then proceed directly to X install / config.

3 hours later the decompress / extract / write 26,000 files… completed.

At this point, in theory, I can cd to any directory in /usr/ports, type “make install” and that package just gets built and is installed. All I have to do now is decide which of 26,000 things to install… (Really only a few hundred need decisions as many of the others are sub-modules or dependencies).

OK, since I’ve been at this about 6 hours now, I’m not going to install and configure X today. I have other things to get out of the way. But overall my experience with FreeBSD was one of a fond remembrance of BSD and things just “being right”. We’ll see if they have fixed any of the “user hostile” aspects of an X install and made it “fit for normal humans”, or if I’m going to use it for hardened servers but look elsewhere for the user friendly build system.

Oh, also I noticed that the image has v6 in it, but the Model 2 is v7. IIRC, the v7 can run v6 instruction set, so OK; but I think a custom build with the v7 instruction set, full hard float math, and NEON support would likely be faster. OTOH, this one was never taxed at all (likely due to not running X yet ;-)

So that v6 / v7 issues speaks to a “young port” of the kernel, but the ports package library size is a very old port story… some of each world.

Sometime in the next few days I’ll give a shot at X, try building and installing a few generic packages, and generally see what’s changed in the 15 years since I last used one of these… My first impression is that they have polished off a lot of the rough edges while sticking with the style of “you are done when there is nothing left to remove”… A clean and tidy world of things all “just so”…

(Rosy glasses to be broken on X install… but not, I think, today ;-)

Useful Stuff

https://www.freebsd.org/ports/

The FreeBSD Ports and Packages Collection offers a simple way for users and administrators to install applications. There are currently 26057 ports available.

The Ports Collection supports the latest release on the FreeBSD-CURRENT and FreeBSD-STABLE branches. Older releases are not supported and may or may not work correctly with an up-to-date ports collection. Over time, changes to the ports collection may rely on features that are not present in older releases. Wherever convenient, we try not to gratuitously break support for recent releases, but it is sometimes unavoidable. When this occurs, patches contributed by the user community to maintain support for older releases will usually be committed.

Each “port” listed here contains any patches necessary to make the original application source code compile and run on FreeBSD. Installing an application is as simple as typing make install in the port directory. If you download the framework for the entire list of ports by installing the ports hierarchy, you can have thousands of applications right at your fingertips.

Each port’s Makefile automatically fetches the application source code, either from a local disk, CD-ROM or via ftp, unpacks it on your system, applies the patches, and compiles. If all went well, a simple make install will install the application and register it with the package system.

For most ports, a precompiled package also exists, saving the user the work and time of having to compile anything at all. Use pkg install to securely download and install the precompiled version of a port. For more information see Using pkg for Binary Package Management

https://www.freebsd.org/doc/handbook/ports-using.html

4.5. Using the Ports Collection

The Ports Collection is a set of Makefiles, patches, and description files stored in /usr/ports. This set of files is used to compile and install applications on FreeBSD. Before an application can be compiled using a port, the Ports Collection must first be installed. If it was not installed during the installation of FreeBSD, use one of the following methods to install it:
Procedure 4.1. Portsnap Method

The base system of FreeBSD includes Portsnap. This is a fast and user-friendly tool for retrieving the Ports Collection and is the recommended choice for most users. This utility connects to a FreeBSD site, verifies the secure key, and downloads a new copy of the Ports Collection. The key is used to verify the integrity of all downloaded files.
[…]

One can also get full source code and more via FTP servers located around the globe…

https://www.freebsd.org/doc/handbook/updating-upgrading.html

Chapter 23. Updating and Upgrading FreeBSD
Restructured, reorganized, and parts updated by Jim Mock.
Original work by Jordan Hubbard, Poul-Henning Kamp, John Polstra and Nik Clayton.
Table of Contents

23.1. Synopsis
23.2. FreeBSD Update
23.3. Updating the Documentation Set
23.4. Tracking a Development Branch
23.5. Synchronizing Source
23.6. Rebuilding World
23.7. Tracking for Multiple Machines

23.1. Synopsis

FreeBSD is under constant development between releases. Some people prefer to use the officially released versions, while others prefer to keep in sync with the latest developments. However, even official releases are often updated with security and other critical fixes. Regardless of the version used, FreeBSD provides all the necessary tools to keep the system updated, and allows for easy upgrades between versions. This chapter describes how to track the development system and the basic tools for keeping a FreeBSD system up-to-date.

https://www.freebsd.org/doc/handbook/mirrors.html

Appendix A. Obtaining FreeBSD
Table of Contents

A.1. CD and DVD Sets
A.2. FTP Sites
A.3. Using Subversion
A.4. Using rsync
[…]
A.2. FTP Sites

The official sources for FreeBSD are available via anonymous FTP from a worldwide set of mirror sites. The site ftp://ftp.FreeBSD.org/pub/FreeBSD/ is available via HTTP and FTP. It is made up of many machines operated by the project cluster administrators and behind GeoDNS to direct users to the closest available mirror.

Additionally, FreeBSD is available via anonymous FTP from the following mirror sites. When obtaining FreeBSD via anonymous FTP, please try to use a nearby site. The mirror sites listed as “Primary Mirror Sites” typically have the entire FreeBSD archive (all the currently available versions for each of the architectures) but faster download speeds are probably available from a site that is in your country or region. The regional sites carry the most recent versions for the most popular architecture(s) but might not carry the entire FreeBSD archive. All sites provide access via anonymous FTP but some sites also provide access via other methods. The access methods available for each site are provided in parentheses after the hostname.

Central Servers, Primary Mirror Sites, Armenia, Australia, Austria, Brazil, Canada, China, Czech Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hong Kong, Ireland, Japan, Korea, Latvia, Lithuania, Netherlands, New Zealand, Norway, Poland, Russia, Saudi Arabia, Slovenia, South Africa, Spain, Sweden, Switzerland, Taiwan, Ukraine, United Kingdom, USA.

Every country name a link in the original…

Subscribe to feed

About E.M.Smith

A technical managerial sort interested in things from Stonehenge to computer science. My present "hot buttons' are the mythology of Climate Change and ancient metrology; but things change...
This entry was posted in Tech Bits and tagged , , , , . Bookmark the permalink.

40 Responses to FreeBSD Pi

  1. E.M.Smith says:

    Mighty impressed with the ports system. To install Xorg, and anything it depends upon, you just cd to the /usr/ports…/xorg directory and type “make install”…

    Did that about 1 1/2 hours ago and it occasionally gives me a panel to choose options, but mostly just cranks. Installed “clang” (a special C compiler) and Python, along with some docs handling programs just because they are used to build xorg. Nice.

    This is the build system I was looking for in the Linux systems. Complex enough to get ‘er done, but clean enough to need almost nothing from the operator…

    Someone ought to port the ports system to LFS 8-)

  2. p.g.sharrow says:

    When I first examined Linux and X-windows back in the late 1980s, it looked wonderful but it did nothing useful for me so I dropped it.
    The question I see, is what OS will be secure, has a good library of useful applications, Makes efficient use of the hardware, Has a stable user/ maintainer base.
    For the needs I foresee, Fancy hand holding GUIs are not needed and the users should have some idea about how the thing works. You and I have some grasp on how the auto we use works and can do some amount of work on it to keep it operating. My Lady and her son only know how to put fuel in it, nothing else! If I don’t check on it they will drive until it fails.
    For you, Unix and Linux are old friends. For me, I’m tired of fighting Microsoft over control of my desktop. I also look for a long term solution to the needs that I foresee of data management, process control, and communications on a system that makes efficient use of resources and is as secure as is manageable with trained people using it. It appears that you are in pursuit of the same thing.
    The RasPi is a good experimental tool for the “Beer Can” concept but may not be the best solution, we shall see. There does seem to be a large base of enthusiastic users in all the right fields and the foundation that builds it seems to be committed to their concept of a training tool for hardware / software development. The FreeBSD organization seems to have plenty of applications to chose from…pg

  3. E.M.Smith says:

    The various Pi Like and Cubie Like boards are much more alike than different. Anything done on one can be done on the other, modulo speed and porting..

    With that said, I have many uses, all doable with the Pi or clones of it except large vector unit for DIY climate model runs. That will take the Nvidia board (someday).

    My current sweep through to OS choices is largely just to get my experience current across them, then pick one.

    The reality is that any one will do the job. All that changes is how much work to get there (and marginal performance shift obsoleted in a year with the next faster board…)

    All the major Linux releases are “secure enough” as long as TLAs are not your enemy, and no computer is enough protection if TLAs want you… (see Gitmo and drones use…) Thus my using any of Debian, Fedora, Ubuntu, Arch, etc on any given day.

    So I see no percentage in waiting for the One True Savior OS. Just start now with any of them. It is easy to change later as desired. Put your home directory on a USB drive and it is as fast as unplug replug.

    With that said, my preference is for more speed, more security, more software choices, and more reliability. Given that, I lean toward things where I can control the build and the source code..

    One example: This FreeBSD port looks wonderfully full featured and secure. Yet watching the build happen, things are compiled with swfloat set, not hwfloat. It is ignoring the extant hardware floating point, using general purpose CPU cycles and software instead. Simply changing those compile setting (and debugging…) can get a big speedup. Adding use flags for NEON vector instruction would speed up video and sound a lot more.

    So by “rolling my own” I can fix some of those lazy design choices in any given port…

    Per Xwindows: I use windows a lot. I often have 4 panels open by default. System monitor, top command, browser, active terminal (sys maint, building, whatever). Sometimes I have 3 or 4 things running in various build windows… Right now, doing the X install, it is very annoying that I don’t have performance data in a window… Could I build Clang and Python in parrallel in two windows? No idea…

    Since X runs on everything, it will be running on the final target system… But since it can be a pain to build and configure, I’m not going to do that on 4 systems I then walk away from… Thus the rapid protype explore and faster decision cycle with richer outcome…

    OOPS! The 4 GB chip just filled up on the perl build… Looks like FreeBSD really wants a fat chip… I’ve got a 32 GB Class 10 sitting here, so I think I need to copy over to it and restart the X build… Back later…

  4. p.g.sharrow says:

    Building foundations seems to take forever with little to show for all the work. Sounds like you have most of the digging done and have started selecting and stacking stones ;-) I suppose if you are going to load everything including the kitchen sink you are going to need more space to work in. Lol
    Locating and organizing your tools where you can easily grab them makes the job go smoother with less errors and do-overs. X-windows as the floor to work on over the foundations is a “Have to have” interface for humans to work with. Naked Command Line is too confusing for most of us to deal with and get real work done. My computer is an intellectual tool that Should improve my productivity rather then be a time and money drain of constant “upgrades” dictated by corporate greed.
    The only path to a “One True Savior OS” is if you build it to satisfy yourself, on your own time. Anything else is a compromise with the guy paying the bills and the demands of a due date. Real art takes time and a lot of redoes, It’s done when it is done. I have waited 40 years, so what is a few more! In 1976 a desk top was a cool toy and not much else. Today it fits in your hand and is everywhere as a fundamental part of our civilization. The most AWESOME creation of the human race to date !
    Must get down from this soap box and put on some clothes and start my work day…pg

  5. gallopingcamel says:

    As a “Hardware Guy” I found it easy to write programs in assembler. The commands are simple to learn and understand as they take direct control of ports, memory locations etc. It is truly amazing what can be achieved with 128 bytes of RAM and 4,000 bytes of EEPROM when you have an efficient OS like MIKBUG.

    That was 30 years ago……………..today nobody cares about the efficient use of resources. Now it is all about elaborate operating systems with GUIs and “High Level Languages”. That kind of stuff is above my pay grade so I rely on folks like Chiefio to point me in the right direction.

  6. E.M.Smith says:

    @G.C.:

    I also find assembly easy to code. FORTH is about as close as you can get while being a formal language (runs on a virtual stack machine, so like programming assembly in a stack world, but with reentant and reusable modules by design). At some point, you write an actual assembly primative for a basic function (or the FORTH implementer did) after that, you write definitions of new words using any prior words or primatives. Elegant, really…

    Most of what I do is scripting. BASH, SH, KSH, CSH, etc. are also threaded interpreted languages like FORTH, but minus the Reverse Polish Notation, stack machine, and assembly. IMHO, getting good at scripting buys the most the fastest. After that, it is FORTH or C depending on context. C if doing Unix Linux stuff, FORTH for gizmos and robotics. ONLY if you really have some need for it, all the others. (FORTRAN is very easy and great for math analysis and fixed format data, so one I use. Perl, Ruby, Python etc. new and trendy, but a PITA in some ways, though Perl lets you do cool stuff easy once you get it I have little use for any of the object oriented languages. (C#, C++, etc., etc.) Yes, I get them, and I’ve used them. I have a historical fondness for Algol… COBOL ought to be avoided at all costs along with RPG and APL. Honorary mention for ADA as a D.O.D. special use language and PL/1 in which you can write a half dozen other stlyes if desired (when doing maintenance on PL/1 you can see what language the programmer learned first.. FORTRAN, COBOL, Pascal, etc. as it lets you write almost like that if desired. The compiler is a bitch though…)

    There are litterally hundreds of languages, most of them pointless mental masturbatory exercises by their authors, IMHO. Frankly, most of what people need to do can be done in BASIC. (At one time I wrote accounting programs in it… the employers choice, not mine, but not hard to do either. HP Business BASIC was both interpreted and compiled, had subroutines, functions, and more. Nice, really… Used with HP Image and Query to drive a database…)

  7. E.M.Smith says:

    @P.G.:

    An apt analogy.

    Extending it: The temporary construction trailer is Debian, and I set up a workshed in Arch. Now we’re ordering tools and materials to be used and inspecting samples from vendors while the trenching and form work is done and final discussions by the workchief and architect are happening (“Uhh… do you really mean to run the electrical next to the sewer ? Oh, you meant in a conduit but thought it implied… and that roof design has an implied top beam?)

    That last bit is based on a real event. Friend adding a garage. Constuction boss taliking to Achitect.. Asking about the missing roof top beam in the drawings…

  8. E.M.Smith says:

    Well, I got everything moved to the new chip and the build is continuing….

    It is educational in its own way as it illustrates the dependencies. Right now it is building Perl. That build checks for a whole lot of libraries and decides how to build itself. Clearly building more libraries earlier would let it make a better optimized build… so one wonders what would build those bits? (So far most dependency trees just got built, Perl is building without some choices, using second choices, rather than build those missing bits. Interesting…)

    This kind of thing often shows up in tool chain builds, where first you make a rough or limited version to build the needed parts, then later do a full rebuild to bring in the elegant faster bits…

  9. E.M.Smith says:

    2 days later…. (one from last comment)…

    The build grinds on.

    It is now building ‘clang’ the non-GNU C compiler. Step 1546 of 3536 LLVMHexagonCodeGen….blah blah. It has been running about 12 hours now on clang. Seems that Xorg uses all sorts of different languages: perl, ruby, python, clang, bison (technically not a language but a compiler compiler, yet they take a language description in their own form) and maybe more. So those all get built in order to build X.

    This is tying up my main posting box AND the monitor on it, that is also needed for the alternate posting box, the Chromebox… so later I’ll be firng up the Evo as 3rd level fall back. It doesn’t need the HDMI monitor as it uses the old style plugs. (posting comments via hunt & peck on the tablet touch screen is painful enough, posting articles near impossible…)

    Last evening, I had a build fail in LLVM (back end to clang). I had the bright idea to ‘click a box’ in the config questions panel. Something about doing a class of regressions or some such. Turns out that module was busted, so failed build… Eventually I found the llvm directory under ports/devel since it is in development… doing a ‘make clean’ and ‘make config’ then NOT clicking that box, made all well again. So for now I’m just taking defaults.

    I am finding out why so many distributions are now binary packages, not source builds… One core on a Pi takes a while… and it is still in the “building the tools to build the tools” pass..

  10. E.M.Smith says:

    Gee… only 24 hours or so after the “clang / llvm” build was started, it has completed…

    During that time I was reading the FreeBSD Ports make docs. It implies that -j4 can be readily used so as to use all four cores. I’m going to try it. Other builds advise against that since one core might not be done with something the next one needs… but I suspect the FreeBSD system is smart enough to know about those cases and avoid a race condition…

    Also found that make takes a couple of other odd commands. “config-recursive” and “fetch-recursive” IIRC that will let you batch up all the fetches or all the configs (that ask you questions in panels…) and get them out of the way. I’m going to play with that, too. It would be nice to do the config on some large chunk and then know I can just let it compile for a couple of days without popping up a window at 3 am asking me a config question that doesn’t get answered for 9 hours… Also, in the future that pre-fetch will matter. That would mean folks on slow wires could take a system to, say, the library, and pre-fetch a load of stuff, then at home let it ‘make’ for a few days…

    I’ve now used a bit under 6 GB with the major compilation tools built, but no X yet. I am not doing “make clean” so the tar blobs and .o files (object files) are hanging around. I’m doing this deliberately so any ‘restart’ doesn’t need to start over from zero, and since I want to know how big a system is when all the sources are kept too…and you are in the middle of a build ‘world’…

    OK, back to the Pi to do more builds of more chunks of the ports tree in more interesting ways ;-)

  11. E.M.Smith says:

    well, “make -j4 install” failed (but was nice enough to state it had found sync issues so halted.)

    one presumes you must do all the steps up to “make build” as no jobs, then only the compile/ build step with -j4, then install…

    Oh Well. I think I’ll just go back to “make install” and letting it run while I sleep ;-)

  12. E.M.Smith says:

    Just timestamping…. Right after the above, I typed (in the xorg directory of ports):
    make fetch-recursive
    and after pages and pages of fetches, it has now completed.

  13. E.M.Smith says:

    Another time stamp… After “make config-recursive” and clicking a few dozen menu pages of “OK” to the defaults… I now ought to be able to type “make install” and go away until xorg is complied and installed, or dies for some reason…

    With luck, sometime tomorrow, I’ll have X-windows running ;-)

  14. E.M.Smith says:

    Well, about 4 hours ago the build of Xorg completed… Now I get to see what all works ;-)

  15. E.M.Smith says:

    Well, a simple “startx” results in a complaint about the “display name” and failure to work. Looks like either a load of configuration stuff to do, or something not right in the build. Since getting a cranky X-windows to work can take days… I’m going to set FreeBSD aside for a day or two and catch up on other things before plunging back into the whole X thing again. (I’ve already got a few days into it, so time for a break…)

    Besides, I’ve now got 65 tabs open in FireFox on the tablet as posting ideas have stacked up ;-)

  16. Larry Ledwick says:

    Sometimes walking away for a bit is the fastest way to solve a problem. I can’t count the times I took a break and minutes later while taking a walk outside the building, suddenly realized what was probably going on.

  17. E.M.Smith says:

    Yup. In this case the error message tells what is wrong (it doesn’t like the display type). What’s unclear is how much it will take to “fix it”. It might be as simple as building a .xinitrc file (model in hand from a web page) or it might be as “icky” as rebuiding the kernal to add a missing bit of driver code and / or rebuilding xorg for the same reason… and on Memorial Day I’m just more interested in a bit of “sun time” with a cool beverage than continuing to sit at a terminal in the dark ;-)

    So yeah, “take a break” for “attitude adjustment” and I’ll likely ponder it a bit while admiring the sunshine (that I have!) and warmth… or maybe I’ll just take a nap in the hammock ;-)

  18. Larry Ledwick says:

    If your lucky it is something like setting the TERM variable TERM=xterm or some such, hope it is the simple solution.

  19. Regis Llanfar says:

    My guess is it might be DISPLAY… one of those stupor errors you forget about after days of compiles…

  20. Gail Combs says:

    Since I am ‘Computer challenged and computer illiterate’ I just read the comments and bug hubby to scan the article if it looks interesting.

    That said I find it completely jaw-dropping that Hillary insisted on using a blackberry because ‘she couldn’t read her e-mails on a computer’ and insisted on a private server because she did not want to bother with the passwords on the government server. Also that Lewis Lukens, former deputy assistant secretary of state and executive director of the State Department’s executive secretariat was not trained in security, or FOIA and as the person in charge of setting-up the office for Hitlery made ZERO attempt to make sure Hillary and Huma used government equipment (computers and blackberrys) so as NOT to compromise the security of the USA. The idiot even sent US Docs to his yahoo mail so he could then print a hard copy while oveseas!!!

    Judicial Watch released the deposition transcript. http://www.scribd.com/doc/314117761

    Remember this is the SAME Hitlery who managed to lose 1 million subpoenaed e-mails due to a “glitch” in a West Wing computer server in 1999.

    http://nypost.com/2016/05/29/hillary-has-been-burying-emails-since-she-was-first-lady/

    I would really like you guys to look at this mess and tell me if you also smell a big stinking rat and it looks like the Puppet Masters are giving Hitlery the Heave-Ho.

    Given all the dirty linen peaking out from under the carpet, the next few months should be interesting if they try to rid themselves of Hitlery. Perhaps that is why a Huma, a Muslim Brotherhood operative is sticing close to Hitlery. Those heart attacks are so very very useful. (Huma allegedly sleeps in the same hotel room with Hillary each night.)

    Huma Abedin is supposedly Sunni (Saudi Arabian) and Valerie Jarrett is supposedly an Iranian Shiite. Interesting times

    ……………

    Oh, I am capable of using a password and sending an e-mail from a computer so I really find it hard to understand why anyone would vote for a President incapable of using passwords. Do you really want her finger on the button?

  21. Larry Ledwick says:

    I would really like you guys to look at this mess and tell me if you also smell a big stinking rat and it looks like the Puppet Masters are giving Hitlery the Heave-Ho.

    Well having worked in a help desk environment, never underestimate the ability of users to do astonishingly stupid things. If you can imagine it – it has been done (several times), and the things you can’t imagine anyone being stupid or clueless enough to do? Well those have been done a few times too.

    That said with some personalities, you begin to see a pattern, and I am inclined to assume the worst with that group. If there is a sinister explanation for a behavior, with her group it is probably safest to assume that is the explanation.

    In her case with email in government it has been common knowledge for 20+ years that some things are just not written down, to avoid FOIA discovery. That was before the FOIA process got so corrupt that they forgot to look at backup tapes or failed to do comprehensive searches for documents. There are so many tell tales of bad faith and back room manipulation there is simply no doubt that there is a major (probably multiple) easter eggs in her emails which have not yet been found.

    We already know that she had top secret level intelligence from special access programs provided to her by an outside source who was not even currently in the government. No one is even asking the obvious question who told this little bird this highly classified info in almost real time?

    The only explanation is a major league leak (several of them) to bleed this info through uncleared channels so quickly.

    The real question is why are the major news organizations not asking the obvious questions that come to mind after all these disclosures????

    https://20committee.com/2016/03/07/the-xx-committee-hillary-emailgate-reader/
    https://20committee.com/2016/05/26/game-over-emailgate-just-crippled-the-clinton-express/

  22. p.g.sharrow says:

    The Clinton.com server was set up so they could hide the sale of political favors for “donations”. The Clintons have been selling favors for as long as they have been in politics and preventing the loss of control of the paper trail has been paramount to protect them from prosecution
    Unless you have been involved in the “System” you have no idea how hard it is to prosecute a popular Democratic politician. They are very well protected by their “friends” who will bury any evidence that comes to light and claim it never existed. Hillary and Bill are well trained Lawyers as well as Democratic political operatives. They control vast wealth that has been accumulated by selling out their constituents for “donors” contributions to Clinton organizations…pg

  23. Gail Combs says:

    The Clinton’s also bury bodies. It is very very unhealthy to be in their vicinity. Since there is no love loss between Obummer and Hitlery, things should be interesting.

    And yeah, we have tangled with the corruption of the Demi-rats in court.

    Film on the Clintons. If you have not seen it, it is worth a watch.

  24. E.M.Smith says:

    @Gail:

    IMHO, the pattern of behavior is only consistent with deliberate, planned, email fraud. Putting email 100% under her control, beyong legal reach, and precisely thwarting FOIA. She deserves jail time for it, and selling access. IF she does not get it, abandom any notion you live either in a democracy or in a free country. We will clearly be just another banana republic… JABR…

    I do wonder if Obama is just playing her, waiting until the last minute to sink her… when “health risk” is lowest… IMHO, in the early loss of “files” while Billy (goat…) was Pres., they were accumulating dossiers on folks, which is why she was running effectively unopposed… then The People are so pissed, they would rather have a Crazy Bernie Socialist than her, so the party rigging had to be heavy handed ( 6 coin tosses in a row? Really?…) The corruption stench is so strong it makes roses of skunks.

    I hope most that Guicifer really did squirrel away her email hoard in the cloud and his FBI deal is for a few years in a delux cell, not a Romanian stinky prison, and a stipend for the wife… Having Hillary face to face with the missing “foundation” emails selling favors to Saudis for millions would be just delicious. Obama might well want to wait just to the convention to drop that bomb; since as a True Socialust, he would be overjoyed with Bernie AND is bright enough to realize Bernie can beat Trump, but sHrillary can not… and “Hitlary” (as you put it ) in jail would be better for his long term health and legacy…

    IF he doesn’t have the goods, second best is indictment for all the obvious breech of security laws.

    IMHO, nobody who can set up the private email server as designed, can be unaware of the risks or the legal bypass it represents. The thing stinks of (quasi) plausible denyablity by design. As top IT guy management at a company, I could go to prison for failure to preserve email under SARBOX and every IT guy knows about it. That all around her, folks who ought to be shouting about crimes are instead silently inspecting their fingernails and shoes tells me she “has the goods” on a lot of well placed people. That, with secret service protection, is essentially a foolproof defense. .. Except for The Voters, Bernie, and Guicifer /FBI.

    IFF Hillary can be made to take the Perp Walk over this, a lot of folks would breath easier. Unless she has promised scorched earth to all in such a fall… So look at the negative space to see clue. Who is silent and bowed when loud condemnation is due. Who is nervously defending her for no rational purpose.

    It is, IMHO, a very sinister game being played at a very high level. Likely Bernie was left out of the files due to being an “irrelevant independant” and Trump is entirely from outside. Neither one blackmailed, buyable, or owned. So real threats. Were I them, I’d get food testers and good private security… to “help” the govt supplied ones…

    It is all now in the hands of, first, the Obama DOJ & FBI, then the voters.

  25. Larry Ledwick says:

    Speaking of those who should be screaming bloody murder about security breaches:

    http://dailycaller.com/2016/05/29/in-wake-of-ig-report-feinstein-doesnt-think-clintons-private-email-use-is-a-major-problem-video/

    Senator Feinstein was very out spoken about Snowden’s leaks and called them treason, but on Hilary, don’t ask me about that. Hmmmm
    http://thehill.com/policy/defense/304573-sen-feinstein-snowdens-leaks-are-treason

    The fact that Obama has pretty much been hands off on this issue, neither defending or pointing a finger leads me to believe he is waiting for the right time to tell the Justice Dept to spring the trap door on her. Given his normal penchant for jumping into political controversies even when it is not appropriate for a President to do so, his lack of activity and comment on Hillary’s email is a thundering silence.

    Just yesterday Huffington post “accidentally” posted that Hilary would get indicted under RICO but immediately pulled the post — that makes you wonder as well. That could be a slick cover for the email thing and hide release of any political hanky panky regarding her handling of classified info and possible back room international deals with unsavory nations. They could hang her out to dry on corruption and smother the email questions with that news coverage.

    http://www.breitbart.com/2016-presidential-race/2016/05/29/huffington-post-removes/

    There have been rumors that the intelligence community is really pissed about the damage she did with her classified email capers and some sources might get their own revenge via skillful leaks at the worst possible time if the normal legal process gets blocked from doing its job.

    This will definitely be an interesting few months as this high drama plays out.

  26. E.M.Smith says:

    @Larry:

    Were I running an “Agency” right now I would have a dark op running capturing 100% of sigint from Hillary and anyone 3 connection removed… Storing it all for the right time.. It would all be filtered, indexed, and packaged ready to go. Then I would wait..

    At the right time, I’d start taking out the protection structure, the money supply, and then the organization. Finally take down the center… All a series of unfortunate accidents and a anonymous leaks.

    I’m waiting to see the first surprise heart attacks and strokes (or car crashes… though air bags have taken them out of favor… nitrogen flooding leaves near zero forensics…) in the current crop of staffers and support, and the first anonymous bundles of emails on a Russian website…

  27. Gail Combs says:

    Thanks guys.

    That was pretty much my take on the situation, but I am not a security or IT type.

    “Original post by Frank Huguenard, since removed from HuffPo.”
    Here is the Huff and Puff Article:

    http://k1nsey6.com/2016/05/hillary-clinton-to-be-indicted-on-federal-racketeering-charges/

    And for a bit of fun:

    (For example Bluto from Animal Farm is on the right….)

  28. p.g.sharrow says:

    M.U.D. Obama must cover for the Clintons, They have proof of who he is or is not.
    The Democrats are playing with their demise as a credible political party for backing Hillary and covering up her transgressions.
    Load up on the popcorn.
    We live in interesting times. The Beast will bring about great changes as the old way collapses…pg

  29. E.M.Smith says:

    @P.G.: M.U.D.?
    @Gail:

    Nice picture :-)

  30. p.g.sharrow says:

    @P.G.: M.U.D.?……………..mud………Lol !!!

    mad …… M.A.D.! Mutual Assured Destruction

    brain must be getting less clear ;-)…pg.

  31. Larry Ledwick says:

    These are the kind of shenanigans which they are probably holding each other hostage over.

    http://www.nytimes.com/2016/05/31/us/politics/in-a-secret-meeting-revelations-on-the-battle-over-health-care.html

    It is clear to me that if there had been timely full disclosure of all this sort of manipulation and side stepping proper procedure and the Constitution we would be in a very different place today.

  32. Larry Ledwick says:

    And the plot thickens, the Huffington post contributor who submitted the story about a possible RICO indictment stands by his story and can’t get confirmation from Huffington post about why the submission was pulled.

    http://www.chicksontheright.com/author-of-deleted-huffington-post-article-is-just-as-confused-as-we-are/

  33. cdquarles says:

    Hi EM. I am intrigued by your FreeBSD adventure. I’ve looked at it before. My last foray there didn’t go well. Installation failures, yuk.

    HI Gail :).

    Hillary has been bad news since the Watergate Committee(s) hearings. If there is one thing that I suspect that likely will never get exposed, would be that Hillary learned all of the wrong lessons of Watergate, or maybe she, unlike Bill who has charm, took those lessons as an instruction manual (and no, Nixon was not the only one that did taping and a coverup, but he had Progressive enemies, from the Alger Hiss case, that the Clintons will never have).

    What saddens me is that there will be plenty of people who will vote for her, because of her sex and not for her character, just like there were those who voted for O because of his skin color and not for his character. Ugh, machine politics stinks.

  34. Larry Ledwick says:

    Interesting analysis on how this election cycle could go down if her candidacy becomes totally untenable.

    http://www.nationalreview.com/article/436040/hillary-clinton-email-scandal-justice-department-joe-biden-elizabeth-warren-robert-torricelli

    Kind of split this thread out in to two parallel threads in one here, not trying to derail your FreeBSD project, and after you get your batteries recharged looking forward to future developments.

  35. Gail Combs says:

    Larry on the Huff Po. I just read

    … According to author Huguenard:
    “Huffpo has yet to respond to my request for an explanation”
    of why the story was suddenly pulled.
    Although the piece was not sourced, the allegations were so explosive – namely that Hillary Clinton positively would be indicted on federal racketeering charges – that many news organizations would run with it with minimal sourcing.
    However Huguenard tweeted Breitbart News reporter Patrick Howley this morning that he does have sources for the dramatic revelation:
    “I’ve got my sources, they never asked.”
    Huguenard later told Breitbart:
    “I want to do another story but my HuffPo account has been temporarily disabled. Not sure what’s happening with them.”…..
    http://investmentwatchblog.com/huffpo-writer-editor-dont-know-why-story-was-pulled/

    Sorry for the de-rail but this is the most fun I have had watching US politics, especially after seven years of watching the USA being dismantled by the enemy within.. The retired Marine Sargent, Al Baldasaro, slamming the press at Trump’s press conference was the highlight of my day. He ended his pithy comment by telling the media to “..get their heads out of their butts…” He had shown up at the conference without an invite because he was steaming about how the press had handled the fund raising donations.

    Now the media is busy trying to spin everything but the full press conference especially that cut is all over the internet.

    MORE POPCORN!

  36. Pingback: Huff Post Pulled Article | Musings from the Chiefio

  37. E.M.Smith says:

    I’ve added a better place to discuss the Huff Po stuff here:
    https://chiefio.wordpress.com/2016/06/01/huff-post-pulled-article/

    so now this thread can be a bit more tech oriented… ;-)

  38. E.M.Smith says:

    Well, this link has a page claiming to know how to set up Xorg on the Pi (the original) so may have some clue per the Model 2 (or maybe the Model 2 takes different secret sauce…)

    http://blog.cochard.me/2013/03/xorg-for-freebsd-on-raspberry-pi.html

    mercredi, mars 06, 2013
    Xorg for FreeBSD on Raspberry Pi
    Thanks to Ray, we have a working X11 drivers that works on Raspberry pi too.
    Here is how to install it:
    Download the latest Daisuke’s Raspberry pi FreeBSD image (login/password: pi/ raspberry and root password: raspberry).
    Unzip, dd it on your 8GB SD card, boot your rspie and configure your network (Internet access mandatory for downloading pkg).
    Install USB mouse drivers:
    cd /usr/src/sys/modules/usb/ums
    make clean all install
    Install pkg and declare the repository:
    fetch http://dev.bsdrp.net/pkg/freebsd:10:arm:32:el:oabi:softfp/Latest/pkg.txz
    tar xf ./pkg.txz -s “,/.*/,,g” “*/pkg-static”
    ./pkg-static add ./pkg.txz
    echo ‘packagesite: http://dev.bsdrp.net/pkg/${ABI}’ > /usr/local/etc/pkg.conf
    Install Xorg, scfb drivers and some X apps:
    pkg inst xorg-minimal xf86-video-scfb xorg-apps
    Configure /etc/X11/xorg.conf:
    Section “Files”
    EndSection
    Section “Module”
    Load “dbe”
    Disable “dri”
    Disable “dri2”
    Disable “glx”
    SubSection “extmod”
    Option “omit xfree86-dga”
    EndSubSection
    EndSection

    Section “ServerFlags”
    Option “AIGLX” “false”
    Option “NoAccel” “True”
    Option “NoDRI” “True”
    Option “DRI” “False”
    Option “DRI2” “False”
    EndSection

    Section “InputDevice”
    Identifier “Keyboard1”
    Driver “kbd”
    EndSection

    Section “InputDevice”
    Identifier “Mouse1”
    Driver “mouse”
    Option “Protocol” “auto”
    Option “Device” “/dev/sysmouse”
    EndSection

    Section “Monitor”
    Identifier “Monitor”
    EndSection

    Section “Device”
    Identifier “Generic FB”
    Driver “scfb”
    Option “NoAccel” “True”
    EndSection

    Section “Screen”
    Identifier “Screen”
    Device “Generic FB”
    Monitor “Monitor”
    DefaultDepth 16
    SubSection “Display”
    Depth 16
    EndSubsection
    EndSection

    Section “ServerLayout”
    Identifier “layout”
    Screen 0 “Screen” 0 0
    InputDevice “Mouse1” “CorePointer”
    InputDevice “Keyboard1” “CoreKeyboard”
    EndSection

    Then a dummy ~/.xinitrc:
    xterm &
    xclock &
    xcalc &
    exec twm

    And enjoy:
    startx

    A first ugly screenshoot:

  39. E.M.Smith says:

    I’m clearing some links out of my tablet, that has reached 70 open tabs… (the result of not posting various ideas when I ran into them…)

    This one is the “man page” for the “ports” contributed applications. Has good stuff about how to use commands to make the ports happen.

    http://www.freebsd.org/cgi/man.cgi?ports%287%29

    PORTS(7)	   FreeBSD Miscellaneous Information Manual	      PORTS(7)
    
    NAME
         ports -- contributed applications
    
    DESCRIPTION
         The FreeBSD Ports Collection offers a simple way for users	and adminis-
         trators to	install	applications.  Each port contains any patches neces-
         sary to make the original application source code compile and run on
         FreeBSD.  Compiling an application	is as simple as	typing make build in
         the port directory!  The Makefile automatically fetches the application
         source code, either from a	local disk or via FTP, unpacks it on your sys-
         tem, applies the patches, and compiles it.	 If all	goes well, simply type
         make install to install the application.
    
         For more information about	using ports, see ``Packages and	Ports''	in The
         FreeBSD Handbook,
         (file:/usr/share/doc/en_US.ISO8859-1/books/handbook/ports.html or
         http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/ports.html).
         For information about creating new	ports, see The Porter's	Handbook
         (file:/usr/share/doc/en_US.ISO8859-1/books/porters-handbook/index.html or
         http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/porters-handbook/).
    
    TARGETS
         Some of the targets work recursively through subdirectories.  This	lets
         you, for example, install all of the ``biology'' ports.  The targets that
         do	this are build,	checksum, clean, configure, depends, extract, fetch,
         install, and package.
    
         The following targets will	be run automatically by	each proceeding	target
         in	order.	That is, build will be run (if necessary) by install, and so
         on	all the	way to fetch.  Usually,	you will only use the install target.
    
         config	Configure OPTIONS for this port	using dialog4ports(1).
    
         fetch	Fetch all of the files needed to build this port from the
    		sites listed in	MASTER_SITES and PATCH_SITES.  See FETCH_CMD,
    		MASTER_SITE_OVERRIDE and MASTER_SITE_BACKUP.
    
         checksum	Verify that the	fetched	distfile's checksum matches the	one
    		the port was tested against.  If the distfile's	checksum does
    		not match, it also fetches the distfiles which are missing or
    		failed the checksum calculation.  Defining NO_CHECKSUM will
    		skip this step.
    
         depends	Install	(or compile if only compilation	is necessary) any
    		dependencies of	the current port.  When	called by the extract
    		or fetch targets, this is run in piecemeal as fetch-depends,
    		build-depends, etc.  Defining NO_DEPENDS will skip this	step.
    
         extract	Expand the distfile into a work	directory.
    
         patch	Apply any patches that are necessary for the port.
    
         configure	Configure the port.  Some ports	will ask you questions during
    		this stage.  See INTERACTIVE and BATCH.
    
         build	Build the port.	 This is the same as calling the all target.
    
         install	Install	the port and register it with the package system.
    		This is	all you	really need to do.
    
         The following targets are not run during the normal install process.
    
         showconfig	      Display OPTIONS config for this port.
    
         showconfig-recursive
    		      Display OPTIONS config for this port and all its depen-
    		      dencies.
    
         rmconfig	      Remove OPTIONS config for	this port.
    
         rmconfig-recursive
    		      Remove OPTIONS config for	this port and all its depen-
    		      dencies.
    
         config-conditional
    		      Skip the ports which have	already	had their OPTIONS con-
    		      figured.
    
         config-recursive
    		      Configure	OPTIONS	for this port and all its dependencies
    		      using dialog4ports(1).
    
         fetch-list	      Show list	of files to be fetched in order	to build the
    		      port.
    
         fetch-recursive  Fetch the	distfiles of the port and all its dependen-
    		      cies.
    
         fetch-recursive-list
    		      Show list	of files that would be retrieved by
    		      fetch-recursive.
    
         run-depends-list, build-depends-list
    		      Print a list of all the compile and run dependencies,
    		      and dependencies of those	dependencies, by port direc-
    		      tory.
    
         all-depends-list
    		      Print a list of all dependencies for the port.
    
         pretty-print-run-depends-list, pretty-print-build-depends-list
    		      Print a list of all the compile and run dependencies,
    		      and dependencies of those	dependencies, by port name and
    		      version.
    
         missing	      Print a list of missing dependencies to be installed for
    		      the port.
    
         clean	      Remove the expanded source code.	This recurses to
    		      dependencies unless NOCLEANDEPENDS is defined.
    
         distclean	      Remove the port's	distfiles and perform the clean	tar-
    		      get.  The	clean portion recurses to dependencies unless
    		      NOCLEANDEPENDS is	defined, but the distclean portion
    		      never recurses (this is perhaps a	bug).
    
         reinstall	      Use this to restore a port after using pkg_delete(1)
    		      when you should have used	deinstall.
    
         deinstall	      Remove an	installed port from the	system,	similar	to
    		      pkg_delete(1).
    
         deinstall-all    Remove all installed ports with the same PKGORIGIN from
    		      the system.
    
         package	      Make a binary package for	the port.  The port will be
    		      installed	if it has not already been.  The package is a
    		      .tbz file	that you can use to install the	port on	other
    		      machines with pkg_add(1).	 If the	directory specified by
    		      PACKAGES does not	exist, the package will	be put into
    		      the current directory.  See PKGREPOSITORY	and PKGFILE.
    
         package-recursive
    		      Like package, but	makes a	package	for each depending
    		      port as well.
    
         package-name     Prints the name with version of the port.
    
         readmes	      Create a port's README.html.  This can be	used from
    		      /usr/ports to create a browsable web of all ports	on
    		      your system!
    
         search	      Search the INDEX file for	the pattern specified by the
    		      key (searches the	port name, comment, and	dependencies),
    		      name (searches the port name only), path (searches the
    		      port path), info (searches the port info), maint
    		      (searches	the port maintainer), cat (searches the	port
    		      category), bdeps (searches the port build-time depen-
    		      dency), rdeps (searches the port run-time	dependency),
    		      www (searches the	port web site) make(1) variables, and
    		      their exclusion counterparts: xname, xkey	etc.  For
    		      example, one would type:
    
    			    cd /usr/ports && make search name=query
    
    		      to find all ports	whose name matches ``query''.  Results
    		      include the matching ports' path,	comment, maintainer,
    		      build dependencies, and run dependencies.
    
    			    cd /usr/ports && make search name=pear- \
    				xbdeps=apache
    
    		      To find all ports	whose names contain ``pear-'' and
    		      which do not have	apache listed in build-time dependen-
    		      cies.
    
    			    cd /usr/ports && make search name=pear- \
    				xname='ht(tp|ml)'
    
    		      To find all ports	whose names contain ``pear-'', but not
    		      ``html'' or ``http''.
    
    			    make search	key=apache display=name,path,info keylim=1
    
    		      To find ports that contain ``apache'' in either of the
    		      name, path, info fields, ignore the rest of the record.
    
    		      By default the search is not case-sensitive.  In order
    		      to make it case-sensitive	you can	use the	icase vari-
    		      able:
    
    			    make search	name=p5-R icase=0
    
         quicksearch      Reduced search output.  Only display name, path and
    		      info.
    
         describe	      Generate a one-line description of each port for use in
    		      the INDEX	file.
    
         maintainer	      Display the port maintainer's email address.
    
         index	      Create /usr/ports/INDEX, which is	used by	the
    		      pretty-print-* and search	targets.  Running the index
    		      target will ensure your INDEX file is up to date with
    		      your ports tree.
    
         fetchindex	      Fetch the	INDEX file from	the FreeBSD cluster.
    
    ENVIRONMENT
         You can change all	of these.
    
         PORTSDIR	   Location of the ports tree.	This is	/usr/ports on FreeBSD
    		   and OpenBSD,	and /usr/pkgsrc	on NetBSD.
    
         WRKDIRPREFIX  Where to create any temporary files.	 Useful	if PORTSDIR is
    		   read-only (perhaps mounted from a CD-ROM).
    
         DISTDIR	   Where to find/put distfiles,	normally distfiles/ in
    		   PORTSDIR.
    
         PACKAGES	   Used	only for the package target; the base directory	for
    		   the packages	tree, normally packages/ in PORTSDIR.  If this
    		   directory exists, the package tree will be (partially) con-
    		   structed.  This directory does not have to exist; if	it
    		   does	not, packages will be placed into the current direc-
    		   tory, or you	can define one of
    
    		   PKGREPOSITORY  Directory to put the package in.
    
    		   PKGFILE	  The full path	to the package.
    
         LOCALBASE	   Where existing things are installed and where to search for
    		   files when resolving	dependencies (usually /usr/local).
    
         PREFIX	   Where to install this port (usually set to the same as
    		   LOCALBASE).
    
         MASTER_SITES  Primary sites for distribution files	if not found locally.
    
         PATCH_SITES   Primary locations for distribution patch files if not found
    		   locally.
    
         MASTER_SITE_FREEBSD
    		   If set, go to the master FreeBSD site for all files.
    
         MASTER_SITE_OVERRIDE
    		   Try going to	these sites for	all files and patches, first.
    
         MASTER_SITE_BACKUP
    		   Try going to	these sites for	all files and patches, last.
    
         RANDOMIZE_MASTER_SITES
    		   Try the download locations in a random order.
    
         MASTER_SORT   Sort	the download locations according to user supplied pat-
    		   tern.  Example:
    			 .dk .sunet.se .se dk.php.net .no .de
    			 heanet.dl.sourceforge.net
    
         MASTER_SITE_INDEX
    		   Where to get	INDEX source built on FreeBSD cluster (for
    		   fetchindex target).	Defaults to
    		   http://www.FreeBSD.org/ports/.
    
         FETCHINDEX	   Command to get INDEX	(for fetchindex	target).  Defaults to
    		   ``fetch -am''.
    
         NOCLEANDEPENDS
    		   If defined, do not let clean	recurse	to dependencies.
    
         FETCH_CMD	   Command to use to fetch files.  Normally fetch(1).
    
         FORCE_PKG_REGISTER
    		   If set, overwrite any existing package registration on the
    		   system.
    
         MOTIFLIB	   Location of libXm.{a,so}.
    
         INTERACTIVE   If defined, only operate on a port if it requires interac-
    		   tion.
    
         BATCH	   If defined, only operate on a port if it can	be installed
    		   100%	automatically.
    
         DISABLE_VULNERABILITIES
    		   If defined, disable check for security vulnerabilities
    		   using pkg-audit(8) when installing new ports.
    
         NO_IGNORE	   If defined, allow installation of ports marked as
    		   .	 The default behavior of the Ports framework
    		   is to abort when the	installation of	a forbidden port is
    		   attempted.  Of course, these	ports may not work as
    		   expected, but if you	really know what you are doing and are
    		   sure	about installing a forbidden port, then	NO_IGNORE lets
    		   you do it.
    
         NO_CHECKSUM   If defined, skip verifying the port's checksum.
    
         TRYBROKEN	   If defined, attempt to build	a port even if it is marked as
    		   .
    
         PORT_DBDIR	   Directory where the results of configuring OPTIONS are
    		   stored.  Defaults to	/var/db/ports.	Each port where
    		   OPTIONS have	been configured	will have a uniquely named
    		   sub-directory, containing a single file options.
    
    MAKE VARIABLES
         The following list	provides a name	and short description for many of the
         variables that are	used when building ports.  More	information on these
         and other related variables may be	found in ${PORTSDIR}/Mk/* and the
         FreeBSD Porter's Handbook.
    
         WITH_OPENSSL_PORT	       (bool) If set, causes ports that	make use of
    			       OpenSSL to use the OpenSSL from ports (if
    			       available) instead of the OpenSSL from the base
    			       system.
    
         WITH_DEBUG		       (bool) If set, debugging	symbols	are installed
    			       for ports binaries.
    
         WITH_DEBUG_PORTS	       A list of origins for which to set
    			       WITH_DEBUG_PORTS.
    
         WITH_SSP_PORTS	       (bool) If set, enables -fstack-protector	for
    			       most ports.
    
         WITH_GHOSTSCRIPT_VER      If set, the version of ghostscript to be	used
    			       by ports.
    
         OVERRIDE_LINUX_BASE_PORT  The default linux base to use.
    
         WITH_CCACHE_BUILD	       (bool) If set, enables the use of ccache(1) for
    			       building	ports.
    
         CCACHE_DIR		       Which directory to use for the ccache data.
    
    FILES
         /usr/ports			The default ports directory
         /usr/ports/Mk/bsd.port.mk	The big	Kahuna.
    
    SEE ALSO
         make(1), make.conf(5), pkg(8), portsnap(8)
    
         The following are part of the ports collection:
    
         pkg(7), portlint(1)
    
         The FreeBSD Handbook.
    
         http://www.FreeBSD.org/ports (searchable index of all ports)
    
    HISTORY
         The Ports Collection appeared in FreeBSD 1.0.  It has since spread	to
         NetBSD and	OpenBSD.
    
    AUTHORS
         This manual page was originated by	David O'Brien.
    
    BUGS
         Ports documentation is split over four places --
         /usr/ports/Mk/bsd.port.mk,	The Porter's Handbook, the ``Packages and
         Ports'' chapter of	The FreeBSD Handbook, and this manual page.
    

    This page has advice on “rebuilding world”, why sometimes it is better to do it in parts.

    http://www.freebsd.org/doc/handbook/makeworld.html

    I found this info block particularly amusing:

    Do Not Use make world:
    
    Some older documentation recommends using make world. However, that command skips some important steps and should only be used by experts. For almost all circumstances make world is the wrong thing to do, and the procedure described here should be used instead.
    

    It then goes into a very nice, but very long, series of commands of how to do it so that nothing is skipped and the whole kit gets rebuilt. I’ll need to do that “someday” so knowing where the link to it is located matters…

    Then there is this amusing page that purports to tell you everything needed to install Xorg:

    http://www.freebsd.org/doc/handbook/x-install.html

    5.3. Installing Xorg
    
    On FreeBSD, Xorg can be installed as a package or port.
    
    To build and install from the Ports Collection:
    
    # cd /usr/ports/x11/xorg
    # make install clean
    
    The binary package can be installed more quickly but with fewer options for customization:
    
    # pkg install xorg
    
    Either of these installations results in the complete Xorg system being installed. This is the best option for most users.
    
    A smaller version of the X system suitable for experienced users is available in x11/xorg-minimal. Most of the documents, libraries, and applications will not be installed. Some applications require these additional components to function.
    

    Yeah, right… While it does, nominally, work that way, I’ve never yet had Xorg actually install and run without a lot of fiddling…

  40. we need freebsd above cluster/pizero!

Comments are closed.