My journey to installing FreeBSD is incomplete. (Story/intro/help request).

The laptop specialized hardware is what keeps me from using a laptop for FreeBSD, plus I absolutely hate typing on them. I have a large office and a large desk, so have plenty of room for my FreeBSD PC, my build machine, my work laptop and my only Windows laptop. I do use a separate keyboard for my work laptop to resolve the typing issue.

I am still an advocate of having way more more computing horsepower than I actually need so that's another reason I like PCs: I can custom build one to my liking.
 
Apart from Broadcom wifi Freebsd works perfectly on my 2011 Macbook Air

I had to build a custom kernel to add asmc settings to get the keyboard backlight working
The mini display port works with hdmi or ethernet adaptors

i have an external usb fiio dac and asynchronous 24bit 192khz usb to spdiff converter,
with bitperfect audio enabled on Freebsd and everything worked out of the box

The audio on Freebsd is the best i have ever come across on any operating system

Playing audio files with different sample rates on the Mac with my usb dac
like a 96khz followed by a 44.1 khz results in the audio slowing down or speeding up,
and you have to stop and restart the audio

On Freebsd it works perfectly first time every time
 
I've been slowly writing a howto for setting up freebsd on a thinkpad T61, its kind of a a work in progress but try giving this a read, it might give you some ideas. And you can pick up these laptops second hand pretty cheaply and make a nice machine out of one if you decided to go that way. Hopefully this can give you some idea of what is involved.

Making a nice FreeBSD laptop at low cost using the Thinkpad T61.

The thinkpad T61 is part of the line of T-series thinkpads produced by Lenovo around 2008.
The machine is cheaply available on ebay and from similar second-hand sources.
Build quality is generally very good, these are robust machines that can stand a lot of
wear and tear. Many of the examples on sale are corporate disposals which have only had
light duty use, for example it may have sat on a managers desk for years only being used
for email and light web browsing.

The X61 is almost identical hardware but in a smaller 12 inch screen form-facgtor;
much of this tutorial also applies to the X61.

The T61 has a number of desirable features, in particular it was one of the last
thinkpads made with the IBM-style thinkpad keyboard, before Lenovo switched over
to the chiclet style keyboard used on modern thinkpads. It also has the thinklight,
integrated touchpad and trackpoint, switchable wifi, a built-in DVD drive, matt surface screen
for low screen reflections, gigabit ethernet and a high capacity battery is available. A docking
station is available which adds features such as a DVI monitor connector and many
more i/o ports.

With a small amount of work these machines can be upgraded to approach the specification
of a modern laptop, at minimal cost. The CPU can be upgraded, additional memory can be
installed and the hard drive can be replaced with an SSD, all of which bring the performance
up to acceptable levels. The CPU itself, while not being as powerful as Intel's latest offerings,
still has reasonable performance. The hardware is well-supported by FreeBSD, I have installed three
T61s and a couple of X61's with very few real problems. It is worth remembering that only ten years
ago this was a top-specification laptop that sold for thousands for dollars. Altogether this makes
the T61 a very attractive target to make a FreeBSD laptop at minimum cost.

Of course there are other thinkpads which make good FreeBSD machines, the X201 with slightly
faster core i3 processor is another example. At the other end of the scale you can get
a new P72 workstation-class thinkpad albeit at a higher price. So it's worth having a look around
at other models before deciding to jump for the T61, especially as prices in the second-hand
market tend to be very fluid.

Buying the hardware.

I recommend buying a T61 using the intel graphics chip, not the higher specification
nvidia graphics (ie, not the T61p). The intel graphics is well supported by FreeBSD,
but I am not so sure about the nvidia graphics chip version. Furthermore, the 'T61p' version
comes with a very high resolution display which can make all your standard X11 fonts and icons
rather small and hard to read, whereas the standard T61 comes with a standard resolution screen.
So I personally prefer the standard T61 over the 'p' version; and its usually cheaper :)

Buying tips:- check the level of wear on the keyboard - a very shiny keyboard indicates
it has been used quite a lot, although it may well still be in good working order.
Also check for any sign that the screen backlight is becoming dim, this will be
immediately apparant when you switch it on, but generally this is not an issue.
Check the case for cracks where it may have been dropped, and for missing screws or rubber feet.

One common fault is loose screen hinges, and this happens on most of the older thinkpads.
With the screen open, you may find that there is some play in the screen, you will be able to rock
it forwards and backwards by a few mm. This is not a major issue as long as the play is not too great.
Replacement hinges are available from online sellers but require dismantling the laptop screen to install.

Even a cheap generic SSD will be much faster than the installed hard disk, 256GB seems
to be the current sweet-spot for maximum value for money, in the UK these sell
for around 30 pounds online. IMHO it's not worth going for a high-performance drive
like the samsung 840, the price is double that of a standard SSD and the T61 is limited to SATA2 speeds

so you won't obtain that much of a performance improvement over a standard SSD.

The only caveat with respect to the T61 is the cost of the memory upgrade to 8GB;
it requires DDR2-800 SODIMMs which sell for quite a high price because (I think) they are no
longer in production. Despite this, the low initial cost of the machine itself can
still make it attractive. And having 4GB or even 2GB memory installed can still
make a perfectly good machine. I have personally run KDE Plasma 5 desktop, libreoffice,
Firefox, etc all on a machine with 2GB of memory without problems. It just depends on
what software you want to run.

The wifi adapter is one area that may be problematic. I have found that
the Intel 4965 adapter works fine with FreeBSD 12 (at least, with MY wifi router!)
I have not tried the atheros adapters, but have read some comments regarding people having problems
with them. So depending on what your thinkpad comes installed with, it may be necessary
to get an intel wifi card. Luckily the Intel 4965 wifi adapter is cheaply available on ebay,
for example I bought one recently for 2 pounds (3 dollars) including postage direct from Hong Kong.

In the bill of materials below I have shown the prices I actually paid for my latest T61
build, naturally YMMV depending on what is available on ebay and similar sites when you actually
buy.

Example T61 bill of materials:-
(these are the actual prices I paid; but I think I got lucky with the T61, 60 pounds might be
more realistic. Right now, 1 pound is approx 1.4 us dollars.
£
T61 thinkpad (ebay auction,with 4GB RAM) 30
(includes battery and mains power adapter)
256GB SSD (used, itechonline) 20
Intel T7300 CPU (ebay, direct from HK) 12
8GB RAM upgrade (ebay) 42
Intel 4965 wifi adapter (ebay) 2

T61/8GB RAM/256GB SSD total cost 106

Upgrading the hardware.

Tools: you will need small philips head screwdrivers typically sold as 'jewellers
screwdrivers' in tools stores.

The T61 hardware service manual is available here :-
this gives instructions with diagrams on how to upgrade the hardware components.
There are also many useful videos on youtube providing instructions on how to do
these upgrades for your T61.

The sequence of steps to upgrade your T61 are as follows:-

1. Install the middleton BIOS; this is an improved BIOS which can be downloaded from here:

After downloading the image, burn it onto a cdrom and boot your T61 from the cdrom using
its built-in dvd drive; the new bios will install automatically. Please remember that there is
a small level of risk attached to this process, if it goes wrong, it can brick the machine
and you will likely not be able to recover it. Having said that, it is rather rare for
anything to go wrong, I have personally never seen a problem. The middleton BIOS is essential
to do the rest of the upgrades; it unlocks the machine to allow full 300GB/s SATA2 disk interface
speed, allows 8GB memory to be installed, and allows the CPU upgrade to be installed.

2. Changing the HDD to the new SSD is very easy, simply pull out the HDD and push in the SSD.

3. The memory upgrade is a little more involved, you must remove the wrist rest and the keyboard
to reveal the SO-DIMM memory slots; the new memory then just slots into place.

4. Upgrading the CPU is the most complicated process but IMHO is well worth doing, given the low
cost of the better CPU. This procedure gives you both a faster CPU and also replaces the existing
heatsink compound which has likely degraded on a ten-year old machine; the best instructions I have found for
doing this are here: (link)

Replacing the heatsink compound will help your machine run cooler and quieter allowing the fan to stay off
for longer. When you do this process, remember to brush out the fan with a small artists paint brush
to remove accumulated dust.

While it may appear a little daunting on the first reading, the CPU uggrade procedure is really not very
difficult to carry out. The golden rule is to proceed methodically and slowly and not rush
things, as always :) A note on heatsink compound: I have found that the ebay sellers usually include a small
sachet of heatsink compound when they send you a CPU like the T7300 (although check the advert for details),
which I have found to work perfectly well; if you want something better you can buy a tube of arctic
silver 5 or some other exotic stuff. Whether you will see any real improvement over using the sachet
that comes with the cpu is very debatable IMHO, but hey, it's your money ;-)

BIOS configuration.

After upgrading your hardware, it's time to configure your BIOS. Do this BEFORE you install FreeBSD.
Power on the machine and hold down the F1 key so that you get the BIOS setup screen.
Check that the main BIOS screen shows you have the T7300 CPU installed (if you decided to upgrade the CPU)
and the correct amount of memory you have installed. Then make the following selections:-

1. chose AHCI
2. disable the thinkpad security chip

Installing FreeBSD.

After upgrading your hardware and configuring the BIOS, it's time to install your favourite operating system.
Download the FreeBSD iso from one of the mirror sites, and either burn the ISO onto a DVD
or onto a USB stick, following the instructions on the FreeBSD website. Installing from a USB stick is
usually a lot faster than installing from cdrom. You need a stick large enough to hold the iso image,
so an 8GB USB stick to hold the DVD image (say).

Then boot from the install device, and install FreeBSD. After booting the machine, select the
install freebsd option, and follow the sequence of dialogs. When asked to choose filesystem, I
recommend using the UFS filesystem on this type of laptop hardware rather than ZFS.
UFS uses a lot less memory and is less resource intensive, which is important on a small machine,
unless you have some specific use case that requires the facilities provided by ZFS.
Of course if you do have some specific use case that requires features of ZFS then go ahead and use ZFS.
I found that choosing the automatic 'use whole disk' partitioning scheme and UFS in the FreeBSD
installer resulted in partitions correctly aligned to 4K boundaries, to get the best performance from the SSD.

Tuning FreeBSD to the hardware.

Finally you can use my loader.conf, sysctl.conf and rc.conf files attached here to save yourself some effort in tuning
FreeBSD to run well on the T61 hardware (UFS install assumed).

These configuration files provide a starting point for further tuning, there may be some settings that
are incomplete or non-optimal. However I am running with these settings and everything works nicely :)

These files set up to support a typical single-user workstation, with the following features:-

1. use link aggregation to provide transparent failover between the wired ethernet and wifi network ports
I have both wired ethernet and wifi at my location, and like to use both.
With this configuration, if the ethernet cable is present, the system will use wired ethernet in preference to wifi.
If you pull out the ethernet cable it will automatically switch to wifi, and vice versa.
Of course if you only have wifi then don't bother with this step and simply configure the wifi interface as usual.

You will need to make the following change to make this work:
1. run ifconfig em0 and record the mac address reported at the 'ether' line in the output
2. edit rc.conf and place the value you just read in this line in rc.conf:-
create_args_wlan0="wlanaddr 00:1f:e2:10:ef:35"

2. use powerd++ for adaptive power management, this gives a nice silent and cool machine when running on battery,
unless doing something CPU intensive like a long development build. Frequency scaling ramps up the CPU clock
frequency on-demand and reduces it again as soon as the intensive work ends.

Unfortunately the fan comes on more often when runnning on the mains adapter, I have tried various things to stop
this but so far have been unable to stop it completely, so it may be a limitation of the thinkpad's embedded controller.
If anyone knows any more about this then please let me know.
4. drm2.ko and i915kms.lo are loaded to support the built-in intel G965 graphics chip

5. ntpd and sshd are enabled

6. the ipfw firewall set up for a workstation

7. the acpi_ibm module is loaded to provide support for thinkpad Fn key combinations, eg for screen brightness and LED
 

Attachments

  • loader.conf
    970 bytes · Views: 125
  • rc.conf
    1 KB · Views: 116
  • sysctl.conf
    741 bytes · Views: 115
Bah, the links didn't paste in properly. Here they are:-
1. the middleton bios is here http://www.thinkwiki.org/wiki/Middleton's_BIOS
2. the lenovo T61 service manual is here https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles_pdf/42x3547_05.pdf
3. the cpu upgrade instructions are here:-
View: https://www.youtube.com/watch?v=yYZtZGX9pQA

4. Someone has made a very nice page showing how to install freebsd on a virtualbox here: https://kifaru[nix.com/how-to-install-freebsd-12-on-virtualbox. I recommend working through this for practice before installing freebsd on the real hardware. It's really easy once you've done it a couple of times.

A final remark - you don't actually NEED to upgrade the memory, bios or cpu if you are happy with the hardware as it comes when you buy it. So you could just ignore everything I've said about upgrade the hardware and just install it on the laptop as it comes, at least for starting out. Then when you are more familiar with it, think about whether you want to do the hardware upgrades. At least you have the option to upgrade the hardware to make it more powerful.
 
It just occurred to me that you might have got as far as booting the freebsd box and have a console command prompt, and are wondering how to set up the graphical desktop. There are a couple of ways you can do that.

1. From here http://www.unibia.com/unibianet/freebsd/mate-desktop you can find a nice automated script that will install the mate desktop on your machine for you. I haven't used that myself but it looks like an easy way to get the desktop set up. Just read through the instructions on that page.

2. If you want to do it manually, the user vermaden has made a very nice freebsd desktop setup tutorial on his blog, here https://vermaden.wordpress.com/freebsd-desktop/. You can follow all the steps he sets out to set up your system. His series is very thorough, covering just about everything you might ever need.
 
Seriously, first you need to know and articulate the concrete question. For all the generic guidance:
Hey man, there was a disclaimer. It was an articulate story with questions interwoven.

My reasoning for being less than specific and making a post with more story-like elements, is that perhaps someone would read it and help me figure out what kind of question to ask. It all sort of goes together, as a bundled explanation, of general principals and knowledge-seeking. The questions I asked weren't as specific as some of the "read this first" material asks for, because it isn't a specific problem I'm having. Just asking where I should look to next for more answers, which is not the same as just simply demanding answers. Right?

  • The FreeBSD Handbook should have you covered for installation and configuration of the base system, and a few things beyond that
I had mentioned I attempted to install this about a year ago [nearly two years now, actually] in my OP. Well a year ago when I attempted to install various flavors of BSD, I believe there was a problem with most BSD systems regarding UEFI for laptops? I think NetBSD, specifically, had a notice on their web page about it. Anyway, it wouldn't work, and no config file could fix it. I looked around for answers... A lot. Some of the possible solutions at the time were not feasible for various reasons, part of which was a lack of knowledge, partly a lack of hardware with which to work with.

  • FreeBSD's manpages are excellent, they're the first thing to look at for specific problems
Aye, but without being able to install it, seems kind of pointless. If I can't work with what I have, doesn't matter if I can read manpages online, I need the practice. Learning Python for me was more about actually typing and making mistakes with a working system, than learning by only reading. Theory is great, but practice makes perfect, right? <3

  • FreeBSD is a "general purpose" OS, but many settings are more tuned to server operation by default. If you want a desktop, you will find the most common tuning options for that in many online resources like blogs and howtos.
Well like I said in my OP, I am getting a second laptop soon. Didn't want to experiment with a new OS that isn't fully supported for my laptop, without having some kind of backup mechanism that requires reinstalling everything from scratch. On a more personal note, I'm just getting by with minimum wage. I want a more technical job, and to be more marketable, playing around with BSD as a server/desktop OS would help me towards bettering myself and my situation. I think, anyway, that's how it works.

  • If you run into a specific problem, you can search the bug tracker and/or ask here with a decent description of the problem.
In any case, be prepared to do a lot of configuration, mostly by editing text files. FreeBSD base comes configured in a way that should work for the most common scenarios, but is minimal. FreeBSD ports follow the philosophy to deliver software as originally provided by the authors, leaving you with the configuration (but often installing samples you can look at).
I have no problem with editing text files from the command line and navigating file systems from a terminal, after using Ubuntu regularly for 3ish years or so now, as an FYI. Progress is being made. <3
 
perhaps someone would read it and help me figure out what kind of question to ask.

I'm with you on that concept. Been there, done that. :) Me being an amateur it is sometimes difficult in some situations to put my finger on a useful way forward.

To the point:
Can you help me achieve my short term goal of installing FreeBSD on __this__ laptop?

A link or description would be more helpful. (But perhaps I missed it.)

I have noticed though, that when people come here with first time difficulties installing, they often are trying some convoluted methods rather than just hitting the enter button for automatic install. In almost all cases that would work fine, with the possible exception of the wireless card which is easily fixed with a cheap dongle.

That said, if it was me I would try installing on something else if it was really important. Working desktop computers suitable for experimentation are generally a dime a dozen, if not free, from the garbage - at least in North America. That's been my go-to for experimentation. Anyway, without knowing which laptop you are talking about it is difficult to offer an opinion on the matter.
 
Brother printers often have BR-Script3 support and so those don't ever need a driver to work with LPD. Just search how to setup them, there are plenty of information in older threads fo this forum.
 
Okay fam, new laptop here. Old one is now running FreeBSD. Some things work right away, others not so much.

From the information found at: https://wiki.freebsd.org/Laptops
I have followed the steps under the section labeled "Testing and collecting technical information".
Resume on wake does not work (the last test "zzz").
Where should I post the contents of those files to?
Are there any other tests I should run?

The laptop is a Dell Inspiron 15 3567.
 
Okay fam, new laptop here. Old one is now running FreeBSD. Some things work right away, others not so much.

From the information found at: https://wiki.freebsd.org/Laptops
I have followed the steps under the section labeled "Testing and collecting technical information".
Resume on wake does not work (the last test "zzz").
Where should I post the contents of those files to?
Are there any other tests I should run?

The laptop is a Dell Inspiron 15 3567.
I guess the bigger issue is WHY can't we edit the wiki? You know, wikis being designed with that functionality in mind. Then you could just add your data. I remember asking about this years ago, and got nowhere. (IIRC, something about the captcha, care-factor of zero and so on...)
 
Back
Top