The chronicles of the work and personal life of a boring software developer with an awesome dog.
Tuesday, February 28, 2017
I just bought a new Lenovo Thinkpad T560. It runs both Windows 10 and Fedora 25 quite well, but I had a lot of trouble getting the system to dual-boot. In hopes of helping somebody, here are the steps I had to take to get it to work. I'm assuming you're starting with a new laptop with Windows 10 installed, since that's what it comes with from the factory.
- Before doing anything else, open Power Options in Windows and turn off "fast startup" so that Windows fully shuts down.
- Open Disk Management and shrink the Windows partition, leaving enough space for the Linux installation. Luckily, the Windows 10 Disk Management tool makes this very easy and very fast — it wasn't so in the past!
- Head over to a different machine already running Fedora, and grab the netinst iso image. I got mine from here; see the links on the right-hand side of the page.
- Create USB boot media using
# livecd-iso-to-disk Fedora-netinst-x86_64-25-1.3.iso /dev/sdb1
- The Thinkpad has UEFI Secure Boot enabled by default, which prevents it from booting off of this USB drive. Reboot the laptop and enter the Thinkpad setup utility by hitting F1 at the boot screen. Disable Secure Boot, and enable UEFI + Legacy boot. Save and exit the setup utility.
- At the boot screen again, hit F12 to enter the boot menu and choose the USB drive.
- Follow the Fedora installer like normal, taking care of course to only create partitions in the free space and not overwrite any existing partitions. Since this is a laptop with one drive, I didn't see any need for LVM and I chose the "standard" partitioning + encryption.
- After Fedora setup finished, I wasn't able to boot off the hard drive at all, not even into windows. So, boot off of the USB drive again. Choose the recovery option. It will find the new Fedora installation.
chrootinto your system:
# chroot /mnt/sysimage
- Fedora's installer seems to have detected the system as a BIOS (not EFI) booting system. Let's fix that. Open
# parted /dev/sda
- At the
partedprompt, toggle the
(parted) toggle disk_toggle pmbr_boot (parted) qYou can verify this worked by issuing
pmbr_boot. At this point, Windows should be bootable if you hit F12 at the startup screen and choose the Windows Boot Manager, but Fedora still won't boot.
- Locate your EFI partition, which is the one with type
EFI System. Mine is
/dev/sda1, and yours probably is too.
# fdisk -l Disk /dev/sda: 477 GiB, 512110190592 bytes, 1000215216 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: (a UUID here) Device Start End Sectors Size Type /dev/sda1 2048 534527 532480 260M EFI System /dev/sda2 534528 567295 32768 16M Microsoft reserved /dev/sda3 567296 205367295 204800000 97.7G Microsoft basic data ...
- Get the EFI partition's UUID:
# blkid /dev/sda1
- Add a line to
/etc/fstabso it always gets mounted:
UUID=abcd-0123 /boot/efi vfat defaults 0 2
- Mount it:
# mount -aYou should see some files in /boot/efi now.
- Install stuff needed for EFI boot. Remember, you are still booted into the USB recovery system, but these will install into the right place since the system is
# dnf install grub2-efi grub2-efi-modules shim
- Because the system is still booted off of the USB drive,
grub2-mkconfigdoesn't think the system is an EFI system at this point. We'll need to manually copy the GRUB config file:
# cp /boot/grub2/grub.cfg /boot/efi/EFI/fedora/grub.cfg
vi) and search/replace
- Now reboot and hit F12 at the boot screen to open the boot menu. Choose to boot off of the hard drive. You should get the GRUB menu and Fedora should boot!
- To be sure that this will survive kernel updates, once you've successfully booted into Fedora, try this and make sure it still boots:
# grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
- Go back into the Thinkpad setup utility, switch it to boot from UEFI only, and re-enable Secure Boot.
At this point, Fedora should show up in the boot menu that appears when you hit F12, and it can be set as the default using the setup utility. To boot Windows, either choose the Windows Boot Manager from the boot menu, or choose Windows from the GRUB menu. Either way works.
Aside from this painful series of steps which almost made me want to give up and just wipe Windows off of it completely, the T560 actually works really well with Fedora. I guess Linux isn't what it was 15 years ago — wifi, audio, suspend, OpenGL, display brightness, everything just works fine out of the box. No screwing with
xorg.conf, or any of that! And the battery life on this machine is magnificent!
Monday, March 9, 2015
I received a suspicious email a month ago via A Tale Ahead Photography's contact form:
From: Thomas Taylor <email@example.com> Hello, How are you doing ?,i will like to know your availability day in Feb,2015 just 4 hours service,also i will need portrait work done after the photography work is done after the event...............i will like you to get back to me with your availability day in Feb,2015 it a family reunion party..........i will like you to email back Asap .Do you accept credit card payment ? Regard Thomas T
It's not only distinctly un-American, but the grammar and syntax closely matches the style of emails from Nigerian princes. It's also worth noting that he filled in the "date of event" field on my contact form as "20 02 2015." In fact, I'm betting this is the side job of one such prince on days when he's away from his palace. Anyway, if you couldn't tell, I was getting set up for the classic fake check scam, except this time with a stolen credit card. What's neat in this particular case is that it's not just a generic scam, but rather, locally and specifically targeted against photographers like Annie & myself.
I thought I'd mess around a bit and string him along. Note that these aren't things I would say to a real client... I would never ask a client to reschedule a family reunion party for me, or matter-of-factly add 60% as a travel fee. But "Thomas" didn't mind! Read on...
Hi Thomas, Thank you for contacting me. I am available for your family reunion party on most days this month. What day and time is your party and where is it located? Thanks, David
From: Thomas Taylor <firstname.lastname@example.org> Yes good to hear this i am looking for Feb,20th but i don't know maybe the date is open,if the date is open with you that would be okay,also what is your accurate cost for 4 hours service?,and i can see you can handle my family reunion party photography service Photo size i want,get back to me with the accurate cost. 4x6 5x7 8x10 11x14 16x20 and 7 portrait of my family,and here is the address of the venue 470 West 7th Street San Pedro, California 90731. The event start 12noon. Regard Thomas
(The email above actually used four different fonts/sizes/colors. Copy/pasting from different templates?)
Hi Thomas, The cost for four hours of photography is $1150. How many of each print did you want? Our prints start at $1.50 for each 4x6". I am actually booked on Feb 20, though. Any chance you could reschedule for another day? Thanks, David
From: Thomas Taylor <email@example.com> Okay can i make it on the 21st? and i want at least two each of them so i want you to make it as fast as you can..... thank you.
Hi Thomas, Sure, the rate would be $1150 plus the 10 prints would would be a total of $125 extra. There is also a travel fee of $660 as your party will be approximately 6 hours from our studio. Would this total of $1935 work for you? Thanks, David
From: Thomas Taylor <firstname.lastname@example.org> Yes good, I am okay with the cost of $1935 does that include processing fee + tax cause i would need you to do me little favour cause i have a little issue with the payment of the venue the management of the venue for the event the manager told me he didn't have a credit card machine so i will need you to do me the favor to add his fee together with your fee he has to receive 1900$ thru via western union for the booking of the venue so i will like you to get back to me with the total cost so that i can make the payment today or tomorrow. Also , the reason why you are sending money via western union to the manager is because they have to receive payment upfront and their credit card machine is faulty at the moment. Thanks
Ah ha! There it is.
Sure, that's fine. Can you provide me with the name and contact info of the venue?
From: Thomas Taylor <email@example.com> Yes sure, i will give you the necessary info once you have run my credit card, and what type of credit card do you accept?
We accept all types of credit cards, but I need the contact info of the venue. Could you provide that information to me?
From: Thomas Taylor <firstname.lastname@example.org> Here is the number of the venue 312 681 0885 ask of Terry Lisa thank you.
312 is a Chicago area code. I guess they can't afford to buy a local VOIP number?
Hi Thomas, My phone is having issues and I can't dial long distance right now. The number you gave me is a 312 number. Does the venue have a local phone number? Thanks, David
From: Thomas Taylor <email@example.com> Sorry for that, you can also reach them on there email firstname.lastname@example.org soget back to Asap.
Hi Thomas, That email didn't work. Why doesn't the venue have a local phone number? David
From: Thomas Taylor <email@example.com> I don't know, heaven me i normally send them via email but for that phone i don't know.... So i want to know if you are ready for my card or not? because i want to make the payment so i will know i have payed upfront for the venue thank you david.
Sure, I am ready. I will try emailing again tomorrow. What is the credit card number?
From: Thomas Taylor <firstname.lastname@example.org> I will like to know all the neccessary informations needed on my Credit Card...
Hi Thomas, I just need the credit card number as well as whether it's Amex/Visa/Mastercard/etc. Thanks, David
From: Thomas Taylor <email@example.com> CARD NUMBER:[redacted] NAME ON CARD: Thomas Taylor C V V CODE: [redacted] BACK EXPIRATION DATE:[redacted] TYPE OF CARD: MASTER CARD BILLING POST CODE: [redacted, but in California] I will like you to charge on my card and get back to me with the approval code Thanks
Thanks Thomas. Would you like me to charge the amount in US dollars or Naira?
(Naira is the Nigerian currency.)
From: Thomas Taylor <firstname.lastname@example.org> US dollars what do you mean Naira? who is Naira? kindly charge my card in US dollars and get back to me with the approval code..
I ran out of things to say at this point. I should note that I immediately contacted both email@example.com and firstname.lastname@example.org to report the Citi-issued Mastercard as stolen, but never heard back.
Friday, June 6, 2014
Here's how to change the time zone in CentOS. This should work on both CentOS 5 and 6.
First, determine the correct timezone. You can do this using
tzselect (which just outputs some text and doesn't save anything), or by looking in
/usr/share/zoneinfo for the right file. I'm on Pacific time, so for me it would be America/Los_Angeles.
Now, back up your existing time zone file:
# mv /etc/localtime /etc/localtime.bak
Then symlink the desired zoneinfo file to localtime:
# ln -s /usr/share/zoneinfo/America/Los_Angeles /etc/localtime
Now if you run
date, the appropriate time zone should be displayed. There is one more step though. Open up the file
/etc/sysconfig/clock and edit it to reflect the appropriate zone. For example:
Without this change,
/etc/localtime will get overwritten and will revert to the previous time zone after yum or rpm updates tzdata.
Thursday, May 8, 2014
Annie and I have decided to take our love of photography to the next level and make it a career and a way of life — so far it has been going really well, and we've gotten lots of absolutely glowing feedback!
We're currently covering weddings and events around the San Francisco Bay Area, from San Francisco to San Jose and also the East Bay. Check out our website at ataleahead.com!
Thursday, March 20, 2014
Darktable's OpenCL isn't activated by default on Fedora when using the RPMFusion Nvidia drivers, apparently because Darktable can't find the library:
$ darktable -d opencl (...) [opencl_init] trying to load opencl library: '<system default>' [opencl_init] could not find opencl runtime library 'libOpenCL' [opencl_init] no working opencl library found. Continue with opencl disabled [opencl_init] FINALLY: opencl is NOT AVAILABLE on this system. [opencl_init] initial status of opencl enabled flag is OFF.
A quick, if hacky, solution is to just make a symlink to Darktable's directory so it can find the library:
# ln -s /usr/lib64/nvidia-304xx/libOpenCL.so.1 /usr/lib64/darktable/libOpenCL.so
(Obviously, adjust the paths based on your system.)