Saturday, 17 December 2011

Major Kindle Fire Problems

The Kindle Fire is reportedly on track for a major software update in the next couple of weeks, and apparently not a moment too soon. According to a report from the New York Times, Amazon has been fielding complaints from disgruntledbuyers. Even with a promised update, the complaints from some of the device’s most vocal users may not be easily fixed, because they involve hardware as well. Here are the top five complaints from users giving the tablet a one-star rating on its own Amazon page.

1) No hardware volume controls: This is a major problem for many Kindle Fire users, who find it very user-unfriendly to have to use software controls to control the sound levels for their video and music. No software update will be able to make a button that isn’t there, sadly, so this is a feature that will stick around until the next version of the device hardware.

2) Buggy touchscreen: Users havea said that the Fire’s touchscreen is, at times, not very sensitive to the touch. The more vocal critics have said that they need to tap the screen two or three times to perform any action — something that other users aren’t seeing with their devices. Still, Amazon has specifically called out improved multitouch support for the next update, which could ease some of those problems.

3) Slow browser: Amazon’s Silk browser was all the more disappointing because Amazon promised that it’s half-in-the-cloud processing system would make Web browsing lightning fast. Instead, the browser has shown that it’s essentially on par with browsing on other tablets, if not even slower. Amazon has said the browser is supposed gain some speed thanks to its ability to learn your Web surfing habits, but users may not be willing to input the data to get the promised pickup.

4) Lack of privacy: One thing that Amazon will be able to fix with its software update — and has promised to remedy — is the lack of privacy inherent in the Fire’s Carousel interface. Because of the way that the interface is organized, a users’ entire activity history is immediately visible when anyone picks up the device. So anyone who picks up a device that you’ve left on the coffee table will be able to see your reading or other device history. With the new update, the report said, users will be able to edit those histories.

5) Location of the power button: The power button on the Kindle Fire is in the same spot as it is on other Kindles — at the bottom — but the Fire’s power button is particularly situated in a way that makes it all-too easy to turn the device off inadvertently. The location of the power button can’t be fixed with a software update either, unfortunately.

Friday, 16 December 2011

Kindle Touch: Easiest Jailbreak Ever

What would you think if I told you that jailbreaking the Kindle Touch/K5 was as easy as playing an mp3 file? I hope you’re sitting down, because it really is that simple.
A hacker by the name of Yifan Lu has just posted a jailbreak for the K5/Kindle Touch, and I just used it on my K5.
Update: A reader commented that he was confused by my calling the Kindle Touch the K5. I use this term because the Kindle Touch is running Kindle OS,

while the other new Kindle is running Kindle OS4. That makes the Kindle Touch the fifth generation Kindle, aka K5.

How To
I’m covering this first because it’s easy.
 

Download this zip file.
Copy the mp3 over to the music folder on your K5.
Play the mp3 (from the experimental menu).


If you see the screenshot at right then congratulations. You now have a hacked Kindle Touch.

The Technical Explanation
I told you earlier this week that the
K5 (Kindle Touch) was based on a completely different code base from previous Kindles, and that turns out to be more true than I realized.Yifan discovered that the software running on the Kindle Touch is written mostly in HTML5 and JavaScript, not the Java that all the other Kindles use. In fact, the menus can be thought of as webpages in disguise. Pretty cool, huh? I think so, because this means that it won’t take long for hackers to release custom menus and spice things up.
That HTML5 base is also the security hole that Yifan exploited. He assembled an mp3 with his hack buried in the ID3 tags. The Kindle displays the tag info while playing the mp3, and it will also execute the code in the tag.
This hack is quite simple. All it does is install a key to root the K5 and allow you to install other hacks. It’s really just for developers at this point.

The Future
I’ve now hacked my K5, but that doesn’t mean much at the moment.
Yifan reports that none of the existing hacks for previous Kindles will work on the K5. He also didn’t add any amazing new features with his hack; he just wanted to show that it could be done and thus open the door so everyone else could get started. We’re going to have to wait a while for new hacks.
On the upside, the K5 is written in HTML5 and its Java code is not disguised. It shouldn’t be too hard for just about anyone to release a hack that adds a new feature. I myself am hoping we’ll see an Epub reader. I’m also looking forward to HTML5 sketchpad apps.
In any case, I’m glad I kept my K5. It’s going to get a whole lot more useful in the near future.

                                          Kindle Touch Jailbreak




Courtesy: http://yifan.lu/

Wednesday, 14 December 2011

iPad 3 Rumors: All You Wanted To Know

IPad 3 rumors point toward early 2012. So what kind of features will be included? Here's a roundup of iPad 3 rumors, with a little context as to whether you should believe the scuttlebutt or not.
iPad 3 rumors increasingly suggest that the new Apple tablet will hit shelves in early 2012 – perhaps even as soon as February. The iPad 2, of course, with its dual-cameras and upgraded innards, represented a sizable leap forward from the original iPad. So what kind of improvements can we expect from the iPad 3?

A caveat: Apple's notorious secrecy makes such hypothesizing both fun and – in its own way – futile. Still, there's plenty of information out there, some of it probable, some of it doubtful, and some of it a little silly. Let's break it down. 
As we noted yesterday, Citi analyst Richard Gardner recently penned a note to investors, forecasting the arrival of the new iPad. He predicted that the display on the new iPad will sport more than double the resolutionof the previous model. "[T]here do not appear to be any significant technical hurdles remaining," Gardner wrote, according to Business Insider.

What will Apple think of next?
Also look for a new camera on the iPad 3 – par for the course for Apple, which regularly improves the quality and megapixel-count on its iPhone cameras. Plus, Eric Zeman points out today at Information Week, it's not like the lenses on the current model iPad are winning any rewards.
"Both cameras on the iPad 2 are horrible," Zeman writes. "Sure, they work for FaceTime and such, but the results are pitiful. While tablets are still unwieldy for taking pictures, most of the competition is fielding tablets with 3- and 5-megapixel cameras. I don't imagine I'll be using a tablet for most photo-taking needs, but having a decent one on board wouldn't hurt."

Meanwhile, the design of the iPad 3 could be a departure from the design of the iPad 2, which, after all, was a lot like the design of the original iPad.
"It is thought the next-generation iPad 3 will be thicker in design," writes the ZD Net team. "This could suggest a larger battery that would in turn make the device compatible to cope with additional 4G LTE technology. Rumors late last month surfaced that Japan’s largest cellular network would receive 'two new 4G LTE enabled devices,' further leading speculation that Apple has finally jumped on the next-generation wireless technology."
Lastly, don't wave goodbye to the iPad 2 just yet. Just as Apple has continued to sell its older model iPhones for a discounted price, plenty of analysts think that Apple will keep the iPad 2 on the market for a while longer, especially as cheap Android tablets continue to proliferate. (Did you see the $99 Android tablet?) "I expect the base iPad 2 will continue to be sold, after the iPad 3 launch, for $299 all through 2012. Call it the '3GS' effect," writes John Martellaro of Mac Observer.



Second Thought: iPAD 3 may be the iPad 2S Similar to the iPhone 4S release shock.
After the recent news regarding the difficulties with getting the beloved retina display at the required resolution into the iPad 3 at a reasonable cost, more rumors are surfacing depicting two iPad models in 2012. It is currently unclear whether or not Apple will be able to equip the iPad 3 with an A6 Processor and a retina display in time for the usual Q1 official launch. This has led some speculation that the iPad 3 could be pushed back as far as Mid 2012. 
Countering that in the midst of some insider information is that Apple may shift gears and rather than wait, release two models: one being around the usual March of 2012, while the other and “true iPad 3” would be well into the year.

I’d have to say it would anger a lot of fans and technology lovers that already thought that the iPad 2 was rather just a small step up from the original iPad. But Apple has always stood on the premise that they don’t give customers what they want, because they don’t know what’s best for them right? Whether it’s the iPad 2S or iPad 3, production has already begun on the next refresh.

iPad 3 Rumors From Upstream Supply Chain

Most of the information has originated from DigiTimes who was able to snag some information from a source in Apple’s upstream supply chain; who basically said that Apple is placing the March release as an upgraded iPad 2, rather than the revolutionary iPad 3 that has anxious up-graders waiting as they bite their nails deep into the nail-bed with anticipation & anxiety.
Apple still has a stronghold on the tablet market, which has lead some channel retailers to also cite that Apple probably isn’t too worried to rush another model out, seeing their continued success as the one to beat.
With competition brewing from the Android world, I’m sure that Apple wants to make sure that they keep perfecting their iPad 3 to make sure it is going to shatter anything near it, especially if delays with the A6 Processor and retina display are holding things up for full production sometime in Q3 2012.



Courtesy: http://ipad3newsblog.com

Tuesday, 13 December 2011

[Video] - Step By Step Guide To Install JunOS on GNS3

Note: Steps by Steps video guide to install JunOS 10.1 in Qemu for GNS3 for Juniper router simulation can be viewed at the end of this post.
Download the required software
1. JunOS 10.X (use Torrents may OS Image are available from there i also got)
Link
2. Download FreeBSD 4.11 as base OS for Router Download
3. Download Qemu 0.11.0 from GNS3 web site Download
4. Need to Software to create CD ISO image. ex:
Deep Burner

Time to Start
Step 1: Download all the given files above
Step 2: Extract Qemu in a folder
Step 3: Open cmd and navigate to extracted folder
Step 4: Create a HDD image to install JunOS of 4GB

qemu-img.exe create j.img -f qcow2


Step 5:
Start the Qemu with Free BSD CD and Created HDD

qemu.exe -L . -m 256 -hda j.img -boot d -localtime –cdrom ..\4.11.4.11-RELEASE-i386-miniinst.iso


Step 6:
Install Free BSD in Qemu
Skip Kernel configuration
Choose standard installation
With fdisk, press A to allocate entire disk for bsd
Select: install a standard MBR
Create partition (with C)
512M for /
1024M for swap partition
128M for /config
and the rest for /var
Choose installation type: user, and select No for FreeBSD ports
X to Exit the menu and install from CD/DVD
Wait until it's done
Yes for chance to set any last options
Type root password
Select 'X' to Exit the installation, it will reboot
while it's rebooting, exit from Qemu by pressing Ctrl-Alt-2,
then type: q

Step 7:
Make JunOS ready to transfer in guest OS
Create a CD Image (ISO) of junOS (using deepburner or any of it kind) and save in Qemu Folder with name like j8.iso
 

Step 8:
Make JunOS Ready for Installation

qemu -L . -m 512 -boot c -hda j.img –cdrom j8.iso

We need to untar the signed jinstall file first:


#mount /cdrom
#cd /var/tmp
#mkdir junos
#cd junos
#tar zxvf /cdrom/jinstall-10.1R1.8-domestic-olive.tgz
Then untar the unsigned image:
#mkdir jinst
#cd jinst
#tar zxvf ../jinstall10.1R1.8-domestic.tgz
Extract the pkgtools.tgz file and replace the checkpic binary inside with /usr/bin/true :
#mkdir pkgtools
#cd pkgtools
#tar zxvf ../pkgtools.tgz
#cd bin
#cp /usr/bin/true ./checkpic
#cd ..
Create tar for pkgtools then remove the directory:
#tar zcvf ../pkgtools.tgz *
#cd ..
#rm -rf pkgtools
Create tar for the new jinstall package with modified checkpic
#tar zcfv /var/tmp/j.tgz *
Then install the new jinstall with bsd pkg_add tool:
#pkg_add -f /var/tmp/j.tgz


It will ask to reboot to continue the installation.
One installation is finished and prompt is returned press Crtl+Alt+2 then type “q” press enter

Step 9:
Install JunOS in Guest VM

“qemu -L . -m 512 -hda j.img -serial telnet:127.0.0.1:1001,server,nowait,nodelay –localtime”

open new cmd and do telnet to 127.0.0.1 to enjoy the watching installtion process of JunOS
Once Prompt appear type cli to start junOS configuration





Enjoy !!!!!!!!!!!!!!!!!!!!!!




Related Articles:
Step By Step Guide To Install JunOS on GNS3 [Part 1] [Updated]
Step By Step Guide To Install JunOS on GNS3 [Part 2] [Updated]
Step By Step Guide To Install JunOS on GNS3 [Part 3] [Updated]

Saturday, 10 December 2011

Step By Step Guide To Install JUNOS on GNS3 [Part 3][Updated]

Updating JunOS
You can update your version of JunOS from the CLI with the following command:

request system software add [jinstall_package]


Running your router(s)
Now you have a base olive image. Qemu allows you to use this as a base for other images and only writing the changes to your “slave” images saving on disk space! You can also use less memory for each Qemu instance.
Create a new image off of your base image. Repeat for all your routers you want to emulate:

qemu-img create -b olive-base.img -f qcow2 R1.img

Start your router and then telnet to it:

2001 Once logged in, you can type “cli” to launch the JunOS command line interpreter, exit to … exit and halt to shutdown FreeBSD. Remember to kill your qemu instance(s).

qemu R1.img -m 96 -nographic -daemonize -serial telnet::2001,server,nowait \
-localtime -net nic,macaddr=00:aa:00:60:01:01,model=e1000 -net user telnet localhost




Networking your routers
Ok, one router it’s cool but useless alone. It’s time to make your virtual network! There are many ways to network your olive routers.

Olive to Olive using UNIX sockets

UNIX sockets create a TCP stream between two Qemu instances with one a client and the other a server. Apparently this method creates duplicate packets sometimes.

qemu R1.img -m 96 -nographic -daemonize -serial telnet::2001,server,nowait \
-localtime -net nic,vlan=1,macaddr=00:aa:00:60:01:01,model=e1000 \
-net socket,vlan=1,listen=:6000

qemu R2.img -m 96 -nographic -daemonize -serial telnet::2002,server,nowait \
-localtime -net nic,vlan=1,macaddr=00:aa:00:60:01:02,model=e1000 \
-net socket,vlan=1,connect=127.0.0.1:6000


Olive to Olive using UDP tunnels
UDP tunnels are mainly used to connect to Dynamips/GNS3 emulated routers but can also be used as a more reliable way to connect two Qemu olives together but this can result in much lower latency connections as well.

Olive to real world using TAP interface
One way to connect an interface on your Olive with a real Ethernet NIC is to use a bridge and the Qemu tap option.

Linux:
It is required that you have the generic TUN/TAP driver either built-in to your kernel, or available as a module. To check the availability of this module do the following:

ls -la /dev/net/tun

If you get no such file or directory, try doing a modprobe tun. It should then appear in the

lsmod output.

One way to connect an interface on your Olive with a real Ethernet port is to use a bridge and the net -tap option. This requires you to have the generic TUN/TAP driver either built-in to your kernel, or available as a module. To check the availability of this module do the following:

Let’s say you started the emulator with the following:

qemu R1.img -m 96 -nographic -daemonize -serial telnet::2001,server,nowait \
-localtime -net nic,vlan=1,macaddr=00:aa:00:60:00:01,model=e1000 \
-net tap,vlan=1,script=no


Note the vlan=1 and -net tap options. This basically connects your Olive’s en0 to a virtual tap interface (usually tap0) on your host system. Start up Qemu, and once the emulator is running, proceed to the next step. You’ll need to start up the emulator as root, or change the ownership or permissions on /dev/net/tun.
We’re going to need to now bridge the tap0 interface to another Ethernet interface on the host system. To do this, we’ll utilize the bridge capabilities of Linux. First, get the bridge utilities:

sudo apt-get install bridge-utils


Let’s assume you want to connect en0 on the Olive to eth1 on the host system.

Do the following as root:

brctl addbr br0
brctl addif br0 eth1
brctl addif br0 tap0


This creates a bridge device, br0, and binds the two interfaces to it. Right now everything is still down. Let’s bring it up…

ifconfig eth1 up
ifconfig tap0 up
ifconfig br0 up


Now the bridge and member interfaces should be up. Don’t assign any IP addresses to either of the member interfaces. If you want to, you can assign something to br0 if needed. (br0 is analogous an SVI in the Cisco world) To see the status of the bridge, do the following:

brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000cf19ce06c no eth1
tap0


Now, assign an IP address to the em0 interface on your Olive, and it should be online. You are also free to tcpdump on the bridge or member interfaces, for debugging. All of this can probably be put into a Qemu interface script, so you can remove the script=no option, and make it a little more automatic.
Your kernel might have ethernet filtering (ebtables, bridge-nf, arptables) enabled, and traffic gets filtered except ARP and STP. The easiest way to disable this is to go to /proc/sys/net/bridge. Check if the bridge-nf-* entries in there are set to 1; in that case, set them to zero and try again. More information on bridges available
here.

# cd /proc/sys/net/bridge
# ls
bridge-nf-call-arptables bridge-nf-call-iptables
bridge-nf-call-ip6tables bridge-nf-filter-vlan-tagged
# for f in bridge-nf-*; do echo 0 > $f; done


Windows:

Using OpenVPN you can create several tap interfaces with “Add a new TAP-Win32 virtual Ethernet adapter” and rename them with something like ‘Tap1′, ‘Tap2′ and so on Let’s say we have created 1 Tap interface and renamed it as Tap1. Right click this Tap1 interface on Windows Control Panel – Network Connections and give IP address for example 10.1.1.1/8.
Now you can start Qemu with the -net tap option and ping the interface from your Olive:

qemu -L . -m 96 -hda R1.img -localtime \
-net nic,vlan=1,macaddr=00:aa:00:60:01:01,model=e1000 \
-net tap,vlan=1,ifname=tap0
 

Mac OS X

On Mac OS X, download and install the TunTap package.

qemu R1.img -m 96 -nographic -daemonize -serial telnet::2001,server,nowait \
-localtime -net nic,vlan=1,macaddr=00:aa:00:60:00:01,model=e1000 \
-net tap,vlan=1,ifname=tap0,script=no
 

We need to give this inter face an ip address:

sudo ifconfig tap0 198.18.0.250/24 up


Olive to real world using PCAP/LACP
In the patch provided in this howto, there is an option to use PCAP or LCAP libraries to bridge directly to a physical interface. You will probable need to run Qemu under Administrator privileges. Please also note that it will stop any other traffic on your interface.

For PCAP:


 qemu R1.img -m 96 -nographic -daemonize -serial telnet::2001,server,nowait \
-localtime -net nic,macaddr=00:aa:00:60:01:01,model=e1000 \
-net pcap,ifname=eth0


For LCAP:

 qemu R1.img -m 96 -nographic -daemonize -serial telnet::2001,server,nowait \
-localtime -net nic,macaddr=00:aa:00:60:01:01,model=e1000 \
-net lcap,ifname=eth0
 

Please note that you have to configure an IP address your physical interface before being able to communication between your routers. Also I didn’t test PCAP/LCAP on Windows.

Olive to Dynamips or Pemu

The lastest patch also added a udp option to allow networking to a Dynamips or pemu.

qemu R1.img -m 96 -nographic -daemonize -serial telnet::2001,server,nowait \
-localtime -net nic,vlan=1,macaddr=00:aa:00:60:00:01,model=e1000 \
-net udp,vlan=1,sport=10000,dport=10001,daddr=127.0.0.1
 

Then in your dynagen .net file

[[router Cisco1]]
fa0/0=NIO_udp:10001:127.0.0.1:10000


Olive to GNS3
Under GNS3, you can create a “Cloud” and configure a NIO UDP (you can add as many NIO UDP as you want). The “Cloud” will be your interface between Olive and GNS3, you can link a firewall or a router per NIO UDP.

Of course, you can do the same with other NIOs like NIO TAP to connect to yourolive using a TAP interface.

Testing
To check if everything work, let’s configure 2 Olives:

root@%cli
root>edit
[edit]
root#

[edit]
root#set system root-authentication plain-text-password
New password:
Retype new password:

[edit]
root#set interfaces em0 unit 0 family inet address 10.0.0.1/8
[edit]
root#commit
commit complete

Configure the other device using the same commands but with another IP address (e.g. 10.0.0.2/8) and ping.

root#exit
Exiting configuration mode
root> ping 10.0.0.2
PING 10.0.0.2 (10.0.0.2): 56 data bytes

64 bytes from 10.0.0.2: icmp_seq=0 ttl=64 time=9.771 ms
64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=0.614 ms
64 bytes from 10.0.0.2: icmp_seq=2 ttl=64 time=0.693 ms
64 bytes from 10.0.0.2: icmp_seq=3 ttl=64 time=0.630 ms


Additionally, configure OSPF (or any other multicast based protocol) to test if your routers can talk to each other using multicast packets. Again, type those commands on both routers:

root# set protocols ospf area 0 interface em0

[edit]
root# commit
commit complete

[edit]
root# exit
Exiting configuration mode

Then monitor the traffic from one of the router, you should see some multicast traffic (from/to 224.0.0.5):

root> monitor traffic interface em0

02:30:30.973748 Out IP 10.0.0.1 > 224.0.0.5: OSPFv2, Hello, length 48
02:30:31.007675 In IP 10.0.0.2 > 224.0.0.5: OSPFv2, Hello, length 48


Is everything working? yes? then you are successfully running JunOS! Happy networking

What is working
Here is a list of what has been tested and works. You can extend this list by posting comments on what is working or not for you and I’ll update the list:

                                                OSPF (fxp0) OK                            
                                                OSPF (em0) OK                            


A few words about the patch By default using JunOS with a non-patched Qemu, multicast based protocols didn’t worked. As I have very little driver coding experience (and time to learn), I patched Qemu to allow multicast frames to be received by JunOS, instead of being filtered at the driver level multicast frames are filtered by JunOS. The only problem I see could be on the performance side, as JunOS receives every multicast frames, even those not destined to it. However, I think this is not an issue for a simulated lab environments and it worked just fine so far.
If you feel you can do something cleaner, please don’t hesitate, you can still read one of the
Intel manuals concerning the e1000 to have an overview of how complicated driver programming can be.

Conclusion
If you are IT guy (hope you are if you want to play with JunOS), you should be able to run JunOS on your PC without too many issues. I wrote this howto to be as complete as possible, showing how to compile and patch Qemu on 3 different operating systems, installing FreeBSD and JunOS. I encourage everyone to contribute to it by providing fixes, comments or any other help.





Related Articles:
Step By Step Guide To Install JUNOS on GNS3 [Part 1][Updated]
Step By Step Guide To Install JUNOS on GNS3 [Part 2][Updated]
[Video] Step By Step Guide To Install JunOS on GNS3

Step By Step Guide To Install JUNOS on GNS3 [Part 2][Updated]

FreeBSD installation
Now that we have qemu installed, we can create the image for installing FreeBSD. Run this command to create it and allocate 4 GB:

qemu-img create -f qcow2 olive-base.img 4G

Launch Qemu to install FreeBSD on the image:


qemu -m 256 -hda olive-base.img -cdrom 4.11-RELEASE-i386-miniinst.iso \
-boot d -localtime


Qemu window will pop up (remember, by default press CTRL + ALT to release the cursor in Qemu):
 
Skip Kernel configuration:
Once Qemu has booted the FreeBSD installation image, you can select standard installation:

When you see the FDISK Partition Editor, press A to allocate the entire disk for FreeBSD and then Q to confirm:
Select “install a standard MBR” and when you see the FreeBSD Disklabel editor, press C to create the following partitions:

ad0s1a / 1024M
ad0s1b swap 1024M
ad0s1e /config 12M
ad0s1f /var rest



Choose “User” distribution type and answer no for the question “Would you like to install the FreeBSD ports collection?”. Exit the menu and install from a FreeBSD CD/DVD: 
Wait until all the files are installed in your image:
Once the files are copied, the installer program will ask you many user confirmation questions (Ethernet/SLIP config, gateway, inetd, FTP, NFS, security, console, linux compatibility, set time, etc). Just answer no for each of them. You will also be asked to enter a root password, just do and remember it. Now you should see the starting menu of the FreeBSD installer, exit by choosing X Exit Install. While FreeBSD CD is rebooting, quit Qemu by by pressing Ctrl-Alt-2, then type: quit.

JunOS installation

Now it’s time to install JunOS our FreeBSD image. I used JunOS 8.5R1.14 but your are free to try other versions even if it is usually recommended to have a version less than 8.5. Boot the image and attach a Intel e1000 virtual network card to Qemu:

qemu -m 256 -hda olive-base.img -boot c -localtime \
-net nic,macaddr=00:aa:00:60:01:01,model=e1000 -net user


FreeBSD should start and after login with the root password, you are ready to enter commands:


Ensure you get an IP address and find out what is your default gateway IP address. Ping it just to be sure it’s working:

dhclient em0
netstat -r
ping 10.0.2.2

You can use FTP or SCP (or any other way you may think about) to download JunOS in FreeBSD. Here I chose to use SCP. On Mac OS X, don’t forget to activate “Remote login” in System Preferences -> Sharing.

scp user@10.0.2.2:~/Desktop/jinstall-8.5R1.14-domestic-signed.tgz /var/tmp

The jinstall file after 7.4 version has a binary called checkpic. This binary will fail and the image cannot be installed. Replacing this binary with /usr/bin/true fixes the issue. Also, it is needed to recalculate MD5 and SHA1 checksums before archiving them back. Finally, you can install JunOS with pkg_add.

cd /var/tmp
mkdir jinst-signed
cd jinst-signed
tar zxvf ../jinstall-8.5R1.14-domestic-signed.tgz

mkdir jinst
cd jinst
tar zxvf ../jinstall-8.5R1.14-domestic.tgz

mkdir pkgtools
cd pkgtools
tar zxvf ../pkgtools.tgz
cd bin
cp /usr/bin/true ./checkpic
cd ..
tar zcvf ../pkgtools.tgz *
cd ..
rm -rf pkgtools
md5 -q jinstall-8.5R1.14-domestic-signed.tgz >


jinstall-8.5R1.14-domestic-signed.tgz.md5
openssh sha1 jinstall-8.5R1.14-domestic-signed.tgz >
jinstall-8.5R1.14-domestic-signed.tgz.sha1

tar zcfv /var/tmp/jinstall-8.5R1.14-domestic-olive.tgz *

pkg_add -f /var/tmp/jinstall-8.5R1.14-domestic-olive.tgz

Once the jinstall package installed, you can stop FreeBSD by using the halt command and then Qemu by pressing Ctrl-Alt-2, then type: quit. The jinstall above really just installed a bootstrap environment so you need to boot up FreeBSD one more time to finish the installation (depending on your version). If you just restarted your guest above you will notice that you will get no output on your screen. This is because a real Juniper router has no VGA out and redirects everything to the serial port. No worries for us since QEMU will redirect the serial port to either stdio or a telnet port. To do so, launch Qemu with the stdio parameter:

qemu -m 256 -hda olive-base.img -boot c -localtime -nographic -serial stdio

On Mac OS X -nographic is not understand, so just ignore the Qemu window and look at your terminal.
Wait while the bootstrap process completes. The virtual olive will reboot itself automatically and nothing is needed. At the end of this process we will be sitting at a login prompt. Login as root and issue the halt command (CTRL + L if you do not see the prompt) and kill your Qemu proccess.


On Mac OS X, my terminal was kind of “broken”. To fix this, issue the reset command in your terminal.




Related Articles:
Step By Step Guide To Install JUNOS on GNS3 [Part 1][Updated]
Step By Step Guide To Install JUNOS on GNS3 [Part 3][Updated]
[Video] Step By Step Guide To Install JunOS on GNS3

Step By Step Guide To Install JunOS on GNS3 [Part 1] [Updated]

This article explain you how to emulate Juniper JunOS on a PC using Qemu. This is an updated and enhanced
version of excellent howtos from Juniper Clue and Internetwork Pro as well asHimawan Nugroho’s blog. I mainly focused on Qemu, so if you wish to install JunOS on a real PC or using VMware, please have a look at the Juniper Clue article for more information (and of course Google).
So what’s new you would say? First, I chose to use the latest version of Qemu: the 0.11.0 which supports the Intel e1000 network card emulation since version 0.10.0. and includes several fixes for it. I have modified and adapted the old patch for Qemu 0.11.0, it includes the UDP tunnel (connection to dynamips/GNS3), PCAP and LCAP support. Also, the patch allows multicast traffic with the e1000, i82557b and i82559er Qemu emulated network cards.

Moreover, this article show how to emulate JunOS on multiple operating systems: Mac OS X, Windows XP and Linux Ubuntu 9.04 without using an untrustworthy obscure binary downloaded from a forum you can’t even read the language.
 
Disclaimer
Please note that JunOS is not provided and will not be. So please don’t ask. Also, I do not take any responsibility on what happen on your PC, keep in mind this howto requires some patience and that is not for complete beginners. Moreover, this howto doesn’t necessarily present the best and/or easiest way to emulate JunOS. This is the cleanest and less intrusive for me but please feel free to give me constructive comments and tell what worked or didn’t worked for you.




Installation
Requirements
· JunOS runs on top of
FreeBSD. So you need to download the mini installation ISO, version >= 4.5 because earlier versions don’t support the Intel e1000 interface (em driver). Personally, I used the FreeBSD 4.11 mini-inst ISO but you could use FreeBSD 6 or 7.
· JunOS itself. If you are smart and patient you will find it. I used jinstall-8.5R1.14-domestic-signed.tgz for my installations.
· Qemu source code. Again, I used
Qemu 0.11.0. You can choose to download it later with wget (I’ll show you how).
· Download
OpenVPN to create TAP interfaces (Windows only, optional).
· More stuff whether you compile Qemu on Mac OS X, Windows or Linux.

Qemu compilation and patching on Mac OS X

The following procedure has been tested on Mac OS X Snow Leopard.
First you have to
install the MacPorts and its dependencies (e.g. latest Apple’s Xcode Developer Tools).
Open a terminal window and install zlib, wget and libpcap via the MacPorts:


sudo port install zlib wget libpcap 

Unzip qemu somewhere (e.g. in Documents/JunOS). Then from the qemu directory, patch and compile qemu:
Because FreeBSD hanged a few times when I was installing it inside Qemu, I applied a patch (qemu-0.11.0-macosx) which apparently fixed the problem (this is totally optional, maybe you won’t have any issue if not applied).

wget http://download.savannah.gnu.org/releases/qemu/qemu-0.11.0.tar.gz
tar xvzf qemu-0.11.0.tar.gz
cd qemu-0.11.0

wget http://downloads.sourceforge.net/gns-3/qemu-0.11.0-macosx.patch?download
patch -p1 -i qemu-0.11.0-macosx.patch wget http://downloads.sourceforge.net/gns-3/qemu-0.11.0-olive.patch?download

patch -p1 -i qemu-0.11.0-olive.patch
./configure --disable-aio --disable-kvm --disable-kqemu --disable-sdl \
--target-list=i386-softmmu

make
sudo make install


Qemu compilation and patching on Windows
If you do not want to compile Qemu on Windows (I can understand that I provide a static version that you can download here.
First some dependencies must be installed, I chose to almost compile everything:

· Download
MinGW and install it (choose custom installation with g++ and make included). The file I downloaded was MinGW-5.1.6.exe
· Download MSYS and install it, answer yes to post-installation questions and put the correct path to MinGW directory (should be C:\MinGW). The file I downloaded was MSYS-1.0.11.exe.
· Download ,
zlib, SDL, MSYS coreutils into your MSYS home directory (e.g. c:\Msys\public\username). I downloaded zlib-1.2.3.tar.gz, SDL-1.2.14.tar.gz and coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2. MSYS coreutils is necessary because Qemu signrom.sh uses tools such as dd, od, expr, cp and printf which are included in coreutils.
· Download and install
Winpcap Developer Pack: extract the contents of \lib and \include folders into \lib and \include folders of your MinGW installation location (should be C:\MinGW\lib and C:\MinGW\include)
· Start MSYS.
· Compile and install zlib:

cd
tar -xzvf zlib-1.2.3.tar.gz
cd zlib-1.2.3

./configure --prefix=/mingw
make
make install


Compile and install SDL
tar -xzvf SDL-1.2.14.tar.gz
cd SDL-1.2.14
./configure --prefix=/mingw

make
make install


· Install coreutils

tar -xvjf coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2


Copy the content of coreutils-5.97-MSYS-1.0.11-snapshot in the MinGW directory (e.g. C:\MinGW). You can also compile and install
wget in MSYS or simply use your preferred browser to download Qemu and the patch in the correct directories.

wget http://download.savannah.gnu.org/releases/qemu/qemu-0.11.0.tar.gz
tar -xvzf qemu-0.11.0.tar.gz
cd qemu-0.11.0

wget http://downloads.sourceforge.net/gns-3/qemu-0.11.0-olive.patch?download
patch -p1 -i qemu-0.11.0-olive.patch
./configure --target-list=i386-softmmu

make
make install


Qemu compilation and patching on Linux

Compiling Qemu on Linux (Ubuntu) is quite simple.First install the dependencies: ncurses, zlib, libpcap-dev and SDL libraries. SDL is optional, you can still use Qemu in a console with the –ncurses option. Then apply the patch and compile Qemu.

sudo apt-get install libncurses5-dev zlib1g-dev libsdl-dev libpcap-dev

wget http://download.savannah.gnu.org/releases/qemu/qemu-0.11.0.tar.gz
tar xvzf qemu-0.11.0.tar.gz
cd qemu-0.11.0

wget http://downloads.sourceforge.net/gns-3/qemu-0.11.0-olive.patch?download
patch -p1 -i qemu-0.11.0-olive.patch
./configure --target-list=i386-softmmu

make
sudo make install

Qemu acceleration
Qemu provides some ways to speed up the emulation, I’ll talk about 2 of them: Kqemu and KVM. Kqemu can be used on both Windows and Linux. KVM is only for Linux. I do not know if something exists for Mac OS X.
For more details about Kqemu, please have a look at the
documentation. For KVM, see thewebsite.
The installation of Kqemu on Windows is relatively easy:

1. Download
Kqemu.
2. Unzip it.
3. Locate kqemu.inf and install it (right-click and select Install). In Windows Vista, install Kqemu using the CMD prompt and this command: rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 kqemu.inf
4. Start Kqemu from the CMD prompt: net start kqemu

Kqemu on Linux (Ubuntu):
1. Install kqemu with: sudo apt-get install kqemu-source
2. If you do not want to use sudo each time you start Qemu, give the permissions to /dev/qemu with the following command:


sudo chmod o+rw /dev/kqemu

For manual installation or other Linux distributions, please see the documentation.

KVM on Linux:

Qemu requires your kernel version to be >= 2.6.29 to enable the KVM support. You have to ensure this is ok before you compile Qemu.
Don’t forget to add the -kernel-kqemu or -enable-kvm command line options when starting Qemu (I didn’t do it in this tutorial). I would recommend to activate Kqemu only when you have your Olive image ready and working.



Related Articles:
Step By Step Guide To Install JunOS on GNS3 [Part 2] [Updated]
Step By Step Guide To Install JunOS on GNS3 [Part 3] [Updated]
[Video] Step By Step Guide To Install JunOS on GNS3