http://tag.csdn.net/tag/ramdisk.xml
這是一個(gè)此站點(diǎn)頻繁更新內(nèi)容的 收取點(diǎn)。
您可以訂閱到此收取點(diǎn),這樣當(dāng)此站點(diǎn)更新內(nèi)容的時(shí)候您可以同時(shí)收到更新。
處理收取點(diǎn)時(shí)出錯(cuò)
處理此收取點(diǎn)時(shí)出錯(cuò)。這是我們的錯(cuò)誤。如果您知道問題是什么,您仍然可以訂閱該收取點(diǎn)。為了給您提供參考,錯(cuò)誤信息為:
ramdisk - CSDN tag
ramdisk - CSDN tag
理解ramdisk
Ramfs顧名思義是內(nèi)存文件系統(tǒng),它處于虛擬文件系統(tǒng)(VFS)層,是利用VFS自身結(jié)構(gòu)而形成的內(nèi)存文件系統(tǒng),而不像ramdisk那樣基于虛擬在內(nèi)存中的其他文件系統(tǒng)(ex2fs)。Tmpfs是一個(gè)虛擬內(nèi)存文件系統(tǒng),它不同于傳統(tǒng)的用塊設(shè)備形式來實(shí)現(xiàn)的Ramdisk,也不同于針對物理內(nèi)存的Ramfs。然后就可以加載tmpfs文件系統(tǒng)了: # mkdir -p /mnt/tmpfs # mount tmpfs /mnt/tmpfs -t tmpfs 同樣可以在加載時(shí)指定tmpfs文件系統(tǒng)大小的最大限制: # mount tmpfs /mnt/tmpfs -t tmpfs -o size=32m.
busybox制作ramdisk全過程
3 使用busybox制作系統(tǒng)應(yīng)用程序3.1 下載busybox(http://www.busybox.net/)并解壓。3.2 進(jìn)入解壓后的目錄,配置Busybox $make menuconfig Busybox Settings > General Configuration > [*] Support for devfs Build Options > [*] Build BusyBox as a static binary (no shared libs) /* 將busybox編譯為靜態(tài)連接,少了啟動時(shí)找動態(tài)庫的麻煩 */ [*] Do you want to build BusyBox with a Cross Compiler? (/usr/local/arm/3.3.2/bin/armlinux) Cross Compiler prefix/* 指定交叉編譯工具路徑 */ Init Utilities >
Linux系統(tǒng)下Ramdisk的制作過程
7.卸載文件系統(tǒng),得到的/tmp/loop_tmp就是文件系統(tǒng)映象。在上述的自己建立文件系統(tǒng)中,第3條用 losetup命令把塊設(shè)備文件/dev/loop0與臨時(shí)文件/tmp/loop_tmp聯(lián)系 起來了, 我的理解是/tmp/loop_tmp必須是塊 設(shè)備文件,所以用/dev/loop0與之相關(guān)聯(lián), 然后對/dev/loop0的操作和對其虛擬盤的操作,就間接作用在文件系統(tǒng)映象 /tmp/loop_tmp上。否則mke2fs會抱怨/tmp/loop_tmp不是個(gè)塊設(shè)備(在上面說了, 我的理解是 /tmp/loop_tmp文件映象必須是塊設(shè)備文件,前面的做法是用塊設(shè)備文件/dev/loop0與之相關(guān) 聯(lián))。
【摘】ArmLinux BOOTLOADER全程詳解
ArmLinux BOOTLOADER全程詳解。RAMDISK 使用RAMDISK可以使ROOT FILE SYSTEM在沒有其他設(shè)備的情況下啟動.一般有兩種加載方式,我就介紹最常用的吧,把COMPRESSED RAMDISK IMAGE放到指定地址,然后由BOOTLOADER把這個(gè)地址通過啟動參數(shù)的方式ATAG_INITRD2傳遞給KERNEL.具體看代碼分析.數(shù)據(jù)結(jié)構(gòu) tag 和 tag_header 定義在 Linux 內(nèi)核源碼的include/asm/setup.h 頭文件中. 在嵌入式 Linux 系統(tǒng)中,通常需要由 BOOTLOADER 設(shè)置的常見啟動參數(shù)有:ATAG_CORE、ATAG_MEM、ATAG_CMDLINE、ATAG_RAMDISK、ATAG_INITRD等。
使用ELDK4.1構(gòu)建交叉編譯環(huán)境及AT91RM9200EK的引導(dǎo)攻略
前言 今年1月份到2月份在自己博客上發(fā)表了幾篇關(guān)于AT91RM9200引導(dǎo)程序的文章,分別是 建立交叉編譯工具鏈 TFTP和NFS服務(wù)的設(shè)置 U-Boot1.1.4在AT91RM9200上的移植時(shí)間過的很快,工作也很忙,一晃就過了半年多。再回頭看,已經(jīng)發(fā)現(xiàn)很多都落伍了。新版本出了一波又一波。linux已經(jīng)到了2.6.20。federo也已經(jīng)到了FC7。如果不對本人以前的文章更新的話,勢必會誤導(dǎo)初學(xué)者。所以針對目前比較新的環(huán)境,重新寫下整個(gè)過程。不過,由于實(shí)在挺忙的,所以比第一次寫的要簡潔許多,大家如果有不明白的地方,可以參考以前的文章。大多數(shù)內(nèi)容都大同小異,只不過一些細(xì)節(jié)需要注意。由于比較匆忙,沒有仔細(xì)核對。如果您在文中發(fā)現(xiàn)有不當(dāng)之處敬請批評指正。 這次使用的環(huán)境及軟件源碼版本如下: 軟件環(huán)境 宿主機(jī):FC6 ,虛擬機(jī)vmware 6.0 Linux-2.6.19.2 +at91patch U-Boot 1.2 , busybox1.2.2.1(或者busybox-1.6.1) 硬件環(huán)境 母板:AT91RM9200EK CPU:AT91RM9200 ,180MHz(200MIPS)
建立USB啟動盤
建立USB啟動盤。我們選擇的USB必須是支持開機(jī)的,大小目前只要能放下Kernel和Initrd文件就好了.如果希望USB啟動盤擁有更多的功能就最好越大越好了.cd /tmp/initrd/ find .| cpio -c -o >../initrd-XXX gzip ../initrd-XXX mv ../initrd-XXX.gz ../initrd-XXX.img.好多資料中都將用usb做啟動盤必須要有initrd,原因就是說什么usb設(shè)備初始化比較慢,沒有initrd, kernel完了進(jìn)入rootfs的時(shí)候,usb設(shè)備還沒有準(zhǔn)備好.所以我們在initrd的中加入等待時(shí)間,避免這種情況發(fā)生.(雖然筆者沒有加入等待也能正常啟動,可能是兩種initrd的不同吧...)
Linux中的Ramdisk與Initrd
Ramdisk簡介。redice # umount /mnt/rdredice # mkfs.minix /dev/ram02752 inodes8192 blocksFirstdatazone=90 (90)Zonesize=1024Maxsize=268966912redice # mount /dev/ram0 /mnt/rdredice # df -h /dev/ram0Filesystem 容量 已用 可用 已用% 掛載點(diǎn)/dev/ram0 8.0M 1.0K 8.0M 1% /mnt/rd 現(xiàn)在看出來了,的確是8M(這同時(shí)說明,EXT2文件系統(tǒng)本身要占用一定的存儲空間,相比之下minix文件系統(tǒng)要少些),這個(gè)空間是在編譯核心時(shí)就確定下來了,在配置Ramdisk時(shí),有一個(gè)叫 Default RAM disk size 的參數(shù)決定默認(rèn)情況下Ramdisk的大小。
Ramdisk使用
內(nèi) 存盤的特性是數(shù)據(jù)完全存儲在內(nèi)存中,所以一旦關(guān)閉計(jì)算機(jī),就會導(dǎo)致內(nèi)存盤中的數(shù)據(jù)完全丟失,這個(gè)特性使得內(nèi)存盤特別適合于存儲一些臨時(shí)文件,如IE的緩 存,Windows和應(yīng)用程序運(yùn)行時(shí)產(chǎn)生的臨時(shí)文件,這些文件都適合放到內(nèi)存盤上,從而減少硬盤上文件 碎片的生產(chǎn),并且不需要主動刪除這些臨時(shí)文件,一旦重新啟動,這些垃圾文件就自動消失了。內(nèi)存盤大小,單位是千字節(jié),這個(gè)數(shù)值完全取決于你的電腦的內(nèi)存多少,如果你的電腦只有256兆內(nèi)存,那么內(nèi)存盤的大小最好不要超過64兆,如果你有1G內(nèi)存以上,甚至可以把內(nèi)存盤的大小設(shè)置為784兆。
u-boot的修改
湯大蝦對u-boot的修改,用處是把flash上的ramdisk搬運(yùn)到ram中。因?yàn)閗ernel不能從flash上加載ramdisk形式的根文件系統(tǒng),所以必須在尋找根文件系統(tǒng)時(shí)先將ramdisk搬到ram。initrd_start = ntohl(hdr->ih_load+CONFIG_KERNEL_MAX_SIZE);initrd_end = initrd_start + len;
ArmLinux BOOTLOADER全程詳解
1.幾個(gè)重要的概念 COMPRESSED KERNEL and DECOMPRESSED KERNEL Jffs2 File System RAMDISK 啟動參數(shù)(摘自IBM developer) 2.開發(fā)環(huán)境和開發(fā)板配置: 3.啟動方式: 4.代碼分析 網(wǎng) 上關(guān)于Linux的BOOTLOADER文章不少了,但是大都是vivi,blob等比較龐大的程序,讀起來不太方便,編譯出的文件也比較大,而且更多的 是面向開發(fā)用的引導(dǎo)代碼,做成產(chǎn)品時(shí)還要裁減,這一定程度影響了開發(fā)速度,對初學(xué)者學(xué)習(xí)開銷也比較大,在此分析一種簡單的BOOTLOADER,是在三星 公司提供的2410 BOOTLOADER上稍微修改后的結(jié)果,編譯出來的文件大小不超過4k,希望對大家有所幫助.
ArmLinux BOOTLOADER全程詳解
使用RAMDISK可以使ROOT FILE SYSTEM在沒有其他設(shè)備的情況下啟動.一般有兩種加載方式,我就介紹最常用的吧,把COMPRESSED RAMDISK IMAGE放到指定地址,然后由BOOTLOADER把這個(gè)地址通過啟動參數(shù)的方式ATAG_INITRD2傳遞給KERNEL.具體看代碼分析.在嵌入式 Linux 系統(tǒng)中,通常需要由 BOOTLOADER 設(shè)置的常見啟動參數(shù)有:ATAG_CORE、ATAG_MEM、ATAG_CMDLINE、ATAG_RAMDISK、ATAG_INITRD等。//我用仿真器把KERNEL,RAMDISK直接放在SDRAM上,所以下面這段是不需要的,但是如果KERNEL,RAMDISK在FLASH里,那就需要.params->hdr.tag = ATAG_RAMDISK;
三年前的文章之:ArmLinux BOOTLOADER全程詳解
使用RAMDISK可以使ROOT FILE SYSTEM在沒有其他設(shè)備的情況下啟動.一般有兩種加載方式,我就介紹最常用的吧,把COMPRESSED RAMDISK IMAGE放到指定地址,然后由BOOTLOADER把這個(gè)地址通過啟動參數(shù)的方式ATAG_INITRD2傳遞給KERNEL.具體看代碼分析.啟動參數(shù)標(biāo)記列表以標(biāo)記 ATAG_CORE 開始,以標(biāo)記 ATAG_NONE 結(jié)束。在嵌入式 Linux 系統(tǒng)中,通常需要由 BOOTLOADER 設(shè)置的常見啟動參數(shù)有:ATAG_CORE、ATAG_MEM、ATAG_CMDLINE、ATAG_RAMDISK、ATAG_INITRD等。params->hdr.tag = ATAG_RAMDISK;params->hdr.size = tag_size(tag_ramdisk);
Arm Linux BOOTLOADER全程詳解
1.幾個(gè)重要的概念 COMPRESSED KERNEL and DECOMPRESSED KERNEL Jffs2 File System RAMDISK 啟動參數(shù)(摘自IBM developer) 2.開發(fā)環(huán)境和開發(fā)板配置: 3.啟動方式: 4.代碼分析 網(wǎng)上關(guān)于Linux的BOOTLOADER文章不少了,但是大都是vivi,blob等比較龐大的程序,讀起來不太方便,編譯出的文件也比較大,而且更多的是面向開發(fā)用的引導(dǎo)代碼,做成產(chǎn)品時(shí)還要裁減,這一定程度影響了開發(fā)速度,對初學(xué)者學(xué)習(xí)開銷也比較大,在此分析一種簡單的BOOTLOADER,是在三星公司提供的2410 BOOTLOADER上稍微修改后的結(jié)果,編譯出來的文件大小不超過4k,希望對大家有所幫助.
制作根文件系統(tǒng)和ramdisk映象文件
babylinux根文件系統(tǒng)所有東西都放在/babylinux/rootfs下,我們將利用ramdisk把這些內(nèi)容做成ramdisk映象文件并壓縮他.將ram1掛裝到文件系統(tǒng)中:先建立一個(gè)掛裝點(diǎn):#mkdir /mnt/ram掛上ram1:#mount /dev/ram1 /mnt/ram將先前做好的babylinux根文件系統(tǒng)拷貝到ram1上.#cp -R /babylinux/rootfs/* /mnt/ram.查看/mnt/ram下的內(nèi)容,他應(yīng)該和/babylinux/rootfs下的一模一樣,否則就是出錯(cuò)了:[root@gucuiwen babylinux]# ls /mnt/rambin dev etc home lost+found mnt proc root sbin tmp usr var.
ramdisk 制作
制作空的ramdisk:# dd if=/dev/zero of=ramdisk bs=1k count=8000 在本地目錄下出現(xiàn)一個(gè)rmdisk的塊文件# losetup /dev/loop2 ramdisk# mkfs.ext2 /dev/loop2掛載ramdisk至/mnt下# mount -t ext2 /dev/loop2 /mnt㈢.準(zhǔn)備lib庫文件# cd /mnt# mkdir lib# cd /usr/local/arm/3.4.1/arm-linux/lib# for file in libc libcrypt libdl libm libpthread libresolv libutil> do> cp $file-*.so /mnt/lib> cp -d $file.so.[*0-9] /mnt/lib> done# cp -d ld*.so* /mnt/lib.
移植2.6.15至HHARM2410-STUDY
一、ppcbootppcboot 就在華恒的默認(rèn)安裝環(huán)境里修改一下就可以了:# cd /HHARM2410-STUDY/ppcboot-2.0.0/lib_arm# vi armlinux.c修改console為ttySAC0# make clean# make 就在當(dāng)前的目錄下生成了ppcboot.bin# cp ppcboot.bin /tftpboot/
了解 linux內(nèi)核參數(shù)
linux內(nèi)核參數(shù)linux內(nèi)核在啟動的時(shí)候,能接收某些命令行選項(xiàng)或啟動時(shí)參數(shù)。當(dāng)內(nèi)核不能識別某些硬件進(jìn)而不能設(shè)置硬件參數(shù)或者為了避免內(nèi)核更改某些參數(shù)的值,可以通過這種方式手動將這些參數(shù)傳遞給內(nèi)核。4、ramdisk_start=N設(shè)置ramdisk的開始塊號為N,當(dāng)ramdisk有內(nèi)核的映象文件是需要這個(gè)參數(shù)。5、noinitrd(僅當(dāng)內(nèi)核配置了選項(xiàng) CONFIG_BLK_DEV_RAM和CONFIG_BLK_DEV_INITRD)現(xiàn)在的內(nèi)核都可以支持initrd了,引導(dǎo)進(jìn)程首先裝載內(nèi)核和一個(gè)初始化的ramdisk,然后內(nèi)核將initrd轉(zhuǎn)換成普通的ramdisk,也就是讀寫模式的根文件系統(tǒng)設(shè)備。
ramfs制作實(shí)錄
無奈之下我想起了babylinux的制作過程,里面就有用到ramfs,以下是參考其制作ramfs的制作過程:1、dd if=/dev/zero of=/dev/ram1 bs=1k count=80002、mkfs.ext2 -m0 /dev/ram13、mount /dev/ram1 /mnt/ramdisk/4、詳細(xì)的復(fù)制文件的過程我在這不再詳細(xì)說明,請參考以上兩個(gè)貼。此時(shí)你可以使用"mount -o loop ramdisk.img /mnt/ramdisk"命令把這個(gè)ramfs掛載在你pc的/mnt/ramdisk目錄,它對pc來說就等同于光盤iso鏡像文件7、gzip -v9 ramdisk.img.
Linux中的Ramdisk與Initrd
redice # mount /dev/ram0 /mnt/rdredice # ls /mnt/rdlost+foundredice # mount/dev/hda2 on / type ext3proc on /proc type proc (rw)/dev/ram0 on /tmp/xxx type ext2 (rw)這個(gè)參數(shù)是Ramdisk直接編譯到核心時(shí)才能使用的,如果Ramdisk編譯為模塊,則應(yīng)該使用模塊參數(shù)來設(shè)置Ramdisk的大小:rd_size - 同上面的ramdisk_size或ramdisk參數(shù);redice # mkfs.ext2 /dev/ram0redice # mount /dev/ram0 /mnt/rdredice # cp _what_you_like_ /mnt/rd # 把需要的文件復(fù)制過去redice # dd if=/dev/ram0 of=/tmp/initrdredice # gzip -9 /tmp/initrd.
zz通過RamDisk加速小型數(shù)據(jù)庫訪問速度
RamDisk簡介。# create a mount point: mkdir /tmp/RamDisk0 # create a filesystem: mke2fs /dev/ram0 # mount the RamDisk: mount /dev/ram0 /tmp/RamDisk0 這三個(gè)命令分別為RamDisk創(chuàng)建一個(gè)目錄,格式化它(創(chuàng)建文件系統(tǒng)),最后加載該文件系統(tǒng)到"/tmp/RamDisk0上。當(dāng)RamDisk被編譯進(jìn)入內(nèi)核,改變RamDisk的大小的方法為在lilo.conf中田加內(nèi)容: RamDisk_size=10000 (or RamDisk=10000 for old kernels),然后運(yùn)行l(wèi)ilo命令,重新啟動機(jī)器,這樣下次加載RamDisk以后,大小就變?yōu)?0M:
ATMEL公司的AT91RM9200調(diào)試手冊
備注:支持(-R或-r)對目錄的操作查找、定位部分1. 利用文件名進(jìn)行查找)find -name filename.C (2. 在當(dāng)前目錄和所有子目錄下遞歸查找文件名中有filename的文件)locate filename.C (3. 在當(dāng)前目錄和所有子目錄下遞歸查找文件中含有相應(yīng)字符串的文件)grep ‘search word‘* -r (網(wǎng)絡(luò)設(shè)置。利用新的busybox替換bin/busybox即可運(yùn)行最新版本的busybox. 交叉編譯環(huán)境1、 mkdir /usr/local/arm2、 cd /usr/local/arm3、 tar -jxvf cross-2.95.3.tar.bz2.0x107E0000(第63扇區(qū)) u-boot環(huán)境變量 FLASH.
Linux的內(nèi)核啟動參數(shù)
linux內(nèi)核在啟動的時(shí)候,能接收某些命令行選項(xiàng)或啟動時(shí)參數(shù)。當(dāng)內(nèi)核不能識別某些硬件進(jìn)而不能設(shè)置硬件參數(shù)或者為了避免內(nèi)核更改某些參數(shù)的值,可以通過這種方式手動將這些參數(shù)傳遞給內(nèi)核。4、ramdisk_start=N 設(shè)置ramdisk的開始塊號為N,當(dāng)ramdisk有內(nèi)核的映象文件是需要這個(gè)參數(shù)。5、noinitrd (僅當(dāng)內(nèi)核配置了選項(xiàng) CONFIG_BLK_DEV_RAM和CONFIG_BLK_DEV_INITRD)現(xiàn)在的內(nèi)核都可以支持initrd了,引導(dǎo)進(jìn)程首先裝載內(nèi)核和一個(gè)初始化的ramdisk,然后內(nèi)核將initrd轉(zhuǎn)換成普通的ramdisk,也就是讀寫模式的根文件系統(tǒng)設(shè)備。
ArmLinux BOOTLOADER全程詳解
RAMDISK 使用RAMDISK可以使ROOT FILE SYSTEM在沒有其他設(shè)備的情況下啟動.一般有兩種加載方式,我就介紹最常用的吧,把COMPRESSED RAMDISK IMAGE放到指定地址,然后由BOOTLOADER把這個(gè)地址通過啟動參數(shù)的方式ATAG_INITRD2傳遞給KERNEL.具體看代碼分析.數(shù)據(jù)結(jié)構(gòu) tag 和 tag_header 定義在 Linux 內(nèi)核源碼的include/asm/setup.h 頭文件中. 在嵌入式 Linux 系統(tǒng)中,通常需要由 BOOTLOADER 設(shè)置的常見啟動參數(shù)有:ATAG_CORE、ATAG_MEM、ATAG_CMDLINE、ATAG_RAMDISK、ATAG_INITRD等。params->hdr.tag = ATAG_RAMDISK;
RAMDISK 虛擬內(nèi)存硬盤設(shè)置
RAMDISK是一個(gè)設(shè)置內(nèi)存硬盤的免費(fèi)軟件,用來提高緩存和臨時(shí)文件的讀寫的速度。RamDisk 上一般放的都是臨時(shí)性質(zhì)的文件,比如 IE 的緩存、IIS 的壓縮頁面緩存、臨時(shí)文件夾、PHP 的 Sessions 文件等。注意,這里也不要給 IE 建立緩存目錄,即使你想讓 IE 緩存也使用 RamDisk,因?yàn)楫?dāng)你設(shè)置 IE 的緩存到 RamDisk 的時(shí)候,IE 會自動建立這個(gè)目錄的?,F(xiàn)在你就可以把系統(tǒng)的 Temp 目錄、IIS 的壓縮文件緩存、IE 緩存、PHP Session 文件目錄、PHP 臨時(shí)上傳目錄統(tǒng)統(tǒng)設(shè)置到 RamDisk 上了。
制作ramdisk的全過程
2 準(zhǔn)備鏈接庫 #cd ${OBJ_LIB}/lib (${OBJ_LIB}是交叉編譯環(huán)境的目錄) #for file in libc libcrypt libdl libm \ >libpthread libresolv libutil >do >cp $file-*.so /home/fortis/rootfs/lib >cp -d $file.so.[*0-9] /home/fortis/rootfs/lib >done #cp -d ld*.so* /home/fortis/rootfs/lib.5 制作initrd映象文件 #mkdir initrd #dd if=/dev/zero of=initrd.img bs=1k count=8192 #/sbin/mke2fs -F -v -m0 initrd.img #mount -o loop initrd.img initrd #cp -av /home/fortis/rootfs/* initrd #umount #gzip -9<initrd.img>initrd.bin.
教你一種實(shí)現(xiàn)嵌入式Linux系統(tǒng)新方法
它不會由于非法關(guān)機(jī)而破壞文件系統(tǒng),因?yàn)槲覀兠恳淮?啟動是把壓縮的文件系統(tǒng)解壓至內(nèi)存盤中作為根文件系統(tǒng)掛載。有一個(gè)特殊的目錄proc應(yīng)該設(shè)置,在內(nèi)核編譯選項(xiàng)文件系統(tǒng)選擇中,我們選擇對文件系統(tǒng)proc的支持,那么在系統(tǒng)運(yùn)行之 后它下面有許多內(nèi)容,這些內(nèi)容是實(shí)時(shí)、不斷跟蹤系統(tǒng)內(nèi)核和正在運(yùn)行的進(jìn)程的狀態(tài)而產(chǎn)生的,但不占用任何磁盤空間,而是駐留在內(nèi)存中。主要的文件是fstab,它負(fù)責(zé)在系統(tǒng)啟動時(shí)把系統(tǒng)要掛載的文件系統(tǒng)信息傳遞給啟動進(jìn)程,我們使用ramdisk作為根文件系統(tǒng),且不需要交換分區(qū),所以此文件配置為:
基于龍芯CPU上的RamDisk實(shí)現(xiàn)
也就是可以通過修改/etc/conf.modules 的選項(xiàng)設(shè)置來做到,加入:options rd rd_size=10000 當(dāng)然也可以在命令行中指定參數(shù)給ismod來實(shí)現(xiàn):insmod rd rd_size=10000 當(dāng)使用以上兩種方法創(chuàng)建了合適大小的ramdisk時(shí),我們還需要執(zhí)行以下命令來使用它:mke2fs /dev/ram0mkdir /tmp/ramdisk0mount /dev/ram0 /tmp/ramdisk0 而當(dāng)不使用時(shí),應(yīng)執(zhí)行:umount /tmp/ramdisk0 若是使用insmod來加載模塊的,應(yīng)該再執(zhí)行:rmmod rd4.使用RamDisk的一個(gè)實(shí)例 下面,我們通過一個(gè)使用Ramdisk做WEB服務(wù)器的實(shí)例來說明其應(yīng)用。
AT91RM9200引導(dǎo)程序的建立(一)--------建立交叉編譯工具鏈
[zzl@localhost]sudo chown zzl /opt/crosstool.-rwxr-xr-x 1 zzl zzl 1761855 12月 29 09:02 arm-softfloat-linux-gnu-c++filt.-rwxr-xr-x 1 zzl zzl 287111 12月 29 09:43 arm-softfloat-linux-gnu-cpp.-rwxr-xr-x 2 zzl zzl 287996 12月 29 09:43 arm-softfloat-linux-gnu-g++.-rwxr-xr-x 2 zzl zzl 285852 12月 29 09:43 arm-softfloat-linux-gnu-gcc.-rwxr-xr-x 2 zzl zzl 285852 12月 29 09:43 arm-softfloat-linux-gnu-gcc-3.4.1.
在linux中使用ramdisk文件系統(tǒng)
這是摘自《Unix&Linux網(wǎng)管通鑒》中題為:Ramdisk:在linux下如何使用RAM作為虛擬硬盤?的文章,標(biāo)注為:http://www.linuxfocus.org by Mark Nielsen (2001-05-01 14:23:30)。我只是把常見的用法整理于此,希望對大家有用。
什么是RamDisk? 一個(gè)RamDisk 是你用作一個(gè)硬盤分區(qū)的一部分內(nèi)存空間?;蛘邠Q句話說,你是把內(nèi)存假設(shè)為一個(gè)硬盤驅(qū)動器,并且你在它的上面存儲文件。是為了提高讀寫速度,因?yàn)槟阒溃瑑?nèi)存的I/O速度是硬盤的N倍(500萬?。。?。
示例代碼:建立一個(gè)ramdisk并掛載
# create a mount point:
mkdir /tmp/ramdisk0
# create a filesystem:
m
.net類庫雖然強(qiáng)大,據(jù)本人查找,好像還不能實(shí)現(xiàn)查看磁盤信息的功能!以下是借助API包裝的磁盤類
#region disk propertys public DiskType DiskType { get{return _diskType;switch(dType) { case DRIVE_UNKNOWN: _diskType=DiskType.case DRIVE_NO_ROOT_DIR: _diskType=DiskType.case DRIVE_REMOVABLE: _diskType=DiskType.case DRIVE_FIXED: _diskType=DiskType.case DRIVE_REMOTE: _diskType=DiskType.case DRIVE_CDROM: _diskType=DiskType.case DRIVE_RAMDISK: _diskType=DiskType.
教你一種實(shí)現(xiàn)嵌入式Linux系統(tǒng)新方法
有一個(gè)特殊的目錄proc應(yīng)該設(shè)置,在內(nèi)核編譯選項(xiàng)文件系統(tǒng)選擇中,我們選擇對文件系統(tǒng)proc的支持,那么在系統(tǒng)運(yùn)行之后它下面有許多內(nèi)容,這些內(nèi)容是實(shí)時(shí)、不斷跟蹤系統(tǒng)內(nèi)核和正在運(yùn)行的進(jìn)程的狀態(tài)而產(chǎn)生的,但不占用任何磁盤空間,而是駐留在內(nèi)存中。接下來把文件系統(tǒng)拷貝至ramdisk為生成ramdisk映像文件做準(zhǔn)備。主要的文件是fstab,它負(fù)責(zé)在系統(tǒng)啟動時(shí)把系統(tǒng)要掛載的文件系統(tǒng)信息傳遞給啟動進(jìn)程,我們使用ramdisk作為根文件系統(tǒng),且不需要交換分區(qū),所以此文件配置為: /dev/ram / ext2 defaults 1 1none /proc proc defaults 0 0 即可。
linux RamDisk 使用簡介
linux RamDisk 使用簡介 1、介紹:??? Ram Disk 就是將內(nèi)存中的一塊區(qū)域作為系統(tǒng)磁盤來使用的一種技術(shù)。運(yùn)行 #dmesg | grep RAMDISK 可以看到下面的字樣:??? RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize??? 也就是說,默認(rèn)的 RamDisk 是16MB的。RamDisk是臨時(shí)性的,所以沒有做帶日志的文件系統(tǒng)的必要,所以我們一般做 ext2 就可以了:??? #mke2fs /dev/ram0??? 這樣,我們的 RamDisk 就可以用了。只需要再將它掛接到一個(gè)可訪問的目錄點(diǎn):??? #mount /dev/ram0 /mnt/ramdisk??? 好了。
什么是RamDisk?加速小型數(shù)據(jù)庫訪問速度
下面是一個(gè)非常簡單的使用RamDisk的例子: # create a mount point: mkdir /tmp/RamDisk0 # create a filesystem: mke2fs /dev/ram0 # mount the RamDisk: mount /dev/ram0 /tmp/RamDisk0 這三個(gè)命令分別為RamDisk創(chuàng)建一個(gè)目錄,格式化它(創(chuàng)建文件系統(tǒng)),最后加載該文件系統(tǒng)到"/tmp/RamDisk0上。改變RamDisk的大小 為了使用RamDisk,可以通過將對RamDisk的支持編譯進(jìn)入內(nèi)核中或者編譯為模塊的方式,在需要時(shí)將其加載。
高性能LINUX雙效防火墻HOWTO
由于ramdisk在每次重啟后會消失,因此,為了讓系統(tǒng)啟動時(shí)自動建立好,我們可以建立一個(gè)自動裝載ramdisk的批命令:mkfs /dev/ramdiskmount /dev/ramdisk /squid將這兩條命令寫到一個(gè)文件中,我們暫且用myautoexec.bat作為文件名,為了方便起見,我們建立/admin目錄,然后將myautoexec.bat文件保存在/admin下,并加給可執(zhí)行的權(quán)限:chmod +x myautoexec.bat但這樣系統(tǒng)啟動時(shí)并不會被調(diào)用,所以我們還要做一件事:編輯/etc/rc.local 文件,在文件末尾插入一行:/admin/myautoexec.bat,這樣,系統(tǒng)就會自動調(diào)用myautoexec.bat了。
巧用RamDisk為Resharp提速
轉(zhuǎn)載自:http://www.cnblogs.com/aspsir/archive/2006/07/06/443932.html巧用RamDisk為Resharp提速 我一直使用并推薦我們團(tuán)隊(duì)成員使用Virtual Studio 的優(yōu)秀插件Resharp,基本上他們一旦用上就舍不得她了,F(xiàn)ind Usages、Refactor、Reformat Code、Surround With等都極大地提高了開發(fā)效率,把我們從許多單調(diào)而枯燥的Coding中解放出來。
巧用RamDisk為Resharp提速
沒配上G級的朋友也不要給我扔雞蛋,趕快拿雞蛋去換內(nèi)存吧),有了這些物理?xiàng)l件,這下就得請RamDisk出面了,RamDisk是微軟發(fā)布的一個(gè)將物理內(nèi)存作為緩沖(即劃一部分物理內(nèi)存虛擬成硬盤、移動盤或軟盤)的工具,不過有64M的限制,后來經(jīng)過網(wǎng)友gavotte的修改突破了這個(gè)限制。
696在wm5下的一些注意事項(xiàng)及如何將wm5降為2003se
9、關(guān)于Ramdisk的定制: ROM的修改: (1) xda2nbftool -x NK.nbf NK.nba 0x20040304 (2 ) 用 hex 編輯器( hexedit 或 UltraEdit )編輯 NK.nba 查找 FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 08 紅色部分是 ram 值 高位在后。
ramdisk+busybox howto
1: 創(chuàng)建文件系統(tǒng)映象, mount到建立的臨時(shí)目錄
#mkdir /root/temp
#dd if=/dev/zero of=ramdisk bs=1024 count=1024
#mkfs.ext2 -F ramdisk
#mount -o loop ramdisk /root/temp
2: 創(chuàng)建文件系統(tǒng)的各個(gè)目錄, 并加入相關(guān)文件和目錄
#cd /root/temp
#mkdir dev proc etc mnt usr bin sbin
注意: usr,bin,sbin,etc目錄可以直接去busybox下copy
3: 用busybox編譯生成所需文件
#cd busybox
#make distclean
#make menuconfig
#make dep
#make
#make install
4: copy busybox下_install和examples/bootfloppy/etc目錄中的所有文件到temp中
#cp -rf _install/* /root/temp
#cp -rf examples/bootfloppy/etc /root/temp
ramdisk+busybox howto
1: 創(chuàng)建文件系統(tǒng)映象, mount到建立的臨時(shí)目錄
#mkdir /root/temp
#dd if=/dev/zero of=ramdisk bs=1024 count=1024
#mkfs.ext2 -F ramdisk
#mount -o loop ramdisk /root/temp
2: 創(chuàng)建文件系統(tǒng)的各個(gè)目錄, 并加入相關(guān)文件和目錄
#cd /root/temp
#mkdir dev proc etc mnt usr bin sbin
注意: usr,bin,sbin,etc目錄可以直接去busybox下copy
3: 用busybox編譯生成所需文件
#cd busybox
#make distclean
#make menuconfig
#make dep
#make
#make install
4: copy busybox下_install和examples/bootfloppy/etc目錄中的所有文件到temp中
#cp -rf _install/* /root/temp
#cp -rf examples/bootfloppy/etc /root/temp
制作RAMDISK in KERNEL的OpenBSD微系統(tǒng)
制作RAMDISK in KERNEL的OpenBSD微系統(tǒng)創(chuàng)建時(shí)間:2004-05-12文章屬性:原創(chuàng)文章提交:matthew (matthew_at_cnfug.org)制作RAMDISK in KERNEL的OpenBSD微系統(tǒng)Matthew(黑夜編碼人) <matthew@cnfug.org>前言在以前我們已經(jīng)講過如何制作軟盤上運(yùn)行的FreeBSD系統(tǒng)(http://www.cnfug.org/journal/archives/000010.html),現(xiàn)在我們來看看如何制作一個(gè)運(yùn)行在軟盤上的OpenBSD系統(tǒng)。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點(diǎn)擊舉報(bào)。