£¨×ªÔØ£©linuxÏÂloop deviceµÄʹÓÃ
http://en.wikipedia.org/wiki/Loop_device
In Unix-like operating systems, a loop device, vnd (vnode disk), or lofi (loopback file interface) is a pseudo-device that makes a file accessible as a block device.
Ëùνloop deviceÖ¸µÄ¾ÍÊÇÄÃÎļþÀ´Ä£Äâ¿éÉ豸¡£
Albert WoodhullÓ"The Linux loop device can be used to handle this - it makes a file look like a filesystem, and the file can be defined as a byte offset from the beginning of a primary partition"¡£
losetup Óà À´ ½« loop device Óë µµ °¸ »ò block device Áª½á ¡¢ ·Ö Àë . ÒÔ ¼° ²é ѯ loop device Ä¿ ǰ µÄ ×´ ¿ö , Èç Ö»¸ø ¶¨ loop_device µÄ ²Î Êý . Ôò Ðã ³ö loop device Ä¿ ǰ µÄ×´ ¿ö .
×î½üÔÚ¿´<> ( ¼ûhttp://www.oldlinux.org/index_cn.html)£¬¶ÔLinuxÏÂloopbackÉ豸µÄʹÓÃ×ÁÄ¥ÁËÒ»¶Îʱ¼ä¡£
¼Ç¼ÈçÏ£º
Ò»¡¢imag ÎļþµÄÉú³É
1. ¿ÉÒÔͨ¹ýbochsÌṩµÄbximage.exeÉú³É¡£
2. ÔÚFC3ÏÂͨ¹ýÃüÁîdd if=/dev/zero of=test.img bs=512 count=524160 ÃüÁîÉú³É¡£
¶þ¡¢¶ÔÉú³ÉµÄÎļþ½øÐзÖÇø
1¡¢¿ÉÒÔ½«Éú³ÉµÄimageÎļþ¹ÒÔØÔÚbochsÏ£¬µ±×÷´ÓÊôÓ²ÅÌ
fdisk /dev/hdb ÃüÁî¶ÔÓ²ÅÌ·ÖÇø
2¡¢ÔÚFC3ÏÂ
losetup /dev/loop0 test.img
fdisk /dev/loop0 ²»¹ý·¢ÏÖÔÚÕâÖÖ·½Ê½ÏµÄfdiskÔÚ±£´æµÄʱºò»áÌáʾ²ÎÊý´íÎó¡£
Èý¡¢´´½¨Îļþϵͳ
¾²âÊÔÖ»ÄÜÔÚbochsÏ´´½¨Îļþϵͳ£¬ÎÞ·¨ÔÚloopbackÉ豸ÉÏ´´½¨Îļþϵͳ¡£
Èç mkfs /dev/hdb1 64000
ËÄ¡¢Fdisk·ÖÇø±íÏÔʾ²ÎÊý(±¾Îľ«»ª£©
ÔÚnormalģʽϰ´pÏÔʾ·ÖÇø±í£¬ÁÐÃû˵Ã÷
start end blocks id s
Ïà¹ØÎĵµ£º
Ò»¡¢SHELL¼ò½é ¢ÙʲôÊÇSHELL ´ð£ºÒ»¸ö×÷ΪÓû§ÓëLINUXϵͳ֮¼äµÄ²Ù×÷½Ó¿Ú³ÌÐò£¬ÔÊÐíÓû§Ïò²Ù×÷ϵͳÊäÈëÐèÒªÖ´ÐеÄÃüÁî¡£
Ò»Öָ߼¶¡¢½âÊÍÐԵijÌÐòÓïÑÔ¡£ ¢ÚSHELLµÄÖÖÀà ¢ÛSHELLµÄÖ´ÐÐ
. ......
linux/arch/i386/boot/compressed/head.S
ÔÚsetup()½áÊøºó£¬´Ëº¯Êý¾Í±»Òƶ¯µ½ÎïÀíµØÖ·0x00100000´¦»òÕß0x00001000´¦£¬ÕâÈ¡¾öÓÚÄÚºËÓ³ÏñÊDZ»¸ß×°ÔØµ½ramÖл¹ÊǵÍ×°ÔØµ½ramÖС£
½â¶Áº¯Êý£º
startup_32:
cld
cli
&n ......
½ø³ÌÊdzÌÐòÖ´ÐÐʱµÄÒ»¸öʵÀý£¬Êdzä·ÖÃèÊö³ÌÐòÒѾִÐе½ºÎÖ̶ֳȵÄÊý¾Ý½á¹¹µÄ»ã¼¯¡£ÔÚlinuxÖУ¬³£½«½ø³Ì³ÆÎªÈÎÎñ£¨task£©»òÕßỊ̈߳¨thread£©¡£½ø³ÌµÄÄ¿µÄ¾ÍÊdzе£·ÖÅäϵͳ×ÊÔ´µÄʵÌå¡£
µ±Ò»¸ö½ø³Ì´´½¨Ê±£¬¼¸ºõÓ븸½ø³ÌÏàͬ¡£½ÓÊܸ¸½ø³ÌµØÖ·¿Õ¼äµÄÒ»¸öÂß¼¿½±´£¬²¢´Ó½ø³Ì´´½¨ÏµÍ³µ÷ÓõÄÏÂÒ»ÌõÖ¸ÁʼִÐÐÓ븸½ø³ÌÏàͬµÄ´ú ......
ÌåÑéÒ»ÏÂlinuxϱàдºÍʹÓö¯Ì¬¿âÓ뾲̬¿â£¬·¶Àý£ºhelloworld³ÌÐò¡£
Ê×Ïȱàд¾²Ì¬¿â£º
hellos.h
#ifndef _HELLO_S_H
#define _HELLO_S_H
void prints(char *str);
#endif
hellos.c
#include "hellos.h"
#include <stdio.h>
void prints(char *str)
{
printf("print in sta ......
×î½üÔÚѧϰLinuxϵͳ¡£¶ÔÓÚÒªÏë´ÓÊÂjava¿ª·¢·½ÏòµÄÈËÊ¿À´ËµÊìϤLinuxϵͳÊÇÓбØÒªµÄ¡£
ÎÒÀ´¶Ô×Ô¼ºÑ§Ï°Linux×öЩ×ܽá°É¡£
1.LinuxÀïµÄ³£ÓÃÖ¸ÁîÒª»áÓ㬱ÈÈçviÖ¸ÁRPMÖ¸ÁifconfigÖ¸ÁnetconfigÖ¸Á>.<Ö¸ÁwallÖ¸ÁrmÖ¸Ámkdir£¬rmdirÖ¸Áuseradd£¬userdel£¬groupadd£¬groupdelÖ¸ÁmoreÖ¸Áchkco ......