Smartphone Programming

  1. High Speed Graphics Library for WinCE
    Local | Internet  
  2. 金山词霸屏幕取词技术揭密
  3. Motorola photo

Tips

  1. T9 editor
  2. Google Hacking Mini-Guide
  3. Original | Local

  4. How to use Samba client

Linux PPP

  1. Linux PPP kernel module
  2. Linux PPP configuration

Boot loader

  1. ARMLinux - the book
  2. How to dual-boot Windows NT/2000/XP and Linux using NTLDR
  3. Linux boot loader links
  4. DIRECT BOOT INTO WinNT/Win95/DOS/Linux from the NT Boot Loader
  5. PXES
  6. Trinux
  7. LOADLIN
  8. Gujin

PXES

PXES is a Linux micro distribution that will convert (or recycle) in minutes any compliant hardware into a versatile thin client capable of accessing any Unix/Linux XDMCP server, Microsoft Terminal Server through RDP protocol, Citrix ICA server or VNC se


Trinux

Trinux attempts to provide the most comprehensive and up to date set of security tools found in any Linux distribution--all in a format that is easy to use, can be installed in a matter of minutes, yet fits in shirt pocket.


LOADLIN


Gujin

Gujin is a PC boot loader which can analyze your filesystems. It finds the Linux kernel images available, as well as other bootable partitions (for *BSD, MS-DOS, Windows, etc.) and files (*.kgz), and displays a graphical menu for selecting which system to boot. Because it understands the structure of Linux kernel images, Gujin does not need LILO nor GRUB and can even load very big kernels. There is no need to execute anything after making a new kernel: just copy the kernel image file into the "/boot" directory. Gujin is written almost entirely in C with GCC, and it fully executes in real mode to be as compatible as possible.


How to use Samba client

Find the disk share on a host

smbclient -L //hostname -W domainname -U username

Logon to a share

smbclient //hostname -W domainname -U username


Saving a CD-ROM to file and Mounting it on Red Hat Linux 6.0 and Newer

Updated March 20, 2002 Created December 29, 2000

You can actually pull in a copy of a cdrom, then mount it into your file system. You would then be able to traverse the image just as if it was out on a cdrom. Lets bring in a copy of a RedHat 6.0 CD-ROM

copy your cd into an image file: 
>     dd if=/dev/cdrom of=RedHat60.img

After you have copied it in, there are several ways to make sure the image is good. 
>     sum -r /dev/cdrom
>     sum -r RedHat60.img

Compare the sums. 
>     cksum /dev/cdrom
>     cksum RedHat60.img

Compare the checksums.

You can also compare the contents if the above methods give you problems. 
>     mount /mnt/cdrom
>     mkdir /tmp/RH60CD
>     mount -t iso9660 RedHat60.img /tmp/RH60CD -o loop
>     diff -r /tmp/RH60CD /mnt/cdrom

You should get a listing of any differences between the files. In the case of the RedHat 6.0 CD, there are several broken links on the distribution media. These show up something like "target not found" for each broken link.

In the above command " mount -t iso9660 RedHat60.img /tmp/RH60CD -o loop" you saw how to manually mount an image so that you can look into it. This method also works for any diskette or image file that has been data dumped to the hard drive.

To make a permanent mount of an image file, you need to make a mount point, then edit your /etc/fstab.

>     mkdir /home/ftp/pub/RedHat60/i386
>     vi /etc/fstab

You should create an entry in /etc/fstab as follows: 
/home/ftp/pub/RedHat60/RedHat60.img /home/ftp/pub/RedHat60/i386 iso9660 defaults,loop,ro   0 0

The last two values of "0 0" mean that dump and fsck should ignore dumping (dump is a type of backup) or fscking (fsck is to check the file system) the individual cdrom image. One would normally have dump or fsck work directly on the filesystem that _contains_ your cdrom image.

Once you make your change in /etc/fstab and save the file, your image should be mounted every time that you boot.

All of this assumes you are copying an ISO cdrom image. If you have a HFS (MAC) cdrom, then you would not use "iso9660", but "hfs" instead, like so: 
mount -t hfs MYIMAGE /mnt/mymnt -o loop


Updates:
For more information, check the following two locations:

loop.html 
http://linuxdocs.org/HOWTOs/CDServer-HOWTO/index.html

How to dual-boot Windows NT/2000/XP and Linux using NTLDR

This tutorial is based on using LILO (linux loader) as your boot loader. It assumes you already have NT/2000/XP install and booting.

At the time of this writing, I was booting Linux, WindowsNT, and DOS 6.22 at home, and Linux, WindowsNT, and DR-OpenDOS 7.02 at work. It was pretty annoying, to me at least, to have the LILO prompt come up, type 'dos', and THEN have to select an option from the NTLDR menu which would pop up afterwards. I liked the menu presentation that NT gave at the time, so I chose to use NTLDR to boot them all from one selection. The only apparent disadvantage to this setup is that you need to update the linux boot image in the NTLDR when you install a new kernel. However, I don't imagine most average users switch kernels all that often, and those of you that do won't mind doing this, or already have a better solution in mind/in place.

That said, if you need/want this, read on. If not, skip it. :)

The first step in the process is to remove the current installation of LILO from the Master Boot Record (MBR), if you're already using it. If not, ignore this part. To accomplish this, type 'lilo -u <boot device>'. On my machine, this was /dev/hda, which corresponds to the MBR of the first detected hard drive. If all goes well, LILO will be uninstalled. DO NOT REBOOT at this point, your system will be inaccessible without a boot disk or CD.

The next step is to edit your LILO configuration file. It's usually /etc/lilo.conf. If lilo was installed in the MBR, the lilo.conf will reflect this. There are a couple changes to be made. Here is an example lilo.conf file:

	boot=/dev/hda
	map=/boot/map
	install=/boot/boot.b
	prompt
	timeout=50
	image=/vmlinuz.2.0.33
		label=linux
		root=/dev/hdb1
	other=/dev/hda1
		label=windowsnt
		

This lilo.conf file is configured so that the boot device is /dev/hda. Tha's the MBR on the first detected hard drive. So we want to change that to be the linux root partition, which NTLDR will load up for us, instead of LILO loading the NTLDR. In my case, this is /dev/hdb1, the first partition of the second hard drive. Next, since NTLDR will be handling the booting, LILO doesn't need to know anything about the WindowsNT or DOS installs, nor how to boot them, so take out or comment out the prompt, timeout and other sections. It should now look like this:

	boot=/dev/hdb1
	map=/boot/map
	install=/boot/boot.b
	#prompt
	#timeout=50
	image=/vmlinuz.2.0.33
		label=linux
		root=/dev/hdb1
		read-only
	#other=/dev/hda1
	#	label=windowsnt
		

By commenting out prompt, we tell LILO not to ask which selection to boot, it just picks the first one it sees, which is our linux kernel. The timeout option is only needed in conjunction with prompt, so that goes, too. The other section is what LILO normally would use to pass us off to the NTLDR, and now it won't bother.

The next thing to do is install LILO. This time, we want it on our linux root partition, instead of in the MBR. Since we've edited lilo.conf to specify the correct location already, all that's necessary is to run lilo. It may complain that lilo isn't being installed on the first drive, but since there will be a boot loader there (NTLDR), that's ok, and we can safely ignore the warning. Once this is done, keep reading, linux isn't quite bootable yet.

LILO is now installed on our linux root partition, but there's still nothing pointing it to linux. To get around this, we create a boot sector image file or sorts for the NTLDR to look at to boot linux. The way we do this is to use the dd program (copy/convert utility). The syntax we're looking for is: 'dd if=<root partition> of=<boot pointer file> bs=512 count=1'. This is a little more complicated than the bootdisk dd usage. <root partition> is of course your linux root partition, /dev/hdb1 in this case. <boot pointer file> is a file that will contain the boot sector image that NTLDR uses to boot linux. It's a physical copy of the first 512 bytes of the linux root partition, where LILO is now installed. Making sense now? :) bs=512 sets the block size to 512 bytes, and count=1 ensures that we only get one block in the image. I used: 'dd if=/dev/hdb1 of=bootsect.lnx bs=512 count=1'. You should now have a file called bootsect.lnx (which, if you're using WindowsNT and DOS, needs to be in DOS 8.3 filename format, which bootsect.lnx fits in.

The bootsect.lnx file is basically your linux boot sector. It will go on the NT/2000/XP partition, and be loaded by NTLDR. To add this to your NTLDR menu, you only need to edit the boot.ini file located in your Windows root directory (usually c:\.) Here's a sample boot.ini:

	[boot loader]
	timeout=10
	default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
	[operating systems]
	multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Workstation Version 4.00"
	multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Workstation Version 4.00 [VGA mode]" /basevideo /sos
	C:\="MS-DOS"
		

To add the bootsect.lnx file we created to the NTLDR configuration file, simply add a line that looks like this, reflecting your own decription:

	C:\bootsect.lnx="Red Hat Linux Release 4.2 (Biltmore)"
		

Once you've edited the boot.ini and saved it, you should be good to go. When you reboot the machine, the NTLDR menu has a new option at the bottom, "Red Hat Linux Release 4.2 (Biltmore)" in this case. Select it, hit enter, and linux boots.

If you want linux to be your default cjoice, just change the default line to: default=C:\bootsect.lnx.

Hosted by www.Geocities.ws

1