Showing posts with label python. Show all posts
Showing posts with label python. Show all posts

Tuesday, November 3, 2009

Have a Dell Laptop and want Kubuntu with Recovery Partition...

Well, I recently purchased a Dell Mini 10v, and wanted to have Kubuntu 9.10 on it. I purchased it with Ubuntu, but it came with Ubuntu 8.04, and it was the lpia version. Neither of these appealed to me, however, the Dell recovery partition did. So, I set out trying to find a way to get Kubuntu on there with a recovery partition.

Thanks to Mario Limonciello (superm1), who works for Dell, I was able to get a process that more or less works, and gives me a recovery option for Kubuntu 9.10.

Here's basically what you need to do.

1) Download the DVD iso for Kubuntu Karmic 9.10 to your system.

2) Visit https://launchpad.net/dell-recovery/+download and grab the latest dell-recovery deb (at least version 0.27) for Karmic and install it from any Karmic system (gdebi can be used here). This will not work from a live CD/DVD as the process requires a lot of temportary space to work with, so you must be in a working Karmic install (Ubuntu, Kubuntu, etc).

3) Now, run the dell-recovery-media program as follows:

dell-recovery-media --builder

The --builder option is a recent addition by Mario, which allows building Dell recovery media from any Ubuntu ISO, so it will work with Kubuntu, with a few tweaks.



4) Click the Forward button and you are given an opportunity to choose the ISO to build the Dell image from.



Click on Choose Image and select the Kubuntu DVD iso you downloaded earlier.



The screen will update and show some details about the image (which should show Kubuntu Karmic 9.10).

5) Click the Forward button, and hit Fetch/Update GIT Tree.



This may take a few minutes to complete.



Once the fetch is completed, hit the Close button in the GIT Tree Status window. From the GIT Tags drop down, select Origin/Master.



6) Click the Forward button to go to the FISH screen. This allows you to add additional packages to the install process. We are going to skip this for now (I may expand on this in a future post).



7) Click the Forward button and choose to create a USB Flash Drive



8) Click the Forward button and enter a version number (I chose K00 for Kubuntu ), then click Apply.



Enter your password when prompted to Authenticate. The program will now start building the new ISO to copy to the USB Stick.



9) This will then launch the usb-creator application. At this point, you should be able to simply click Make Startup Disk (See some of my previous blog entries about usb-creator-kde for more info about this).

10) After the startup disk completes installing, you can close it and the Dell Recovery window which pops up after.



11) The last step you need to perform is to remove the del-recovery deb from the newly created USB Startup Disk, as it is gtk based, and has some additional deps that are not found on the default install media and will thus fail during the install process. Assuming the mount point for the media stick is /media/disk, you would preform the following command to remove this file:

rm /media/disk/debs/main/dell-recovery_*_all.deb

12) It is now safe to unmount the USB Stick or reboot if you wish to install from it now.

13) After you install the new dell image, you should re-install the dell-revocery application. Unfortunately, one of the deps is currently missing from the package. To get around this, you will need to install policykit-1-gnome as follows:

sudo apt-get install policykit-1-gnome

Then use gdebi to install dell-recovery, which you downloaded (refer to step 2 for the link).

14) Now, you can use dell-recovery-media to rebuild the ISO from the recovery partition and make as many USB disks or ISO's as you want. As well, you can now access the restore option in grub (hold space bar during boot to expose the boot options).

I hope this is useful to you. I will be working with Mario to see how hard it would be to create a Qt/KDE front-end for the dell-recovery package, so that we can avoid having to remove anything.

Monday, June 15, 2009

usb-creator-kde... for karmic

So, during UDS, the Kubuntu team decided it would be nice to work on making Kubuntu easier to install on netbooks.

The are several things that need to be adjusted to make the netbook experience enjoyable, but the first real thing required is a native client for putting a Kubuntu desktop image into a usb stick.

There already exists a PyGtk front-end, but no PyKDE one. At UDS I decided to take on the task of porting the existing PyGTK client to PyKDE.

At this point, I have ported much of the required code base to support a native client for Kubuntu. There are still some bugs to fix, and some of the new code for the PyGTK front-end does not yet work 100%, and hence neither does the PyKDE front-end.

If anyone is interested in looking at the code and feels like offering advice, it can be found here: https://launchpad.net/usb-creator

To check out the code: bzr branch lp:usb-creator

Anyway, I am working closely with the usb-creator team, and hope to get this working/completed within the next couple of weeks.

Thanks to all who have helped thus far.

Wednesday, November 26, 2008

My recent development work... aka training excercise

I recently began to dabble with Python, and I am really starting to like the language. It is quite powerful, and intuitive, and allows for some really rapid development, especially when coupled with pyKDE4 (KDE Python bindings).

I was originally trained as a programmer, primarily using C/C++. However, in more recent years, I have been mostly programming in bash and perl, all under work related coding.

With my recent involvement with Kubuntu, I have felt it necessary to learn python, as many of its support applications are written in that language. So, what better way to learn than jump right into a new project. That's where todays post comes from...

I have recently submitted two new projects to Launchpad, with the following two goals:

1. teach myself python and pyKDE
2. hopefully fill a gap within Kubuntu in time for Jaunty

At this point in time, the projects are mere shells/placeholders, and really do not do anything useful besides provide a tray icon and a main window and help dialog. However, this is all a part of the learning process, and more code will appear as I test out various things.

So, what are these two projects? Well, the first is ufw-kde, a graphical interface to the Uncomplicated Firewall. The second is clamav-kde, a replacement for Klamav, which has yet to be ported to KDE4.

Anyway, my primary goal is learning python and kde programming via the python bindings. If these do indeed turn out to be useful in their own right, then that's awesome too.

If anyone is interested in help out on either project, feel free to contact me.

Thursday, October 30, 2008

Kubuntu Intrepid and Desktop Notifications

For those that aren't aware, Intrepid Ibex is just about ready to hit the streets (sometime Thursday). There have been a lot of changes in this release, and the Kubuntu desktop has had its share, including the switch to KDE 4.1. However, this post isn't about the new release, but rather a new application within this release, called update-notifier-kde.

The app was written by our friend Jonathan Riddell, and has been steadily improved upon by members of the Kubuntu team.

What is update-notifier-kde? It's a small python app that sits in your system tray and monitors your system for updates, crash logs, reboot requests, and other notifications. It integrates tightly with adept/apt, apport, and package update hooks.

Providing the user with useful feedback is very important to the whole desktop experience, and this app delivers.

Over the last few months, I have added a few tweaks here and there, and fixed a few bugs reported during the Intrepid alpha and RC testing. Currently, I am working on replacing the old KPassivePopup with the better KNotification.

It's a work in progress, but by using KNotification, the user is able to change how notifications are sent/received for any event update-notifier-kde generates, which was not the case with the KPassivePopup.

Configuration of these notifications is done via the system-settings. This can be seen in the following screenshot:


With KNotification, the user can completely disable the Popups, or add sounds, etc. This is important, because not all users are equal, and not everyone wants to see the Reboot Required Popup. There were a few bugs surrounding this very thing, and I'm glad to say, users will have the ability to finally turn this off if they choose to (not that I recommend disabling any of the default notifications).

So, I said it's a work in progress and that's for a couple of reasons:
  1. The code changes aren't yet uploaded (expect version 0.10 to have the change included)
  2. It needs some work on localization
  3. The KNotification isn't anchored correctly  (IMO) so I need to review that


Below is a shot of the current KPassivePopup. This is the KDE 3.5 bubble, and is non-interactive.


And here, we have the newer KNotification popup.


I hope to complete these changes within the next day or two, so this should hit intrepid updates in the near future.

Tuesday, April 17, 2007

State of the Nation...

Well, no - not really... more a state of what I am working on currently (or more accurately - haven't been).

I've been pretty busy with work as of late, just having returned from Mississausa for our quarterly managers meeting.

Anyway, it's been a number of weeks since I last provided any updates, so here goes:

1) Wine-Doors is progressing nicely. I have been testing snapshots of the application on and off, and I think this is going to be a great little application.

2) Bug fixes and general ebuild updates - it's a constant battle to ensure we keep up with the latest portage revisions. Most times I get the ebuilds bumped on the same day, however, if I do not, wait 24 hours before posting a bump request as a courtesy. No one likes a zero day bump request

3) Teaching myself python. Yep, I went out and bought my first dummies guide for python. I already know how to program in about 10+ languages, so python should be a breeze. Really, all I need are the basics for the syntax, etc. Anyway, the goal here is to get up to speen on python so I can possibly write some screenlets myself :)

Anyway, I hope to get back to tackling some of the items on my TODO list soon.