FreeBSD PXE Network Install

Sometimes you need to perform a network installation (i.e. when no USB or DVD drive is allowed to boot, but you can boot PXE). In case of FreeBSD you can use DNSMASQ to serve the DHCP that will assign the initial client address and configuration along with PXE boot image served over tFTP. At this point you will have bootloader running, so you can serve filesystem over NFS to obtain working environment and/or the installer..

  • Create a directory that will hold the target filesystem over network. In my case that was
    /usr/local/tftp/FreeBSD
  • Put OS/Installer files inside above directory
    cd /usr/local/tftp/FreeBSD
    wget http://(..)/file.iso
    7z x file.iso
  • Edit /etc/exports to export the filesystem over NFS
    /usr/local/tftp/FreeBSD -ro -alldirs -network 192.168.0.0
  • Install the dnsmasq
    pkg install dnsmasq
  • Setup the /usr/local/etc/dnsmasq.conf
    enable-tftp
    tftp-root=/usr/local/tftp/FreeBSD
    
    dhcp-range=192.168.0.50,192.168.0.60,255.255.255.0,1h
    dhcp-boot=boot/pxeboot
    dhcp-option=option:router,
    dhcp-option=option:root-path,/usr/local/tftp/FreeBSD
    
  • Restart services
    service nfsd onerestart
    service dnsmasq onerestart
  • In case you get bootloader running but troubles with NFS make sure that mountd is running. Also you can see who is using the NFS shares with
    showmount -a

PXE Boot always use initial DHCP/tFTP to fetch configuration and bootloader, so the first stage is similar and should work with other Operating Systems and Bootloaders as well, the rest is up to bootloader itself..

Xperia Android Bootloader Unlock

It is very kind of Sony that they created an easy way to unlock Bootloader of Xperia Android Smartphones. You can now customize your phone firmware and OS :-)

http://developer.sonymobile.com/unlockbootloader/unlock-yourboot-loader/

Google Android Nexus Device Un-Brick

GoogleNexus

If you happen to brick your Google Nexus device you can always use stock ROM images [1] to revert it to a default and operational state. Package contains not only OS but also bootloader and radio firmware images!

I have bricked my device by installing custom firmware that messed partitions layout inside a Flash Memory. I have seen lots of people having similar problem of endless bootloader-loop. There is no need to send a device to a service when bootloader is operational. All you need is a stock firmware image from Google [1], USB cable, and fastboot utility from Android SDK. If you happen to damage a bootloader, then hardware manipulation at low-level is necessary over JTAG, I can help to recover your device in that case.. no worries :-)

[1] https://developers.google.com/android/nexus/images

GRUB2 default boot menu entry

Q: How to change the default boot menu entry in GRUB2 used widely on Linux systems?

A: You can do it easily as root in three following steps:

  1. Run update-grub program and copy entry name that you want to make default.
  2. Edit /etc/default/grub and add or modify existing GRUB_DEFAULT="your_menu_entry_here".
  3. Run update-grub program again to update the grub bootloader configuration.

Heimdall on FreeBSD

Heimdall is an Open-Source utility to work with Android devices manufactured by Samsung. It allows to flash firmware components into memory via FastBoot/ODIN+USB. I have created a patch to build this nice tool on FreeBSD OS (QT gui works as well, to build it you need qt-{gui,qmake,uic,moc,rcc,…} packages installed). When patch is included into the project sources and release is done, I will prepare a FreeBSD port for this nice utility which is only missing a memory dump and live boot to be totally perfect :-)

Read More

OpenOCD and LibSWD integration complete

Patches that integrate LibSWD with OpenOCD has been already sent, so the platform independent Serial Wire Debug in Open-Source becomes a reality! Mr. Gerrit takes care of the source code review part, while Mr. Jenkins takes care of proper binary build for various platforms and operating systems. This is the right moment to make use of developers mailing list for feedback, asking questions, blaming, testing, adding new features and voting to accept the patches, so the code becomes an integral part of the OpenOCD release! :-)

Orange Labs provided R&D environment for initial stages of the research. Warsaw University of Technology made this possible as part of my MSc and PhD thesis. Krzysztof Kajstura designed and provided his generic KT-LINK (FT2232H based) interface to work with. David Brownell first introduced the Transport layer in OpenOCD in 2010 to split Target from JTAG. Simon Qian was working in parallel on his own SWD implementation for a Versaloon interface (as part of intelligent firmware). Øyvind HarboePeter StugeSpencer Oliver, Rodrigo Rosa helped me on GIT usage and OpenOCD internals,  Freddie Chopin helped me a lot with commited patches to match OpenOCD coding standards, Akos Vandra helped me to test functionality as the program was created… and my other friends should be also noted here for their support :-)

Power of the few outweights power of the many! Thank you for your support! :-)

Windows 7/Vista Installer

The new Microsoft Windows Vista/7 brought also new revolution to the installer and bootloader components. If you are in that group who gets their OS preinstalled on the computer and no backup DVD is attached, then you have really bad luck.

If MBR gets modified Windows won’t boot anymore, unless you use installer disk to fix the bootstrap. But hey – you may ask – where is my installer disk, I only got the preinstalled system with rescue partition on the hard drive! So if you dare to install BSD, Linux, or any OS other than Windows, beware and get the installer disk first. Also note that this is not Microsoft duty to provide that system disk, but the Manufacturer, so good luck with getting back what you paid for.

The other issue in Microsoft Windows Vista/7 installer is the nasty welcome screen that lets you select the language for further installation – but, in fact, there is no “Next” button and the list is “one click”, so if you click anything except your language on the list, there is no other choice but to use this foreign language for the installation process – because there is neither “Back” nor “Restart” button (like in the FreeBSD and Linux installers) on the following screen. You can only reboot the computer and wait few more minutes for the installer to load again… assuming that you have the disk and won’t click anything wrong on the welcome screen ;-)

Ah, by the way – you won’t get into fixing the previous installation if the active partition has changed and does not point to windows installation anymore. Also be prepared and download Ethernet Adapter drivers because fresh install does not contain any of them bundled, so in order to download all of the drivers you need at least network up and running. So called “backup disk” contains only system, no drivers.

Now tell me who really creates piracy?