buzzy: Rigby from Regular Show sitting in front of a computer (Computer Rigby)
This is long because I just wrote what I thought without really trying to organize it )
So the obvious benefits from all this work: faster startup (at least 21.9% faster) and less RAM usage (about 18.3% less). Most of the hardware support in the stock kernel consisted of modules, and I compiled everything in, but my custom kernel image is only 11.5 KiB larger while reducing the modules folder from 38.9 MiB to 12.5 KiB of just configuration files. (I would've skipped module support entirely if it didn't mean I'd lose my customized boot screen and initrd support.) A less obvious benefit comes from manually configuring the horizontal and vertical screen resolution in the Input Device Support area of the kernel configuration. Because a maximized VirtualBox window is kind of a weird size (1366x672), I can actually specify that weird size and have the mouse work better. Previously, the mouse would jump around the screen if I got too close to the edges of the window. That could just be a coincidence though. If you contact me not too long after this is posted, I could send you my .config file. I would've put it in this entry, but that file is huge. I may try this with a non-virtual machine in the future. After all, I still have the kernel source on a server on my local network.
buzzy: Rigby from Regular Show sitting in front of a computer (Computer Rigby)
With Ubuntu giving me trouble because I prefer MariaDB over MySQL, I decided to look for a Linux distro that wouldn't give me issues. One mentioned on the MariaDB website was Arch Linux. Wikipedia's description of it as focusing on "simplicity from a developer's standpoint rather than a user's standpoint" made it sound like it was going to be a major pain to get up and running. Arch Linux's wiki made it almost seem like it was a Linux version of what I expect to get out of a FreeBSD system: a basic system that allows you to tack on only the bits you want. I read the Beginner's Guide before actually attempting the install, then attempted it on a VirtualBox machine. It was as smooth as a manual install could get. Basically, those directions are written so well, you have to be trying to screw up to fail. (Either that, or you have a special situation they didn't think of.) It wasn't long before I had a working server running lighttpd with PHP and MariaDB. Basically, everything installed so quickly, most of my wait time was the time to download everything.
The hope with this setup is that I'll be able to quickly test my PHP code on both Windows and Linux. Currently, I have to copy the code over to my Linux machine and all the data files, which could take several minutes. Since a connection from a virtual machine on my computer to my computer should be very fast, I could just use Samba on my Arch VM for access to the files. I set up the virtual machine with one NAT network connection for Internet and a separate host-only network connection for a 1 Gbps link to the database and files. (When I did this on my Windows XP virtual machine, it couldn't figure out how to get to the Internet, but it would appear Arch's network stack is smarter.) Samba doesn't seem to like mounting subfolders of shares, so I had to make one share for every subfolder I wanted to mount. That worked out to five shares instead of two. The first time I tried running lighttpd off of the shares, it worked fine, except a lot of graphics didn't load. This was solved by enabling the iconv extension, which I didn't realize was disabled. (The reason iconv is needed for generating graphics is because the database produces Unicode file names and I have to make them very basic ASCII or I won't be able to read files when the code is run on Windows.) The next time I started the virtual machine, all sorts of weirdness happened. The DHCP on the host-only connection didn't run, though the Samba shares were mounted. Even though they were mounted according to the output from mount, I couldn't access them. Actually, just cding into one of the mounts locked up the VM. I eventually got it working by turning off the DHCP on that connection and setting a static address. After that, it was fine, though there were issues with write permissions on the shares. That was fixed by adding ,file_mode=0777,dir_mode=0777 to the options portion of each mount in the fstab file. I also needed to change the permissions on the parent directories and finally everything worked. I also couldn't automatically mount the shares without a very noticeable lag on startup (and only two of five shares actually being mounted), so I added ,noauto to each of the mounts in the fstab file and made a script that I would run upon logging in that mounted those shares. After that, everything worked as it should and I was ready to handle coding for both OSes. It wasn't ideal, but it works.
The whole thing about how much you have to do manually bit me when I decided to update the system one day. I checked the main Arch page and there was no recent news about potential updating problems (most recent was from April), so I updated...and got a mysterious error. Luckily the error didn't leave my system broken. I looked around for information about that error, but nothing came up. Eventually, I went back to the main Arch page and there was a news item that wasn't there before. Following those instructions fixed the error. Although I can keep this virtual machine running decently, I'm wondering how I'd be able to run this OS on a physical computer. I won't need to mount Samba shares, but I will be dealing with a wireless card requiring special firmware. Of course it would just be easier if Ubuntu and friends allowed MariaDB to be used...
buzzy: Rigby from Regular Show sitting in front of a computer (Computer Rigby)
After lots of tinkering with my Kubuntu machine's kernel, I think I got it to a good state for what I want to use it for. I basically removed everything that I knew for sure wasn't needed, then whittled away the rest. When I was comfortable with that, then I looked at the output from dmesg to see if there were any errors or general weirdness. Most of those were cleared out by removing offending parts of the kernel that it turned out I didn't need. In the end, my computer boots about 10% faster than it did before I started tinkering, and I think that's pretty awesome. After all that work, I found I still had a few problems, or things that look like problems. Here's a few of those things: Cut for being gigantic )
buzzy: Rigby from Regular Show sitting in front of a computer (Computer Rigby)
Geez, it's already February. Time flies when you're doing nothing. Ugh, I went into LiveJournal after all this time...After logging in, I was greeted by a long list of popular Russian journals and tons and tons of whitespace. Like 75% of the screen's width was empty. Now I remember why I hang out on Dreamwidth. At least they didn't force the new, horrid friends page on everyone yet. The key word being "yet". I remember putting in a lot of time to get my layout the way I wanted it; that's one of the benefits of having a paid/permanent account — you can customize stuff. Anyway, my LJ friends list is pretty much empty except for the RSS feeds I subscribe to. I just wish I had the same account level on Dreamwidth that I have on LJ. I could use some more icons on DW. Also, I noticed that LJ got rid of their secure login server. Previously, you could go to an HTTPS site to login so your password wouldn't be transmitted where people could intercept it. Going to that HTTPS site redirects you to the regular HTTP site and there's no choice to log in securely. Considering Firefox didn't throw a fit when I went to the HTTPS site, their certificate must still be valid. I didn't just want to talk about just turned out that way when I had to go to LJ to make sure I had the same icons on both LJ and Dreamwidth.
Um, I managed to get a few bucks from doing some quick work on a computer. Every six months or so, someone brings me their computer to do preventative maintenance. This time, it took only about an hour. She keeps the outside of her computer surprisingly clean, so there's only hard drive cleaning to do. (I managed to clean 4.3 GiB of junk on its ~38.4 GiB hard drive.) Her computer is pretty old (it turns nine years old in April), but it keeps chugging along, so I keep maintaining it. Maintenance is a lot cheaper than waiting for some catastrophic failure. The only hardware change made was maxing out the RAM in 2010, so the hard drive is the next likely failure. Also, at the rate she's filling up her hard drive, she will completely fill her hard drive in two years and four months despite maintenance. (Why yes, I actually track hard drive space free for computers I maintain, though I do it more to track how much junk I've deleted.)
Oh, and my Kubuntu machine decided it was going to nuke my custom kernel. (Or that's what I thought, until I rebooted and it still used my custom kernel. The Ubuntu kernel says it's 3.5.0-23 when it's, so it seems like everything Ubuntu comes out with in the 3.5 series will have a lower version [to Grub2] than a custom kernel.) At least MariaDB came out with an update, so the updater won't keep trying to erase MariaDB and replace it with MySQL. Like it did before, the updater told me that there was one amount of updates, but then it actually downloads far more. Then again, it says the kernel update was about 2 KiB, and there's no way the kernel is that small. Also, the notification system told me about there being updates twice: once before I opened the updater, and again when the updater was downloading. I guess that's because the GUI for updating and the updating guts are decoupled. The GUI can't just tell the notifier, "dude, I got this." There's a bunch of different kinds of notifiers and updating interfaces, so I doubt any of them would talk to each other. It would also be nice if it could download updates in the background (especially the non-destructive ones, i.e., the ones that don't require removing other things), and do that without having to supply the password...basically what Windows does. If I walk away from my computer for an hour or so, I'd rather come back and find it has updates that are ready to install than have to wait ten minutes for them to download. I don't even know if that's possible.
Anyway, on my kernel, I finally shrunk it down some more. This latest custom kernel uses 337 KiB less memory and 299.5 KiB less hard drive space than the stock kernel. It also boots 2-3 seconds faster. Also, I just noticed that Ubuntu is kinda far back as far as kernel versions go; they're on the 3.5 series when the latest is 3.7. 3.5 is already at its end of life and only gets "unofficial support" (security updates, I assume). My custom kernel is; the stock kernel is the same version, but it's labelled as 3.5.0-22.34. I'd like to have the latest in the 3.7 series (3.7.5), but I'm not that smart at all this custom kernel stuff. The big thing is the firmware required for my GPU to work properly with the 3.5.x kernel may not work with the 3.7.x kernel. I'm fairly certain that the rest of the hardware, including the wireless, is supported in the 3.7.x kernel without any extra junk needed. By the time Ubuntu switches to 3.7, they'll have a 3.9 I'll have my kernel configuration perfected so I won't have to worry about the hardware settings when moving my kernel configuration file over.
buzzy: Ed (from Ed, Edd n Eddy) with a wolf pelt on his head (Ed 1)
I decided to go ahead and do what I said I'd do in yesterday's entry and build a custom Linux kernel on my Kubuntu machine. I figure this will save some RAM. But first, I'd need to take up a ton of hard drive space. The packages you need just to build a kernel are slightly more than a gig and the kernel source is over 100 MB. Then I discovered at the end of the document I was using for instructions that there was a way that involved less downloading and less space. Anyway, the stock Ubuntu kernel uses 6719 KiB of memory and the vmlinuz is 4.90 MiB. When it's idle and at 50% screen brightness, it uses 21 W of power. (I read that the kernel settings could affect power usage, so that's the only reason I noted it.) After hours of downloading, configuring, and compiling, my kernel was installed. It booted, but I almost thought it froze because the screen was black and there was no hard drive activity. Then the login screen came up. This first-try kernel uses 6627 KiB of memory (about 1% less) and the vmlinuz is 4.81 MiB (90720 bytes less). After this, there were two things that didn't work properly that I have to look into: the sound card (in the regular kernel) and the video card (restricted). Even without having the right video driver, everything seems to be responsive enough; I'm not going to attempt to do anything that requires 3D acceleration. The sound card support I included was AC'97 and I realized that the audio is actually HD Audio. (I didn't think this computer was new enough. I didn't see anything about HD Audio in lspci...) I figure once I get the audio working, I can work on getting the restricted video working correctly. Another compile later, and my audio was working. I found that I just needed to set the CONFIG_EXTRA_FIRMWARE and CONFIG_EXTRA_FIRMWARE_DIR lines to "radeon/RS690_cp.bin" and "/lib/firmware", respectively. One more compile and my kernel didn't have that 60 second delay. After this, the kernel uses 6786 KiB of memory (more than it used when I started...probably because I moved stuff I knew I needed from modules to built-ins) and the vmlinuz is 4.91 MiB (bigger again). Maybe I'll see if I can shrink it further later on. There were some drivers that I wasn't sure about, so I figure a closer look at that part would yield a leaner kernel.
buzzy: Ed (from Ed, Edd n Eddy) with a wolf pelt on his head (Ed 1)
I like that Kubuntu (and many other Gnu/Linux distributions) allows you to update just about every piece of installed software and their required libraries from one simple program. It also lets you update everything from a not-as-simple terminal program. Anyway, I fired up my Kubuntu computer to make sure it was up to date before copying some files over. I didn't want to start copying until I was sure it wasn't going to bug me. I have the particular updater used by Kubuntu, Muon Update Manager, as a shortcut on my desktop. I ran it, and it already had the list of updates waiting for me. I let it download the roughly 1.6 MiB of updates and everything looked normal until I got some strange error I probably should've wrote down. Then it closed on its own. I figured if this was really a problem, it would give me that same error if I opened it again. This time, I got an error that the updater wasn't even installed. It wasn't in the Kickoff menu either (like the Start Menu, only not). All my graphical package management software vanished. While this may seem like a boon (no more alerts bugging me to install updates!), I do want to keep this computer secure, so updating is important. I had to go into the terminal and bring the updater back. I used a sequence of commands like this (though any one of them might not be required):
apt-get update
apt-get upgrade
apt-get install --fix-broken
apt-get autoclean
apt-get autoremove
apt-get --purge remove muon
apt-get install muon
After that, I could start the updater like it was there the whole time. This, sadly, is not easy for most people. (i.e., I can't picture my grandma going into a terminal and typing all that stuff.) It got a lot worse. I rebooted, and after logging in, nothing happened. All I saw was the login screen's background. Nothing else appeared. Remembering that Ctrl+Alt+F1 would give me a terminal, I logged in and attempted to get KDE's missing bits back in place. I found directions on how to do a system upgrade and figured they were close enough for reinstalling missing packages:
apt-get update
apt-get install -f
apt-get dist-upgrade
apt-get install kubuntu-desktop
shutdown -r now
The second and third command did nothing, so I'm pretty sure they weren't necessary. Then I realized that my MariaDB server no longer functioned. WTF? Did this thing screw up all my packages? As it turns out, some other program decided it liked MySQL better, and removed MariaDB from my computer and installed MySQL instead. I had to type this long thing to get my MariaDB back:
apt-get install mariadb-server-5.5 mariadb-client-5.5 mariadb-server-core-5.5 mariadb-common mariadb-server libmariadbclient18 libdbd-mysql-perl mariadb-client-core-5.5 libmysqlclient18=5.5.28-mariadb-a1~precise mysql-common=5.5.28-mariadb-a1~precise
I'm guessing this problem with MariaDB vs. MySQL is the whole reason my packages got broken in the first place. MariaDB is at 5.5.28a, while MySQL is at 5.5.29, so the package manager thinks 5.5.29 of anything is better than 5.5.28a of MariaDB, so it tries to install that until the package manager throws a wobbly and craps out. Here's a longer and more technical version of what I said. I guess once MariaDB does their jump to 10.x, they'll always be ahead of MySQL. Maybe people with MySQL will magically find MariaDB installed on their servers. Anyway, after all that work, it finally worked right.
I don't know if this is my Windows machine, my Kubuntu machine, or my router, but I thought it was pretty awesome that when copying stuff between my Windows and Kubuntu machines, even if I specifically tell it to copy to the IP address assigned to the wireless, it will copy using the Ethernet connection if it's available, allowing it to go faster. With that machine in order, maybe I can get to do the ultimate in things I couldn't picture my grandma doing: compiling a custom kernel.
buzzy: Ed (from Ed, Edd n Eddy) with a wolf pelt on his head (Ed 1)
Rather than reinstall Windows XP on an older computer my brother gave me, I decided to install an up-to-date Linux distro and use it as a server...sort of. I decided on Kubuntu. I started using KDE back in the day in the 3.x days...either 3.1 or 3.2, though back then I ran it on FreeBSD. I liked that it was a nice graphical environment for an otherwise entirely command-line based operating system. For practical reasons, I couldn't use non-Windows operating systems for anything other than servers, but whenever I try them again, I usually gravitate to KDE. A lot of what I'm about to say probably applies to Linux in general. So on to the experience:
This is really long. )


buzzy: Steven Universe from the show of the same name with a big smile (Default)

January 2016

101112131415 16


RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 26th, 2017 12:54 pm
Powered by Dreamwidth Studios