cygwin ¶
- http://www.cygwin.com/
- ±âº» ¼³Ä¡
- Control Panel --> System --> Advanced --> Environment Variables --> System Variables --> Edit --> Path
- insert C:\cygwin\bin
- reboot
- setup À» º°µµ·Î ´Ù¿î·Îµå
- devel ¿¡¼ gcc ¿Í make ¼±ÅÃ
livecd2win ¶
- µð·ºÅ丮 ±¸Á¶
- %SystemDrive%\LIVECD
- base.sqfs, usr.sqfs, version
- %SystemDrive%\boot
- vmlinuz, initrd.gz, grub, version
- %SystemDrive%\boot\grub
- stage1, stage2, menu.lst, version
- livecd2win.exe Àº extract µÇ´Â µð·ºÅ丮¿¡ »ý¼ºµÊ
- uninstall.exe ´Â livecd2win.exe ÀÌ ¼öÇàµÇ¸é, °°Àº µð·ºÅ丮¿¡ »ý¼ºµÊ.
- shortcut À» ¸¸µé °ÍÀΰ¡? ¸¸µé ÇÊ¿ä ¾øÀ½.
- °¢°¢ÀÇ ¹öÀü ÆÄÀÏÀ» ¸¸µé °ÍÀΰ¡?
- vmlinuz, initrd.gz, grub ´Â À̸§¿¡ ¹öÀü ³Ñ¹ö¸¦ ³Ö¾îµµ µÉ °Í °°±º.
- base ¿Í usr µµ À̸§¿¡ ¹öÀü ³Ñ¹ö¸¦ ³ÖÀº °ÍÀÌ °¡´ÉÀº Çѵ¥, ¹®Á¦°¡ ÀÖÀ» °Í °°´Ù.
installer ¶
- CD ¿¡ ÀÖ´Â °æ¿ì
- ´Ù¿î·ÎµåÇÑ °æ¿ì
- °øÅëµÈ ºÎºÐ
- %SystemDrive% ¹Ø¿¡ NTLDR, boot.ini ÀÌ Àִ°¡ Á¡°Ë.
- ¾øÀ¸¸é? Abort
- ÀÖÀ¸¸é boot, LIVECD Àִ°¡ Á¡°Ë
- ÀÖÀ¸¸é Áú¹®? version
- ¾øÀ¸¸é »õ·Î ¸¸µê.
- ÇÊ¿ä ÆÄÀÏµé º¹»ç
- boot/grub Àִ°¡ Á¡°Ë
- ÀÖÀ¸¸é Áú¹®
- ¾øÀ¸¸é »õ·Î ¸¸µê
- stage1, stage2 º¹»ç
- stage1, stage2 ÀÇ attribure º¯°æ
- make menu.lst
- grubinstall
- error ó¸®
NTFS mount succeeded
stage1(11247118)
version=3.2
boot_drive=0xff
force_lba=0
stage2_address=0x8000
stage2_sector=11247118
stage2_segment=0x800
stage2(11247118+215)
214 sectors to load from sector 11247119 at 0x820
menu '(hd0,1)/boot/menu.lst'
stage2 configured on (hd1,1).
once you have cygwin installed, you need to run the "cygwin bash shell" and use that as your prompt instead of the regular dos prompt in order to get things to work.
the other things are probably installed, but unless you add c:\cygwin\bin (or wherever you installed it) to your PATH environment variable (control panels -> system properties -> advanced -> environment variables) they won't work from a dos prompt (although processing won't build from a dos prompt, you have to use cygwin).
ntfsblocklist.c:9:30: ../stage2/shared.h: No such file or directory
In file included from ntfsblocklist.c:10:
../stage2/fsys_ntfs.c:51:20: shared.h: No such file or directory
../stage2/fsys_ntfs.c:52:21: filesys.h: No such file or directory
In file included from ntfsblocklist.c:10:
../stage2/fsys_ntfs.c: In function `fixup_record':
../stage2/fsys_ntfs.c:202: error: `FSYS_BUF' undeclared (first use in this function)
../stage2/fsys_ntfs.c:202: error: (Each undeclared identifier is reported only once
../stage2/fsys_ntfs.c:202: error: for each function it appears in.)
../stage2/fsys_ntfs.c: In function `get_next_run':
../stage2/fsys_ntfs.c:242: warning: use of cast expressions as lvalues is deprecated
../stage2/fsys_ntfs.c:252: warning: use of cast expressions as lvalues is deprecated
../stage2/fsys_ntfs.c: In function `init_run_list':
../stage2/fsys_ntfs.c:274: error: `FSYS_BUF' undeclared (first use in this function)
../stage2/fsys_ntfs.c: In function `find_attribute':
../stage2/fsys_ntfs.c:294: error: `FSYS_BUF' undeclared (first use in this function)
../stage2/fsys_ntfs.c:323: error: `print_possibilities' undeclared (first use in this function)
../stage2/fsys_ntfs.c:325: warning: implicit declaration of function `print_a_completion'
../stage2/fsys_ntfs.c: In function `get_next_attribute_list':
../stage2/fsys_ntfs.c:387: error: `FSYS_BUF' undeclared (first use in this function)
../stage2/fsys_ntfs.c:411: error: `errnum' undeclared (first use in this function)
../stage2/fsys_ntfs.c:411: error: `ERR_FSYS_CORRUPT' undeclared (first use in this function)
../stage2/fsys_ntfs.c: In function `search_attribute':
../stage2/fsys_ntfs.c:440: error: `FSYS_BUF' undeclared (first use in this function)
../stage2/fsys_ntfs.c: In function `read_attribute':
../stage2/fsys_ntfs.c:559: error: `FSYS_BUF' undeclared (first use in this function)
../stage2/fsys_ntfs.c:577: warning: implicit declaration of function `devread'
../stage2/fsys_ntfs.c: In function `read_mft_record':
../stage2/fsys_ntfs.c:593: error: `FSYS_BUF' undeclared (first use in this function)
../stage2/fsys_ntfs.c: In function `get_16_cluster':
../stage2/fsys_ntfs.c:609: error: `FSYS_BUF' undeclared (first use in this function)
../stage2/fsys_ntfs.c: In function `decompress_block':
../stage2/fsys_ntfs.c:647: error: `errnum' undeclared (first use in this function)
../stage2/fsys_ntfs.c:647: error: `ERR_FSYS_CORRUPT' undeclared (first use in this function)
../stage2/fsys_ntfs.c: In function `ntfs_read':
../stage2/fsys_ntfs.c:711: error: `filepos' undeclared (first use in this function)
../stage2/fsys_ntfs.c:711: error: `FSYS_BUF' undeclared (first use in this function)
../stage2/fsys_ntfs.c:719: error: `disk_read_func' undeclared (first use in this function)
../stage2/fsys_ntfs.c:719: error: `disk_read_hook' undeclared (first use in this function)
../stage2/fsys_ntfs.c:732: error: `errnum' undeclared (first use in this function)
../stage2/fsys_ntfs.c:732: error: `ERR_FSYS_CORRUPT' undeclared (first use in this function)
../stage2/fsys_ntfs.c:835: error: `filemax' undeclared (first use in this function)
../stage2/fsys_ntfs.c: In function `ntfs_mount':
../stage2/fsys_ntfs.c:849: error: `FSYS_BUF' undeclared (first use in this function)
../stage2/fsys_ntfs.c:853: error: `current_drive' undeclared (first use in this function)
../stage2/fsys_ntfs.c:853: error: `current_slice' undeclared (first use in this function)
../stage2/fsys_ntfs.c: In function `ntfs_dir':
../stage2/fsys_ntfs.c:923: error: `FSYS_BUF' undeclared (first use in this function)
../stage2/fsys_ntfs.c:928: error: `errnum' undeclared (first use in this function)
../stage2/fsys_ntfs.c:928: error: `ERR_FSYS_CORRUPT' undeclared (first use in this function)
../stage2/fsys_ntfs.c:939: error: `print_possibilities' undeclared (first use in this function)
../stage2/fsys_ntfs.c:955: error: `ERR_FILE_NOT_FOUND' undeclared (first use in this function)
../stage2/fsys_ntfs.c:967: error: `ERR_BAD_FILETYPE' undeclared (first use in this function)
../stage2/fsys_ntfs.c:973: error: `filemax' undeclared (first use in this function)
../stage2/fsys_ntfs.c:944: warning: value computed is not used
ntfsblocklist.c: In function `ntfs_blocklist':
ntfsblocklist.c:22: error: `errnum' undeclared (first use in this function)
ntfsblocklist.c:26: error: `grub_scratch_mem' undeclared (first use in this function)
ntfsblocklist.c:35: error: `filepos' undeclared (first use in this function)
ntfsblocklist.c:53: error: `disk_read_func' undeclared (first use in this function)
ntfsblocklist.c:53: error: `disk_read_hook' undeclared (first use in this function)
ntfsblocklist.c:56: error: `SECTOR_SIZE' undeclared (first use in this function)
ntfsblocklist.c:57: error: `filemax' undeclared (first use in this function)
make: *** [ntfsblocklist.o] Error 1
- boot.ini ÀÇ rdisk ´Â 0 ·Î µÇ¾î ÀÖÁö¸¸, registry ÀÇ System/MountedDevices/DosDevices/C: ¿¡´Â hd1 À¸·Î
µÇ¾î ÀÖÀ½.
- °á°úÀûÀ¸·Î probe ¿¡¼´Â hd1 ÀÌ µ¹¾Æ¿È.
- while ÀÇ °æ¿ì ¾È¿¡¼ ¼³Á¤ÇÑ °ÍÀÌ ¹Û¿¡¼ ¾ø¾îÁø´Ù?
To edit your environment variables in Windows 2000, right click on My Computer, select Properties. Under the Advance tab, select Environment Variables. Here you can edit the path and other environment variables or create new ones. Note that you will always want to edit the system variables not the user variables. When editing the PATH variable, directories are separated by the semicolon and don't worry about spaces in the directories. Also, in order for running applications will see environment variable changes, you will need to restart them. This includes the command prompt.
- mapdisk (hd0) ¿Í mapdisk (hd1) À» ÇØ º¼ °Í
- mapdrive -v c: ¸¦ ÇØ º¼ °Í
- kernel À» ¹Ù²Ü °æ¿ì ÇÒ ÀÏ
- base.sqfs : /boot ¹ØÀÇ ÆÄÀϵé, /lib/modules
- LIVECD ¹ØÀÇ base.sqfs
- /boot ¹ØÀÇ vmlinuz
[root@localhost usbdisk]# cat /proc/mounts
rootfs / rootfs rw 0 0
none /sys sysfs rw 0 0
/dev/sda2 /mnt/sda2 ntfs ro,noatime,nodiratime,uid=0,gid=0,fmask=0177,dmask=077,nls=default,errors=continue,mft_zone_multiplier=1 0 0
none /var tmpfs rw 0 0
/dev/loop0 /mnt/livecd squashfs ro 0 0
none /livecd unionfs rw,dirs=/var/tmp/livecd_cow=rw:/mnt/livecd=rw,debug=0,delete=all,copyup=preserve 0 0
/dev/loop2 /mnt/usr squashfs ro 0 0
none /usr unionfs rw,dirs=/var/tmp/usr_cow=rw:/mnt/usr=rw,debug=0,delete=all,copyup=preserve 0 0
/proc /proc proc rw,nodiratime 0 0
/proc/bus/usb /proc/bus/usb usbfs rw 0 0
none /dev tmpfs rw 0 0
none /dev/pts devpts rw 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
/dev/hdb1 /mnt/hdb1 ext2 rw,nosuid,nodev 0 0
/dev/hdb2 /mnt/hdb2 ext2 rw,nosuid,nodev 0 0
/dev/sda1 /mnt/sda1 vfat rw,nodiratime,nosuid,nodev,fmask=0000,dmask=0000,codepage=cp437,iocharset=ascii 0 0
/dev/sda3 /mnt/sda3 vfat rw,nodiratime,nosuid,nodev,fmask=0000,dmask=0000,codepage=cp437,iocharset=ascii 0 0
/dev/sda5 /mnt/sda5 ext2 rw,nosuid,nodev 0 0
/dev/sdb1 /media/usbdisk vfat rw,nodiratime,nosuid,nodev,fmask=0022,dmask=0022,codepage=cp437,iocharset=ascii 0 0
[root@localhost usbdisk]# cat /etc/fstab
# This file is edited by fstab-sync - see 'man fstab-sync' for details
/dev/ram0 / ext2 defaults 1 1
none /proc proc defaults 0 0
none /sys sysfs noauto 0 0
none /dev/pts devpts defaults 0 0
none /dev/shm tmpfs defaults 0 0
# Added by BOOYO
/dev/hdb1 /mnt/hdb1 ext2 noauto,users,exec 0 0
# Added by BOOYO
/dev/hdb2 /mnt/hdb2 ext2 noauto,users,exec 0 0
# Added by BOOYO
/dev/sda1 /mnt/sda1 vfat noauto,users,exec,umask=000 0 0
# Added by BOOYO
/dev/sda2 /mnt/sda2 ntfs noauto,users,exec,ro,umask=000 0 0
# Added by BOOYO
/dev/sda3 /mnt/sda3 vfat noauto,users,exec,umask=000 0 0
# Added by BOOYO
/dev/sda5 /mnt/sda5 ext2 noauto,users,exec 0 0
# Added by BOOYO
/dev/sda6 swap swap defaults 0 0
/dev/fd0 /media/floppy auto pamconsole,exec,noauto,managed 0 0
/dev/hda /media/cdrecorder auto pamconsole,exec,noauto,managed 0 0
/dev/sdb1 /media/usbdisk vfat pamconsole,exec,noauto,managed 0 0
[root@localhost usbdisk]# cat /etc/mtab
rootfs / rootfs rw 0 0
none /sys sysfs rw 0 0
/dev/sda2 /mnt/sda2 ntfs ro,noatime,nodiratime,uid=0,gid=0,fmask=0177,dmask=077,nls=default,errors=continue,mft_zone_multiplier=1 0 0
none /var tmpfs rw 0 0
/dev/loop0 /mnt/livecd squashfs ro 0 0
none /livecd unionfs rw,dirs=/var/tmp/livecd_cow=rw:/mnt/livecd=rw,debug=0,delete=all,copyup=preserve 0 0
/dev/loop2 /mnt/usr squashfs ro 0 0
none /usr unionfs rw,dirs=/var/tmp/usr_cow=rw:/mnt/usr=rw,debug=0,delete=all,copyup=preserve 0 0
/proc /proc proc rw,nodiratime 0 0
/proc/bus/usb /proc/bus/usb usbfs rw 0 0
none /dev tmpfs rw 0 0
none /dev/pts devpts rw 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
/dev/hdb1 /mnt/hdb1 ext2 rw,nosuid,nodev 0 0
/dev/hdb2 /mnt/hdb2 ext2 rw,nosuid,nodev 0 0
/dev/sda1 /mnt/sda1 vfat rw,nodiratime,nosuid,nodev,fmask=0000,dmask=0000,codepage=cp437,iocharset=ascii 0 0
/dev/sda3 /mnt/sda3 vfat rw,nodiratime,nosuid,nodev,fmask=0000,dmask=0000,codepage=cp437,iocharset=ascii 0 0
/dev/sdb1 /media/usbdisk vfat rw,nodiratime,nosuid,nodev,fmask=0022,dmask=0022,codepage=cp437,iocharset=ascii 0 0
- rebuildfstab À» ¼Õ º¸¾Æ¾ß ÇÔ.
- grubinstall.c ¸¦ ¼öÁ¤ÇÔ.
- sprintf(device, "(hd%d,%d)",0,1);
I've seen reference to the boot volume being the place where ntldr,
NTDETECT.COM, and boot.ini reside, and the system volume being
%SystemDrive%, or the volume containing %SystemRoot%. Those don't seem
to be consistent with the display in Disk Management.
The Boot.ini file uses the Advanced RISC Computing (ARC) naming convention to define the path to a Windows XP Professional installation. If the contents of the Boot.ini are incorrectly changed or the file becomes corrupt, you might not be able to start Windows XP Professional. To detect and correct Boot.ini problems you need to understand ARC paths.
System Partition
The system partition refers to the disk volume that contains the hardware-specific files that are needed to start Windows, such as Ntldr, Boot.ini, and Ntdetect.com. The system partition can be, but does not have to be, the same volume as the boot partition.
; livecdinstall.nsi
;
; This script is perhaps one of the simplest NSIs you can make. All of the
; optional settings are left to their default settings. The installer simply
; prompts the user asking them where to install, and drops a copy of example1.nsi
; there.
;--------------------------------
; The name of the installer
Name "LivecdInstall"
; The file to write
OutFile "livecdinstall.exe"
; The default installation directory
InstallDir c:\boot
Var SYSDRIVE
Var OLDBOOTVER
Var OLDLIVECDVER
Var OLDGRUBVER
Var NEWBOOTVER
Var NEWLIVECDVER
Var NEWGRUBVER
;--------------------------------
; Pages
Page components
Page instfiles
;--------------------------------
; The stuff to install
Section "SysdriveCheck" ;
ReadEnvStr $SYSDRIVE SystemDrive
IfFileExists "$SYSDRIVE\NTLDR" 0 NTLDRnotfound
IfFileExists "$SYSDRIVE\boot.ini" checkend bootininotfound
NTLDRnotfound:
MessageBox MB_OK|MB_ICONSTOP "Can't find NTLDR"
Abort
bootininotfound:
MessageBox MB_OK|MB_ICONSTOP "Can't find boot.ini"
Abort
checkend:
MessageBox MB_OK|MB_ICONSTOP "Find NTLDR and boot.ini"
SectionEnd ; end the section
Function readversion
# some commands
FunctionEnd
Section "OldFileVerCheck" ;
IfFileExists "$SYSDRIVE\LIVECD\version" 0 checkoldbootver
ClearErrors
FileOpen $0 $SYSDRIVE\LIVECD\version r
IfErrors livecdveropenerror
FileRead $0 $OLDLIVECDVER
DetailPrint $OLDLIVECDVER
FileClose $0
goto checkoldbootver
livecdveropenerror:
Abort
ckeckoldbootver:
IfFileExists "$SYSDRIVE\boot\version" 0 checkoldgrubver
ClearErrors
FileOpen $0 $SYSDRIVE\boot\version r
IfErrors bootveropenerror
FileRead $0 $OLDBOOTVER
DetailPrint $OLDBOOTVER
FileClose $0
goto checkoldgrubver
bootveropenerror:
Abort
checkoldgrubver:
IfFileExists "$SYSDRIVE\boot\grub\version" 0 done
ClearErrors
FileOpen $0 $SYSDRIVE\boot\grub/version r
IfErrors grubveropenerror
FileRead $0 $OLDGRUBVER
DetailPrint $OLDGRUBVER
FileClose $0
goto done
bootveropenerror:
Abort
done:
SectionEnd ; end the section
Section "NewFileVerCheck" ;
IfFileExists "$SYSDRIVE\LIVECD\version" 0 +2
RMDir /r $SYSDRIVE\LIVECD
IfFileExists "boot\version" 0 +2
RMDir /r $SYSDRIVE\boot
IfFileExists "boot\grub\version" 0 +2
RMDir /r $SYSDRIVE\boot
CreateDirectory $SYSDRIVE\boot
CreateDirectory $SYSDRIVE\LIVECD
SectionEnd ; end the section
grubinstall À» °íÃÄ¾ß Çϴ°¡?
¹®Á¦°¡ »ý±â¸é ±×¶§ »ý°¢ÇÏÀÚ....
http://www.articles.lostcoders.net/computers/64/install-osx-tiger-on-intel-machines-or-usb-drives-using-only-windows-software/
NSIS (Nullsoft Scriptable Install System) ¶
NSIS:
Bin Contrib Docs Examples Include Menu NSIS.chm NSIS.exe Plugins
Stubs license.txt livecd2win makensis.exe makensisw.exe nsisconf.nsh
uninst-nsis.exe
./Bin:
GenPat.exe LibraryLocal.exe MakeLangId.exe RegTool.bin zip2exe.exe
./Contrib:
Graphics Language files Modern UI Self-Extractor UIs zip2exe
./Contrib/Graphics:
Checks Header Icons Wizard
./Contrib/Graphics/Checks:
big.bmp classic-cross.bmp classic.bmp colorful.bmp grey-cross.bmp
grey.bmp modern.bmp red-round.bmp red.bmp simple-round.bmp
simple-round2.bmp simple.bmp
./Contrib/Graphics/Header:
nsis-r.bmp nsis.bmp orange-nsis.bmp orange-r-nsis.bmp orange-r.bmp
orange-uninstall-nsis.bmp orange-uninstall-r-nsis.bmp
orange-uninstall-r.bmp orange-uninstall.bmp orange.bmp win.bmp
./Contrib/Graphics/Icons:
arrow-install.ico arrow-uninstall.ico arrow2-install.ico
arrow2-uninstall.ico box-install.ico box-uninstall.ico
classic-install.ico classic-uninstall.ico llama-blue.ico
llama-grey.ico modern-install-blue-full.ico modern-install-blue.ico
modern-install-colorful.ico modern-install-full.ico modern-install.ico
modern-uninstall-blue-full.ico modern-uninstall-blue.ico
modern-uninstall-colorful.ico modern-uninstall-full.ico
modern-uninstall.ico nsis1-install.ico nsis1-uninstall.ico
orange-install-nsis.ico orange-install.ico orange-uninstall-nsis.ico
orange-uninstall.ico pixel-install.ico pixel-uninstall.ico
win-install.ico win-uninstall.ico
./Contrib/Graphics/Wizard:
arrow.bmp llama.bmp nsis.bmp nullsoft.bmp orange-nsis.bmp
orange-uninstall-nsis.bmp orange-uninstall.bmp orange.bmp win.bmp
./Contrib/Language files:
Albanian.nlf Arabic.nlf Belarusian.nlf Bosnian.nlf Breton.nlf
Bulgarian.nlf Catalan.nlf Croatian.nlf Czech.nlf Danish.nlf Dutch.nlf
English.nlf Estonian.nlf Farsi.nlf Finnish.nlf French.nlf German.nlf
Greek.nlf Hebrew.nlf Hungarian.nlf Icelandic.nlf Indonesian.nlf
Italian.nlf Japanese.nlf Korean.nlf Kurdish.nlf Latvian.nlf Lithuanian.nlf
Luxembourgish.nlf Macedonian.nlf Malay.nlf Mongolian.nlf Norwegian.nlf
Polish.nlf Portuguese.nlf PortugueseBR.nlf Romanian.nlf Russian.nlf
Serbian.nlf SerbianLatin.nlf SimpChinese.nlf Slovak.nlf Slovenian.nlf
Spanish.nlf Swedish.nlf Thai.nlf TradChinese.nlf Turkish.nlf Ukrainian.nlf
./Contrib/Modern UI:
Language files System.nsh ioSpecial.ini
./Contrib/Modern UI/Language files:
Albanian.nsh Arabic.nsh Belarusian.nsh Bosnian.nsh Breton.nsh
Bulgarian.nsh Catalan.nsh Croatian.nsh Czech.nsh Danish.nsh
Default.nsh Dutch.nsh English.nsh Estonian.nsh Farsi.nsh Finnish.nsh
French.nsh German.nsh Greek.nsh Hebrew.nsh Hungarian.nsh Icelandic.nsh
Indonesian.nsh Italian.nsh Japanese.nsh Korean.nsh Kurdish.nsh Latvian.nsh
Lithuanian.nsh Luxembourgish.nsh Macedonian.nsh Malay.nsh Mongolian.nsh
Norwegian.nsh Polish.nsh Portuguese.nsh PortugueseBR.nsh Romanian.nsh
Russian.nsh Serbian.nsh SerbianLatin.nsh SimpChinese.nsh Slovak.nsh
Slovenian.nsh Spanish.nsh Swedish.nsh Thai.nsh TradChinese.nsh
Turkish.nsh Ukrainian.nsh
./Contrib/Self-Extractor:
Bin Example.nsi LivecdExtractor.exe Readme.html livecdextractor.nsi
self-extractor.png
./Contrib/Self-Extractor/Bin:
Add-Dir.exe Add-Dir.lst Dir-To-SE Make-List SE-Base.nsh Zip-To-SE
dlg.exe dlg_0.ini dlg_1.ini dlg_2.ini dlg_pass.ini
./Contrib/Self-Extractor/Bin/Dir-To-SE:
Dir-To-SE.exe Dir-To-SE.txt header.nsh
./Contrib/Self-Extractor/Bin/Make-List:
Make-List.exe Make-List.txt
./Contrib/Self-Extractor/Bin/Zip-To-SE:
Cache Zip-To-SE.exe Zip-To-SE.txt header.nsh
./Contrib/Self-Extractor/Bin/Zip-To-SE/Cache:
unzip.exe
./Contrib/UIs:
default.exe modern.exe modern_headerbmp.exe modern_headerbmpr.exe
modern_nodesc.exe modern_smalldesc.exe sdbarker_tiny.exe
./Contrib/zip2exe:
Base.nsh Classic.nsh Modern.nsh
./Docs:
AdvSplash Banner BgImage Dialer InstallOptions Math Modern UI
NSISdl Splash StartMenu StrFunc System VPatch makensisw nsExec
./Examples:
AdvSplash Banner BgImage FileFunc.ini FileFunc.nsi FileFuncTest.nsi
InstallOptions Library.nsi LogicLib.nsi Math Modern UI Splash
StartMenu StrFunc.nsi System TextFunc.ini TextFunc.nsi TextFuncTest.nsi
UserInfo UserVars.nsi VPatch VersionInfo.nsi WordFunc.ini WordFunc.nsi
WordFuncTest.nsi bigtest.nsi example1.nsi example2.nsi gfx.nsi
languages.nsi makensis.ini makensis.nsi nsExec one-section.nsi
primes.nsi rtest.nsi silent.nsi viewhtml.nsi waplugin.nsi
./Include:
Colors.nsh FileFunc.nsh Library.nsh LogicLib.nsh MUI.nsh SE.nsh
Sections.nsh StrFunc.nsh TextFunc.nsh UpgradeDLL.nsh VPatchLib.nsh
WinMessages.nsh WordFunc.nsh livecd2win.nsh
./Menu:
compiler.html docs.html images index.html intro.html notinstalled.html
update.html websites.html
./Menu/images:
clear.gif header.gif line.gif menu.gif menud.gif site.gif
./Plugins:
AdvSplash.dll Banner.dll BgImage.dll Dialer.dll InstallOptions.dll
LangDLL.dll Math.dll NSISdl.dll Splash.dll StartMenu.dll System.dll
TypeLib.dll UserInfo.dll VPatch.dll nsExec.dll
./Stubs:
bzip2 bzip2_solid lzma lzma_solid uninst zlib zlib_solid
./livecd2win:
LIVECD Readme.html boot flushdrv.exe grubinstall.exe livecd2win.exe
livecd2win.nsi
./livecd2win/LIVECD:
base.sqfs usr.sqfs version
./livecd2win/boot:
grub initrd.gz version vmlinuz
./livecd2win/boot/grub:
menu.lst stage1 stage2 version
- /NSIS/include/livecd2win.nsh
!define StrStr "!insertmacro StrStr"
!macro StrStr ResultVar String SubString
Push `${String}`
Push `${SubString}`
Call StrStr
Pop `${ResultVar}`
!macroend
Function StrStr
/*After this point:
------------------------------------------
$R0 = SubString (input)
$R1 = String (input)
$R2 = SubStringLen (temp)
$R3 = StrLen (temp)
$R4 = StartCharPos (temp)
$R5 = TempStr (temp)*/
;Get input from user
Exch $R0
Exch
Exch $R1
Push $R2
Push $R3
Push $R4
Push $R5
;Get "String" and "SubString" length
StrLen $R2 $R0
StrLen $R3 $R1
;Start "StartCharPos" counter
StrCpy $R4 0
;Loop until "SubString" is found or "String" reaches its end
loop:
;Remove everything before and after the searched part ("TempStr")
StrCpy $R5 $R1 $R2 $R4
;Compare "TempStr" with "SubString"
StrCmp $R5 $R0 done
;If not "SubString", this could be "String"'s end
IntCmp $R4 $R3 done 0 done
;If not, continue the loop
IntOp $R4 $R4 + 1
Goto loop
done:
/*After this point:
------------------------------------------
$R0 = ResultVar (output)*/
;Remove part before "SubString" on "String" (if there has one)
StrCpy $R0 $R1 `` $R4
;Return output to user
Pop $R5
Pop $R4
Pop $R3
Pop $R2
Pop $R1
Exch $R0
FunctionEnd
Function AdvReplaceInFile
Exch $0 ;file to replace in
Exch
Exch $1 ;number to replace after
Exch
Exch 2
Exch $2 ;replace and onwards
Exch 2
Exch 3
Exch $3 ;replace with
Exch 3
Exch 4
Exch $4 ;to replace
Exch 4
Push $5 ;minus count
Push $6 ;universal
Push $7 ;end string
Push $8 ;left string
Push $9 ;right string
Push $R0 ;file1
Push $R1 ;file2
Push $R2 ;read
Push $R3 ;universal
Push $R4 ;count (onwards)
Push $R5 ;count (after)
Push $R6 ;temp file name
;-------------------------------
GetTempFileName $R6
FileOpen $R1 $0 r ;file to search in
FileOpen $R0 $R6 w ;temp file
StrLen $R3 $4
StrCpy $R4 -1
StrCpy $R5 -1
loop_read:
ClearErrors
FileRead $R1 $R2 ;read line
IfErrors exit
StrCpy $5 0
StrCpy $7 $R2
loop_filter:
IntOp $5 $5 - 1
StrCpy $6 $7 $R3 $5 ;search
StrCmp $6 "" file_write2
StrCmp $6 $4 0 loop_filter
StrCpy $8 $7 $5 ;left part
IntOp $6 $5 + $R3
StrCpy $9 $7 "" $6 ;right part
StrLen $6 $7
StrCpy $7 $8$3$9 ;re-join
StrCmp -$6 $5 0 loop_filter
IntOp $R4 $R4 + 1
StrCmp $2 all file_write1
StrCmp $R4 $2 0 file_write2
IntOp $R4 $R4 - 1
IntOp $R5 $R5 + 1
StrCmp $1 all file_write1
StrCmp $R5 $1 0 file_write1
IntOp $R5 $R5 - 1
Goto file_write2
file_write1:
FileWrite $R0 $7 ;write modified line
Goto loop_read
file_write2:
FileWrite $R0 $7 ;write modified line
Goto loop_read
exit:
FileClose $R0
FileClose $R1
SetDetailsPrint none
Delete $0
Rename $R6 $0
Delete $R6
SetDetailsPrint both
;-------------------------------
Pop $R6
Pop $R5
Pop $R4
Pop $R3
Pop $R2
Pop $R1
Pop $R0
Pop $9
Pop $8
Pop $7
Pop $6
Pop $5
Pop $4
Pop $3
Pop $2
Pop $1
Pop $0
FunctionEnd
Function FileSearch
Exch $0 ;search for
Exch
Exch $1 ;input file
Exch
Push $2
Push $3
Push $4
Push $5
Push $6
Push $7
Push $8
Push $9
Push $R0
FileOpen $2 $1 r
StrLen $4 $0
StrCpy $5 0
StrCpy $7 no
StrCpy $8 0
StrCpy $9 0
loop_main:
FileRead $2 $3
IfErrors done
IntOp $R0 $R0 + $9
StrCpy $9 0
StrCpy $5 0
filter_top:
IntOp $5 $5 - 1
StrCpy $6 $3 $4 $5
StrCmp $6 "" loop_main
StrCmp $6 $0 0 filter_top
StrCpy $3 $3 $5
StrCpy $5 0
StrCpy $7 yes
StrCpy $9 1
IntOp $8 $8 + 1
Goto filter_top
done:
FileClose $2
StrCpy $0 $8
StrCpy $1 $7
StrCpy $2 $R0
Pop $R0
Pop $9
Pop $8
Pop $7
Pop $6
Pop $5
Pop $4
Pop $3
Exch 2
Exch $2 ;output number of lines
Exch 2
Exch
Exch $1 ;output yes/no
Exch
Exch $0 ;output count found
FunctionEnd
- /NSIS/livecd2win/livecd2win.nsi
; livecdinstall.nsi
;
; This script is perhaps one of the simplest NSIs you can make. All of the
; optional settings are left to their default settings. The installer simply
; prompts the user asking them where to install, and drops a copy of example1.nsi
; there.
;--------------------------------
!include "MUI.nsh"
!include "livecd2win.nsh"
; The name of the installer
Name "Livecd2win"
; The file to write
OutFile "livecd2win.exe"
; The default installation directory
InstallDir c:\boot
!define MUI_ABORTWARNING
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_WELCOME
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH
!insertmacro MUI_LANGUAGE "Korean"
Var SYSDRIVE
Var DEFAULT
Var PARTITION
Var RDISK
Var RESULT
;--------------------------------
; The stuff to install
Function .onInit
ReadEnvStr $SYSDRIVE SystemDrive
IfFileExists "$SYSDRIVE\NTLDR" 0 NTLDRnotfound
IfFileExists "$SYSDRIVE\boot.ini" checkend bootininotfound
NTLDRnotfound:
MessageBox MB_OK|MB_ICONSTOP "Can't find NTLDR"
Abort
bootininotfound:
MessageBox MB_OK|MB_ICONSTOP "Can't find boot.ini"
Abort
checkend:
FunctionEnd ; end the sectio
Function un.onInit
ReadEnvStr $SYSDRIVE SystemDrive
IfFileExists "$SYSDRIVE\boot.ini" checkend bootininotfound
bootininotfound:
MessageBox MB_OK|MB_ICONSTOP "Can't find boot.ini"
Abort
checkend:
FunctionEnd ; end the sectio
Section "CopyFiles" ;
IfFileExists "$SYSDRIVE\LIVECD\version" 0 +2
RMDir /r $SYSDRIVE\LIVECD
IfFileExists "$SYSDRIVE\boot\version" 0 +2
RMDir /r $SYSDRIVE\boot
CreateDirectory $SYSDRIVE\LIVECD
CreateDirectory $SYSDRIVE\boot
CreateDirectory $SYSDRIVE\boot\grub
CopyFiles LIVECD\*.* $SYSDRIVE\LIVECD
CopyFiles boot\vmlinuz $SYSDRIVE\boot
CopyFiles boot\initrd.gz $SYSDRIVE\boot
CopyFiles boot\grub\stage1 $SYSDRIVE\boot\grub
CopyFiles boot\grub\stage2 $SYSDRIVE\boot\grub
CopyFiles boot\grub\menu.lst $SYSDRIVE\boot\grub
WriteUninstaller "uninstall.exe"
SectionEnd ; end the section
Section "GrubInstall" ;
ReadINIStr $DEFAULT $SYSDRIVE\boot.ini "boot loader" default
; set $PARTITION
${StrStr} "$RESULT" "$DEFAULT" "partition(1)"
StrCmp $RESULT "" +3
StrCpy $PARTITION "0"
goto setrdisk
${StrStr} "$RESULT" "$DEFAULT" "partition(2)"
StrCmp $RESULT "" +3
StrCpy $PARTITION "1"
goto setrdisk
${StrStr} "$RESULT" "$DEFAULT" "partition(3)"
StrCmp $RESULT "" +3
StrCpy $PARTITION "2"
goto setrdisk
${StrStr} "$RESULT" "$DEFAULT" "partition(4)"
StrCmp $RESULT "" +3
StrCpy $PARTITION "3"
goto setrdisk
Abort
; set $RDISK
setrdisk:
${StrStr} "$RESULT" "$DEFAULT" "rdisk(0)"
StrCmp $RESULT "" +3
StrCpy $RDISK "0"
goto writemenu
${StrStr} "$RESULT" "$DEFAULT" "rdisk(1)"
StrCmp $RESULT "" +3
StrCpy $RDISK "1"
goto writemenu
${StrStr} "$RESULT" "$DEFAULT" "rdisk(2)"
StrCmp $RESULT "" +3
StrCpy $RDISK "2"
goto writemenu
${StrStr} "$RESULT" "$DEFAULT" "rdisk(3)"
StrCmp $RESULT "" +3
StrCpy $RDISK "3"
goto writemenu
Abort
writemenu:
StrCmp $PARTITION "0" 0 +3
StrCmp $RDISK "0" 0 +2
goto noneedreplace
Push "(hd0,0)"
Push "(hd$RDISK,$PARTITION)"
Push all
Push all
Push $SYSDRIVE\boot\grub\menu.lst
Call AdvReplaceInFile
noneedreplace:
ExecWait "flushdrv.exe" $0
DetailPrint "flushdrv returned $0"
ExecWait "grubinstall.exe \
-d $SYSDRIVE \
-1 $SYSDRIVE\boot\grub\stage1 \
-2 $SYSDRIVE\boot\grub\stage2 \
-m (hd$RDISK,$PARTITION)$SYSDRIVE\boot\grub\menu.lst" $0
DetailPrint "grubinstall returned $0"
ExecWait "flushdrv.exe" $0
DetailPrint "flushdrv returned $0"
SectionEnd ; end the section
Section "EditBootini" ;
ExecWait "attrib -r -h -s $SYSDRIVE\boot.ini" $0
DetailPrint "attrib result $0"
Push $SYSDRIVE\boot.ini
Push "LiveCD on Windows Filesystem"
Call FileSearch
Pop $0
Pop $1
Pop $2
StrCmp $1 yes resetattrib
IfFileExists $SYSDRIVE\boot.ini.grubbak grubadd 0
ExecWait "copy $SYSDRIVE\boot.ini $SYSDRIVE\boot.ini.grubbak" $0
DetailPrint "copy result $0"
ExecWait "attrib +r +h +s $SYSDRIVE\boot.ini.grubbak" $0
DetailPrint "attrib result $0"
grubadd:
FileOpen $0 $SYSDRIVE\boot.ini a
FileSeek $0 0 END #go to end
FileWrite $0 '$SYSDRIVE\boot\grub\stage1="LIVECD on Windows Filesystem"'
FileClose $0
resetattrib:
ExecWait "attrib +r +h +s $SYSDRIVE\boot.ini" $0
DetailPrint "attrib result $0"
SectionEnd ; end the section
Section "un.RestoreBootini" ;
IfFileExists $SYSDRIVE\boot.ini.grubbak grubbakfound 0
MessageBox MB_OK|MB_ICONSTOP "Can't find boot.ini.grubbak"
Abort
grubbakfound:
Delete $SYSDRIVE\boot.ini
ExecWait "copy $SYSDRIVE\boot.ini.grubbak $SYSDRIVE\boot.ini" $0
DetailPrint "copy result $0"
ExecWait "attrib +r +h +s $SYSDRIVE\boot.ini" $0
DetailPrint "attrib result $0"
SectionEnd ; end the section
Section "un.DeleteFiles" ;
RMDir /r $SYSDRIVE\boot\grub
RMDir /r $SYSDRIVE\boot
RMDir /r $SYSDRIVE\LIVECD
SectionEnd ; end the section
- /NSIS/Contrib/Self-Extractor/livecdextractor.nsi
; ----------------------------- ;
; NSIS Self-Extractor ;
; example script ;
; ----------------------------- ;
; Extracts NSIS Self-Extractor ;
;- Include header
!include "SE.nsh"
SetCompress off
;- General settings
${SE-HeadingLine1} "Livecd2winExtractor"
${SE-HeadingLine2} "0.1"
${SE-Product} "${SE-HeadingLine1} ${SE-HeadingLine2}"
${SE-OutFile} "LivecdExtractor.exe"
${SE-ExtractDir} "C:\livecd2win"
${SE-ExecCheckBox} "$INSTDIR\livecd2win.exe" "Install Livecd on Windows"
${SE-AutoClose}
;- Files to extract
${SE-FilesStart}
${SE-OutPath} "$INSTDIR"
${SE-File} "${NSISDIR}\livecd2win\grubinstall.exe" "grubinstall.exe"
${SE-File} "${NSISDIR}\livecd2win\flushdrv.exe" "flushdrv.exe"
${SE-File} "${NSISDIR}\livecd2win\livecd2win.exe" "livecd2win.exe"
${SE-File} "${NSISDIR}\livecd2win\Readme.html" "Readme.html"
${SE-OutPath} "$INSTDIR\LIVECD"
${SE-File} "${NSISDIR}\livecd2win\LIVECD\base.sqfs" "base.sqfs"
${SE-File} "${NSISDIR}\livecd2win\LIVECD\usr.sqfs" "usr.sqfs"
${SE-File} "${NSISDIR}\livecd2win\LIVECD\version" "version"
${SE-OutPath} "$INSTDIR\boot"
${SE-File} "${NSISDIR}\livecd2win\boot\vmlinuz" "vmlinuz"
${SE-File} "${NSISDIR}\livecd2win\boot\initrd.gz" "initrd.gz"
${SE-File} "${NSISDIR}\livecd2win\boot\version" "version"
${SE-OutPath} "$INSTDIR\boot\grub"
${SE-File} "${NSISDIR}\livecd2win\boot\grub\stage1" "stage1"
${SE-File} "${NSISDIR}\livecd2win\boot\grub\stage2" "stage2"
${SE-File} "${NSISDIR}\livecd2win\boot\grub\menu.lst" "menu.lst"
${SE-File} "${NSISDIR}\livecd2win\boot\grub\version" "version"
${SE-FilesEnd}
HAL is an information service for devices. The HAL daemon maintains a dynamic database of connected hardware devices. In certain cases, this information can be used by specialized callout programs to maintain certain device configuration files. This is the case with removable file systems like CD-ROMs and USB card readers. HAL will invoke the fstab-sync callout program that will use HAL information to dynamically change managed entries in the fstab file. Removable devices are managed by fstab-sync with HAL information, telling fstab-sync when such disks are attached. The situation can be confusing. Callout programs perform the actual tasks, but HAL provides the device information. For example, though fstab-sync changes the fstab file, the options and mountpoints used for CD-ROM entries are specified in HAL device information files that set policies for storage management.
Hal properties for devices are handled by device information files (fdi) in the /usr/share/hal/fdi and /etc/hal/fdi directories. The /usr/share/hal/fdi directory is used for configurations provided by the distribution, in this case, Fedora Core 4, whereas /etc/hal/fdi is used for setting user administrative configurations. In both are listed subdirectories for the different kinds of information that HAL manages, such as policy, whose subdirectories have files with policies for how to manage devices. The files, known as device information files, have rules for obtaining information about devices, as well as detecting and assigning options for removable devices. The device information files have the extension .fdi, as in storage-policy.fdi. For example, the policy directory has two subdirectories: 10osvendor and 30thirdpary. The 10osvendor holds the fdi files that have policy rules for managing removable devices on Fedora Core 4 (10osvendor replaced 90defaultpolicy, which was used in Fedora Core 3). This directory holds the 10-storage-policy.fdi policy file used for storage devices. Here you'll find the properties that specify options for removable storage devices such as CD-ROMs. The directories begin with numbers; lower numbers are read first. Unlike with udev, the last property read will override any previous property settings, so priority is given to higher-numbered directories and the fdi files they hold. This is why the default policies are in 10osvendor, whereas the user policies, which would override the defaults, would be in a higher-numbered directory like 30user, as are third-party policies, 20thirdpolicy.
There are currently three device information file directories set up in the device information file directories, each for different kinds of information: information, policy, and preprobe.
* Information: Holds information about devices.
* Policy: Sets policies such as storage policies. The default policies for a storage device are in a 10-storage-policy.fdi file in the policy/10osvendor directory.
* Preprobe: Handles difficult devices such as unusual drives or drive configurations, for instance, those in preprobe/10osvendor/10-ide-drives.fdi. This contains information needed even before the device is probed.
Within these subdirectories are still other subdirectories indicating where the device information files come from, such as vendor, thirdparty, or user, and their priority. Certain critical files are listed here:
* information/10freedesktop: Information provided by freedesktop.org
* policy/10osvendor: Default policies (set by system administrator and OS distribution)
* preprobe/10osvendor: Preprobe policies for difficult devices
usb 1-2: new full speed USB device using uhci_hcd and address 2
Initializing USB Mass Storage driver...
scsi0 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 2
usb-storage: waiting for device to settle before scanning
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
Vendor: STORAGE Model: [HDD] Rev: 1026
Type: Direct-Access ANSI SCSI revision: 02
usb-storage: device scan complete
SCSI device sda: 250400 512-byte hdwr sectors (128 MB)
sda: Write Protect is off
sda: Mode Sense: 03 00 00 00
sda: assuming drive cache: write through
SCSI device sda: 250400 512-byte hdwr sectors (128 MB)
sda: Write Protect is off
sda: Mode Sense: 03 00 00 00
sda: assuming drive cache: write through
sda: sda1
Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
- fstab ÀÌ ¿ì¼±ÇÏ´Â °Í °°À½.
- À§ÀÇ °æ¿ì´Â fstab ¿¡ ¼³Á¤µÇ¾î ÀÖ¾ú´ø »óȲÀÓ
/dev/fd0 /media/floppy1 auto pamconsole,exec,noauto,managed 0 0
/dev/hda /media/cdrom auto pamconsole,exec,noauto,managed 0 0
/dev/sda1 /media/usbdisk vfat pamconsole,exec,noauto,managed 0 0
usb 1-2: new full speed USB device using uhci_hcd and address 2
Initializing USB Mass Storage driver...
scsi0 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 2
usb-storage: waiting for device to settle before scanning
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
Vendor: STORAGE Model: [HDD] Rev: 1026
Type: Direct-Access ANSI SCSI revision: 02
usb-storage: device scan complete
SCSI device sda: 250400 512-byte hdwr sectors (128 MB)
sda: Write Protect is off
sda: Mode Sense: 03 00 00 00
sda: assuming drive cache: write through
SCSI device sda: 250400 512-byte hdwr sectors (128 MB)
sda: Write Protect is off
sda: Mode Sense: 03 00 00 00
sda: assuming drive cache: write through
sda: sda1
Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
/dev/sda1 /media/usbdisk vfat rw,nodiratime,nosuid,nodev,fmask=0022,dmask=0022,codepage=cp437,iocharset=ascii 0 0
- /etc/auto.master
- /etc/auto.misc
- usb -fstype=vfat,rw,iocharset=iso8859-7 :/dev/sdc1
- µð¹ÙÀ̽º°¡ °íÁ¤µÇÁö ¾ÊÀ¸¹Ç·Î °ï¶õÇÔ.
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
<device>
<match key="block.is_volume" bool="true">
<match key="volume.fsusage" string="filesystem">
<match key="@block.storage_device:storage.vendor" string="FUJITSU">
<match key="@block.storage_device:storage.model" string="MHT2080AT">
<merge key="volume.policy.desired_mount_point" type="copy_property">volume.label</merge>
<!-- W95 FAT32 (LBA)-->
<match key="volume.partition.msdos_part_table_type" int="0x0c">
<merge key="volume.policy.mount_option.iocharset=utf8" type="bool">true</merge>
<merge key="volume.policy.mount_option.codepage=932" type="bool">true</merge>
</match>
</match>
</match>
</match>
</match>
</device>
15d14
< <merge key="storage.policy.default.mount_option.iocharset=utf8" type="bool">true</merge>
Nov 24 09:08:08 localhost scsi.agent[2935]: disk at /devices/pci0000:00/0000:00:1d.3/usb5/5-1/5-1:1.0/host2/target2:0:0/2:0:0:0
Nov 24 09:08:09 localhost fstab-sync[2955]: added mount point /media/usbdisk for /dev/sdb1
- messagebus restart Çϸé icon µéÀÌ ³ª¿È.
- messgaebus °¡ 󸮸¦ ¸ø ÇÏ´Â °ÍÀ¸·Î »ý°¢ÇØ¾ß ÇÔ.
- Áï dbus daemon ¿¡ ¹®Á¦°¡ ÀÖ´Â °ÍÀ¸·Î »ý°¢µÊ.
- dbus-monitor --system
signal sender=:1.1 -> dest=(null destination) interface=org.freedesktop.Hal.Manager; member=DeviceAdded
0 string "/org/freedesktop/Hal/devices/volume_label__0"
signal sender=:1.1 -> dest=(null destination) interface=org.freedesktop.Hal.Manager; member=DeviceRemoved
0 string "/org/freedesktop/Hal/devices/usb_device_1080_1_noserial_if0"
- /usr/share/hal/fdi/policy/10osvendor/10-storage-policy.fdi
<device>
<match key="storage.media_check_enabled" bool="true">
<append key="info.addons" type="strlist">hald-addon-storage</append>
</match>
</device>
- /usr/share/hal/fdi/policy/10osvendor/90-fstab-sync.fdi
<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
<device>
<match key="info.udi" string="/org/freedesktop/Hal/devices/computer">
<append key="info.callouts.add" type="strlist">fstab-sync --clean</append> </match>
<match key="volume.policy.should_mount" bool="true">
<match key="@block.storage_device:storage.policy.should_mount" bool="true">
<append key="info.callouts.add" type="strlist">fstab-sync</append>
<append key="info.callouts.remove" type="strlist">fstab-sync</append>
</match>
</match>
<match key="storage.policy.should_mount" bool="true">
<match key="storage.no_partitions_hint" bool="true">
<append key="info.callouts.add" type="strlist">fstab-sync</append>
<append key="info.callouts.remove" type="strlist">fstab-sync</append>
</match>
</match>
</device>
</deviceinfo>
udi = '/org/freedesktop/Hal/devices/storage_model_LG_CD_ROM_CRD_8521B'
info.callouts.remove = {'fstab-sync'} (string list)
info.callouts.add = {'hald-add-selinux-mount-option', 'fstab-sync'} (string list)
info.addons = {'hald-addon-storage'} (string list)
storage.policy.desired_mount_point = 'cdrom' (string)
storage.policy.mount_filesystem = 'auto' (string)
storage.policy.should_mount = true (bool)
block.storage_device = '/org/freedesktop/Hal/devices/storage_model_LG_CD_ROM_CRD_8521B' (string)
info.udi = '/org/freedesktop/Hal/devices/storage_model_LG_CD_ROM_CRD_8521B' (string)
storage.cdrom.write_speed = 0 (0x0) (int)
storage.cdrom.read_speed = 9152 (0x23c0) (int)
storage.cdrom.support_media_changed = true (bool)
storage.cdrom.dvdplusrw = false (bool)
storage.cdrom.dvdplusr = false (bool)
storage.cdrom.dvdram = false (bool)
storage.cdrom.dvdrw = false (bool)
storage.cdrom.dvdr = false (bool)
storage.cdrom.dvd = false (bool)
storage.cdrom.cdrw = false (bool)
storage.cdrom.cdr = false (bool)
storage.firmware_version = '1.02' (string)
storage.requires_eject = true (bool)
storage.hotpluggable = false (bool)
info.capabilities = {'storage', 'block', 'storage.cdrom'} (string list)
info.category = 'storage' (string)
info.product = 'LG CD-ROM CRD-8521B' (string)
storage.removable = true (bool)
storage.physical_device = '/org/freedesktop/Hal/devices/pci_8086_7111_ide_0_0' (string)
storage.drive_type = 'cdrom' (string)
storage.vendor = '' (string)
storage.model = 'LG CD-ROM CRD-8521B' (string)
storage.automount_enabled_hint = true (bool)
storage.media_check_enabled = true (bool)
storage.no_partitions_hint = true (bool)
storage.bus = 'ide' (string)
block.is_volume = false (bool)
block.minor = 0 (0x0) (int)
block.major = 3 (0x3) (int)
block.device = '/dev/hda' (string)
linux.hotplug_type = 3 (0x3) (int)
info.parent = '/org/freedesktop/Hal/devices/pci_8086_7111_ide_0_0' (string)
linux.sysfs_path_device = '/sys/block/hda' (string)
linux.sysfs_path = '/sys/block/hda' (string)
- /usr/libexec/hald-add-selinux-mount-option
- /usr/sbin/fstab-sync
- /usr/libexec
[root@localhost libexec]# ls hald*
hald-add-selinux-mount-option hald-addon-usb-csr hald-probe-smbios
hald-addon-acpi hald-probe-hiddev hald-probe-storage
hald-addon-hid-ups hald-probe-input hald-probe-volume
hald-addon-pmu hald-probe-pc-floppy
hald-addon-storage hald-probe-printer
- cat /etc/fstab
- dbus-monitor --system
- usb ²ÈÀ½
- dbus-monitor ¿¡ ³ª¿È.
signal sender=:1.1 -> dest=(null destination) interface=org.freedesktop.Hal.Manager; member=DeviceAdded
0 string "/org/freedesktop/Hal/devices/usb_device_1080_1_noserial"
signal sender=:1.1 -> dest=(null destination) interface=org.freedesktop.Hal.Manager; member=DeviceAdded
0 string "/org/freedesktop/Hal/devices/usb_device_1080_1_noserial_if0"
signal sender=:1.1 -> dest=(null destination) interface=org.freedesktop.Hal.Manager; member=DeviceAdded
0 string "/org/freedesktop/Hal/devices/usb_device_1080_1_noserial_if0_scsi_host"
signal sender=:1.1 -> dest=(null destination) interface=org.freedesktop.Hal.Manager; member=DeviceAdded
0 string "/org/freedesktop/Hal/devices/usb_device_1080_1_noserial_if0_scsi_host_scsi_device_lun0"
signal sender=:1.1 -> dest=(null destination) interface=org.freedesktop.Hal.Manager; member=DeviceAdded
0 string "/org/freedesktop/Hal/devices/storage_model__HDD_"
signal sender=:1.1 -> dest=(null destination) interface=org.freedesktop.Hal.Manager; member=DeviceAdded
0 string "/org/freedesktop/Hal/devices/volume_part1_size_128172032"
- /etc/fstab º¯°æµÊ. fstab-sync
- ȸ鿡´Â ³ª¿ÀÁö ¾ÊÀ½
- messagesbus restart ¸¦ Çϸé ȸ鿡 ³ª¿È.
signal sender=org.freedesktop.DBus -> dest=(null destination) interface=org.freedesktop.DBus; member=NameOwnerChanged
0 string "com.redhat.CupsDriverConfig"
1 string ":1.0"
2 string ""
signal sender=org.freedesktop.DBus -> dest=(null destination) interface=org.freedesktop.DBus; member=NameOwnerChanged
0 string ":1.0"
1 string ":1.0"
2 string ""
signal sender=org.freedesktop.DBus -> dest=(null destination) interface=org.freedesktop.DBus; member=NameOwnerChanged
0 string "org.freedesktop.Hal"
1 string ":1.1"
2 string ""
signal sender=org.freedesktop.DBus -> dest=(null destination) interface=org.freedesktop.DBus; member=NameOwnerChanged
0 string ":1.1"
1 string ":1.1"
2 string ""
signal sender=org.freedesktop.DBus -> dest=(null destination) interface=org.freedesktop.DBus; member=NameOwnerChanged
0 string ":1.2"
1 string ":1.2"
2 string ""
signal sender=org.freedesktop.DBus -> dest=(null destination) interface=org.freedesktop.DBus; member=NameOwnerChanged
0 string "com.redhat.PrintDriverSelection"
1 string ":1.3"
2 string ""
signal sender=org.freedesktop.DBus -> dest=(null destination) interface=org.freedesktop.DBus; member=NameOwnerChanged
0 string ":1.3"
1 string ":1.3"
2 string ""
signal sender=org.freedesktop.DBus -> dest=(null destination) interface=org.freedesktop.DBus; member=NameOwnerChanged
0 string ":1.4"
1 string ":1.4"
2 string ""
signal sender=(null sender) -> dest=(null destination) interface=org.freedesktop.DBus.Local; member=Disconnected
|
|