Saturday, 2 December 2017

Dual booting Fedora 27 and Windows 10

I recently built a new desktop PC.
My previous machine has been in use for nearly a decade, so it seemed like time, and I've been wanting to experiment with watercooled systems.
I wasn't planning on making a post of it, but there were a couple of unexpected issues I ran into that I felt were worth documenting for future reference.

Dual Booting

I usually dual-boot Fedora Linux and Windows.

Unfortunately this time round, that was not as straightforward as usual.
After quite some time of searching, I found the answers, but it was a lot more hassle than it should've been, so I'm writing up my experience here in the hope that it may help others who are trying to achieve a similar setup.
The TL;DR of the problem is that it only ever seemed to be able to find the Windows boot loader, or the Fedora one (When I've done this in the past, it would find the GRUB loader, which would detect the windows one and add it as an option in the boot list, but this time it was not detecting the windows loader.)

There were quite a few failed attempts, so I'm not including an entire history, but this is the setup that worked.

Firstly, I used parted from a Fedora live disk to format the SSD into 2 partitions (a 50-50 split), one ntfs partition, one ext4.
Then I rebooted and installed Windows 10 to the ntfs partition. The installer actually complained about a lack of space, so to fix that I ended up removing the ntfs partion and letting Windows create it's own in the free space (it ended up using it's 50% of the drive to create multiple partitions.).
Another reboot to Fedora 27 live, and worked through the anaconda installer, specifying that it use it's ext4 half of the drive. Again, it wanted to use that space to repartition in it's own way, which is fine.
The bit that appears to really matter is to ensure that Fedora creates a /boot/efi partition in the same place that Windows creates it's /boot/efi partition (see screenshot)

The "Unknown" partitions at the bottom are the ones created by the Windows installation.
The /boot/efi partition is sdb4, as is the Fedora-created one (highlighted).


I was concerned about them being the same partition and whether or not Fedora would overwrite what was already there, so I created a backup image of that partition onto the other storage disk in that machine before proceeding with the installation.
Then began the install.

Once complete, I rebooted, and the GRUB menu appeared, with the Windows option available.

Networking Issues

The motherboard that I have chosen is the ASUS Strix Z270F.
It has onboard ethernet, which worked absolutely fine out of the box on Fedora, but on the clean Windows 10 install, the LAN controller was not detected.
Again, there's lots of forum posts with people suggesting various solutions, none of which seemed to work for me.

For some reason, installing the LAN driver direct from the ASUS-supplied driver disc didn't work - it failed because it couldn't detect the hardware.
Even opening up the disk, navigating to the LAN folder and running the Intel setup application from there didn't work.

The only way I found it would work is opening up "This PC", going to properties, then Device Manager, and finding the hardware there (it will be under "Other devices" and have a yellow "!" marker to show it's not working)
Right-click on it and select Update Driver Software.
Then "Browse my computer for driver software", and navigate to the driver disk's LAN folder.
Windows then detects and installs it and it works fine.

I can't begin to guess why installing it that way works and the other ways don't, especially as it's the same driver, but whatever. It's fixed.


Spec

MotherboardASUS Strix Z270F
ProcessorIntel i7 Kaby Lake 4.2Ghz
RAM32GB DDR4 3200MHz Corsair Vengence LPX
Disks500GB SSD, 4TB HDD
GPUGigabyte GTX 1050 Ti 4GB
CoolingCorsair H55
OSFedora 27 & Windows 10 Dual Boot

Friday, 3 November 2017

Desk Stationery Organiser with pin and chalk board sides

This project was a spur-of-the-moment "Pinterest request".

Without any prior planning, I was given a picture from Pinterest and asked "Can you make me something like this?"

The pin in question was this desk organiser:


I found some thin plywood offcuts that were roughly 2/3s to 3/4s of the length of a new pencil, so figured that was about the correct height.

The length of the offcuts was slightly longer - approx 9 1/2 inches. It seemed a bit too much to split into 2 4-and-something inch pots, so rather than cut it down and create waste, I'd make my desk organiser three pots of roughly 3 inches each.

For the width, I figured it would look best if the pots were square, so I found some other offcuts and cut them to 3 inches.



The end result is a three-pot desk organiser with pots of that are 3x3 inches by somewhere between 4 and 5 inches tall.

For the base, I cut a length of pallet wood and cut grooves along the position of each of the middle dividers, and in turn cut a short section of each divider, so that the dividers would sit in the grooves:


On one end I cut a finger groove, as sticky notes are a standard 3x3 inch square, so one of the pots could be used as a dispenser for them.

I took apart a 'corkboard' (which turned out to be a thin veneer of cork over cardboard, and glued this around one side and the back.
On the front (the sticky-note side) I took part of the cork veneer and glued it on - purely for aesthetic reasons.

On the other side I attached a thin, flat piece of hardboard coated in chalkboard paint (which according to the tin was supposed to also be magnetic, but in reality isn't.)

I re-purposed some of the old corkboards frame to create a neat border around it all, and it was done.

A post shared by Anthony (@darkmidnight_diy) on

Sunday, 15 October 2017

Reclaimed Wood Pirate/Treasure Chest

The first step was to join the slats together to create the boards that will form the sides of the chest.

As I don't have access to a planer/jointer this was a case of hand planing boards where necessary and being selective which boards matched together best.

In the absence of enough clamps I screwed the boards to a piece of scrap wood to hold them in place whilst the glue dried.
A post shared by Anthony (@darkmidnight_diy) on

With the boards joined, I could get a better idea of how the panels would fit together.

A post shared by Anthony (@darkmidnight_diy) on

The panels were too big to cut on my small tabletop saw, so I opted for handcut box joints.

I measured them so that the would line up with each of the slats on the long sides of the chest.

Cutting the curved top required some maths to match up the number of slats that would form the lid with the angle that would need to be cut in each slat to form a proper semi-circle.

A post shared by Anthony (@darkmidnight_diy) on

Once these were cut I glued them and used a metal bar bent to a curve to temporarily screw them to as it was not possible to use a clamp.

The handles are simple bought. The hinges were standard trangular shaped hinges, but in order for them to work with the curve of the lid, I bent them to a curve by heating them with a heat-gun and a hammer.

Finding a suitable padlock was more difficult - sure, DIY stores sell padlocks, but I wanted something more old-fashioned looking to fit the "pirate chest" aesthetic. After quite a bit of searching I found this one at a car boot sale.

A post shared by Anthony (@darkmidnight_diy) on


For finishing, I used the heat gun to heat the wood to the point where it started to brown (almost like toast), without burning. I thought about going the burn-and-sand method, but at this point I had invested enough time in the project that I didn't want to risk it.

Finally, the chest was finished with a coat of oil to help highlight the grain

A post shared by Anthony (@darkmidnight_diy) on

Sunday, 1 October 2017

Can Crusher

At work we get through a lot of cans of soft drink, and an comment about incentivising recycling gave me the idea of making a can crusher.

So I doodled up this sketch, and decided to set myself the goal of building it without leaving the workshop.
















With my initial sketch I was envisaging using PVC pipe as the container for the can, but it turned out that I didn't have any. What I did manage to use instead was this metal tube - it was scrap from an old side table.

Cutting apart the tube was substantially trickier than PVC would've been though. The ends were cut off with a hacksaw, and the middle 'window' section where the can would be loaded was done with a Dremel, a file, and a lot of patience.

The two plugs that would form each end were cut from a scrap of kitchen counter top, cut by bandsaw and trimmed to create a tight fit for the base end, and slightly looser for the plunger end.




Building the rest of the frame was a fairly straightforward process, the plunger became a metal rod scavenged from an old wardrobe rail, and the frame from lengths of 1cm x 1cm wood.

Initial testing showed the wood wasn't quite strong enough on it's own and started to crack, so I took the whole thing apart and reinforced all the joints with metal u-channel.


In the end, the design works, but it's a lot bulkier than I'd originally hoped, and would be best suited to perhaps being mounted next to a recycling bin, or maybe a can vending machine - as the test video below shows, it's a bit wobbly when just free-standing.


Monday, 4 September 2017

LAN-party in a box, part 3

Part 3: The software side
Finally got round to tidying up the code. There's the arduino sketch which powers the lights, and a java application that runs in the background on the server, reads the server logs and will produce the serial commands that are sent to the arduino.

It uses the RXTX serial library, and the code itself is available on GitHub at https://github.com/darkmidnight/UnrealLANBox

There's still room for plenty of improvement, like getting the lights to flash when a flag has been taken.

I also put together a video showing the build process and a demo of it in action, see below

Tuesday, 25 July 2017

LAN-party in a box part 2


Part 2 - A new case

When thinking of a new case for the LAN box, I wanted to ensure it was easy to setup, and as portable as possible. As portable typically means 'small', it was necessary to consider the heat that would be generated by the computer when it was in use.


I purchased this ammo box from the local army surplus years ago, and it's only been used for storage, but it fits the bill nicely, it's fairly small in relation to the flight case I'd used before, has a handle for portability, and being metal should help dissipate the servers heat during use.

On top of all that, being an ammo tin, it fits the military/industrial aesthetic of Unreal well, but I wanted to do something to set it apart.

While I was planning this project, we were joking during our weekly games that we needed some kind of trophy that each weeks winner could keep on their desk, so I was looking at options for that, and I was toying with the idea of creating the iconic Unreal logo in brass, to create a shield-type trophy.

Then I figured we could combine the two ideas.


To start with I printed the logo to fit the 20x20cm brass that I ordered, and stuck the logo to the sheet to use as a template.

My original intent was to cut the brass on the bandsaw, but after a bit of testing, it was incredibly slow, and I found it easier to start by drilling around the logo, and then use a Dremel to cut out the shape by joining the holes together. From there it was just a case of grinding and filing down the edges.

The same process was used to cut a hole in the side of the ammo box for the window to be mounted, though as the metal was quite a bit thicker, I used an angle grinder for grinding down the edges.

The brass was glued and sandwiched between two sheets of clear acrylic, and mounted into the hole.

A post shared by Anthony (@darkmidnight_diy) on

The original netbook that I used was too wide to fit the box, but I found another that just about fit - although I had to remove the screen, the battery, and pretty much anything else I could get away with ditching.

The next step was to add a band of WS2812 LEDs on the inside of the case, around the window, so that the logo could be backlit. To control them I used an Arduino Pro Micro, which I can in turn from the netbooks serial port. All the code will be covered in part 3.

A post shared by Anthony (@darkmidnight_diy) on

Update: Part 3 available here

Wednesday, 28 June 2017

LAN-party in a box, part 1


Part 1 - The Story So Far
 
The title’s pretty much self-explanatory. My colleague, Ray, and I were talking about “The good old days” of online gaming – before Call of Duty, when the dominant games were Unreal Tournament, Quake 3, Counterstrike and the like.

We were toying with the idea of trying to run a LAN game over the work network, but figured the bureaucratic headache that would cause wasn’t worth it.

Then I got to thinking about how to cram everything we’d need for a LAN game into a single portable box, and could easily be set-up, used and torn down again within a lunch hour.

The great thing about returning to older games is that the system requirements, that once required hi-end PCs will now run on pretty much any old commodity hardware. What once meant lugging around heavy, bulky desktops, separate monitors and keyboards, could be replaced with a modern, lightweight laptop.

Ray was bringing in his laptop, and I setup an old laptop for me to use.

I installed Fedora 25 from a live CD (no particular reason for this distro, other than I had a live CD for it to hand – I’m sure others will work fine) Installed WINE, and the game.

We also wanted to use a dedicated server, so I dug through my stack of old hardware to find something to use - and I setup the server using an old netbook.

The networking was provided by an old home router of mine, which supplied DHCP configuration, making the network a straightforward plug and play.

This whole setup was stuffed into a metal flight-case for taking into work, and worked well for a spot of lunchtime multi-player, but there were a few downsides:

  • Cabling – lots of mains plugs and network cables.
  • Size - it's quite a substantial amount of gear to lug around - the flight case measures 33x46x15 cm and is packed pretty full.
  • Although UT runs quite well in WINE, there is definitely some latency. The server seems fine, but graphically on the client machine, it's noticeable
The original setup - the netbook in the background is the current server.

Obviously something needs to be done to address the shortcomings, so this will form the basis of my next project - it should be a nice mix of DIY (for the case) and tech (hardware, software config, networking etc).

Update: Part 2 is now here