Дистрибутив, который я могу загрузить в ОЗУ? [дубликат]

Есть ли модифицированная версия Ubuntu, которая Я могу выбрать загрузку в ОЗУ при запуске? Похоже на LiveCD, но его можно легко изменить (например, я могу установить что-то), когда я выберу загрузку с диска.

Идея состоит в том, чтобы установить его на USB-накопитель. Я знаю, что есть нечто подобное , но во многих отделах отсутствует slax. «Полная» версия Ubuntu была бы лучше.

Установка LiveUSB кажется довольно близкой к тому, что я хочу, но, видимо, мне нужно выбрать, будет ли она постоянной к моменту установки. Я хочу иметь возможность выбирать это при каждой загрузке.

14
задан 5 July 2014 в 00:56

4 ответа

Я думаю, что puppy linux теперь основан на Ubuntu, очень маленький и легко загружается в оперативную память.

0
ответ дан 5 July 2014 в 00:56

Существует параметр toram, который вы можете дать последним livecd Ubuntu во время загрузки, недавнее значение 10.04 или новее. Это загрузит все в ОЗУ (при условии, что у вас достаточно ОЗУ для его хранения), и после этого вы сможете извлечь CD (или флешку) и продолжить обычное использование Ubuntu.

0
ответ дан 5 July 2014 в 00:56

Этот ответ включает текст, который я раньше отвечал на другой вопрос, но он помещается сюда, чтобы проиллюстрировать и дать визуальному руководству, которое Вы, вероятно, уже имеете.

В большинстве случаев Ubuntu (почти любая версия) будет работать отлично на живой сессии, и помещенный в USB с "Персистентными" опциями данных, Вы будете иметь то, чего Вы желаете.

Проблема будет состоять в том, что при отключении памяти/HDD USB диск будет размонтирован, и что путь - даже когда Вы повторно включаетесь, USB, будет недостижим, если Вы не сделаете что-то для восстановления точки монтирования к USB.

Тем не менее, все запущенные приложения продолжат работать, даже если Вы отключите или размонтируете USB.

Хорошая идея попробовать состоит в том, чтобы удостовериться, что все процессы, в которых Вы нуждаетесь, загружаются при запуске, который гарантирует, что процессы будут работать в то время, когда Вы отключаете USB.

Меня самого сделали это со всего несколькими приложениями. Я использую дистрибутив Команды Ремикса Израиля, который уже предварительно загружен с большим количеством приложений заранее и этим путем, когда приложение загружается, я могу отключить память USB, и программа продолжает выполнение.

Я не очень старался ресурсы требовательные программы, но в моем случае:

  1. Совместный доступ к файлам продолжает работать и совместно использовать файлы, даже когда те файлы находятся в фиксированном жестком диске кроме файловой системы USB.
  2. VLC продолжает играть широковещательную передачу радиостанции без проблем,
  3. Yakuake продолжает работу и делает то, что я запрашиваю, если я не желаю чего-то вроде отключенного USB
  4. Google Chrome продолжает бродить по сети, и позвольте мне делать несколько вещей как контролирующие IP камеры.

Единственная проблема состоит в том, когда я пытаюсь включить USB для запуска нового приложения, которое не будет достигнуто в настоящее время рабочим экземпляром ОС, таким образом, я должен буду перезагрузить для запущения нового приложения около тех, которые загружаются при запуске.

Другая хорошая Идея состояла бы в том, чтобы использовать функцию для "Запоминания В настоящее время Запущенных приложений" в "Системном/Предпочтении/Запуске предпочтительном окне" Приложений. Который (при включении) будет "помнить" все программы, которые Вы используете и вновь откроете их после перезагрузки или при запуске системы впервые за день.

Если Вы хотите удалить приложение из этой функции, просто закрывают его и переходят к этой функции и нажимают "Remember Currently Running Application" для обновления списка программ, которые будут открыты в следующий раз.

Снимок экрана помещается сюда для иллюстрирования.

enter image description here

Затем взятие в соображении, что я говорю выше, стоит для выполнения следующего эксперимента:

Руководство Загрузочного диска USB:

В первую очередь, можно сделать Загрузочный диск USB с помощью GUI, который упростит задачу. К сожалению, это может только быть сделано, когда в системе человечности, обе Живых сессии или Установленная система могут добиться цели.

Я знаю, что люди могут предложить, чтобы Вы выполнили несколько других успешных процедур, но в моем случае я буду говорить о "Создателе Загрузочного диска".

В нескольких дистрибутивах Linux можно найти этот инструмент в "Системной/Администрации/Загрузочном диске Создателе". Я настоятельно рекомендую, чтобы Вы попробовали Команду Ремикса Израиля, та, которую я использую, но почти любое распределение должно показать этот инструмент.

Снимок экрана помещается сюда, чтобы Вы видели инструмент, когда недавно открыто:

enter image description here

Удостоверьтесь, что Вы загрузили свое предпочтенное распределение Ubuntu до попытки это на живой сессии.

В окне "Make Startup Disk" нажмите в кнопке "Other" в верхней правой стороне для выбора ISO дистрибутива Linux, что Вы ранее загрузили и уже вставили USB, который Вы собираетесь использовать для процесса. И ".iso" и USB должны появиться в их соответствующих областях.

enter image description here

Примечание: Если Вы собираетесь использовать предварительно записанный DVD для процесса, просто вставить DVD в лоток, и он будет перечислен в исходный список как показано в следующем изображении:

enter image description here

В моем случае мои 4 ГБ памяти USB имеют живую сессию, уже установленную, что я собираюсь сделать, сначала к clic в "Диске Стирания" для сбора достаточного количества пространства для системы, после которой я получу опции для обработки данных, на которой я собираюсь выбрать количество размера диска, который я хочу использовать для того, чтобы сохранить данные и конфигурации (как установка программ, и т.д.) Я собираюсь использовать 1,4 ГБ с этой целью.

enter image description here

Теперь я нажимаю "Make Startup Disk", и процесс копии собирается произойти.

enter image description here

После которого должен также быть установлен GRUB. К сожалению, процесс установки GRUB был слишком быстр, таким образом, я не мог сделать снимок.

Файл персистентности будет создан.

enter image description here enter image description here

Затем Вы сможете начать с того USB. Обратите внимание, что можно использовать обе памяти USB или жесткие диски USB, даже когда используемый с адаптером, IDE к USB или SATA к USB.

enter image description here

Это должно работать, как Вы желаете, по крайней мере, это заставляет меня чувствовать себя довольным результатами.

Удачи!

7
ответ дан 5 July 2014 в 00:56

Я продолжал работать ПРОСТО это. Установка livecd к usb не работала очень хорошо на меня. Я создал измененную версию "локального" сценария для сервера человечности 11.04. После применения патча (или рука, редактирующая локальный со сменами курса), Вы только должны обновить-iniramfs-u и загрузить Linux с "ramboot" аргументом ядра, и Ваша система загрузит нормальную систему Linux полностью в поршень. Внесение персистентных изменений так же легко как rsync'ing файловая система электронного диска на устройство загрузки. В моем случае, пере usb, но это могло легко быть любое подходящее загрузочное блочное устройство. Можно, конечно, просто перезагрузить без "ramboot" аргумента и внести изменения, поскольку Вы вернетесь на блочном устройстве, затем перезагрузка в ramboot снова, но нет никакой потребности, кроме него делает его очень ясным, когда Вы находитесь в который состояние.

0) "sudo su"

(Вы не должны делать этого шага, но затем необходимо будет удостовериться Вы sudo все, что могло бы потребовать его), я склоняюсь только к "sudo su", когда я делаю этот тип системных модификаций.

1) загрузите или скопировать/вставить содержание этого патча к файлу:

"/usr/share/initramfs-tools/scripts/ramboot.patch" - не мог включать pastebin, новичка. включенный в конец

2) CD/usr/share/initramfs-tools/scripts; CP локальный local.bak #just в случае, если

3) исправьте локальный ramboot.patch

Это применяет изменения, определенные в ramboot.patch к Вашему локальному сценарию./usr/share/initramfs-tools/scripts/local нормальный конфигуратор сценария начальной загрузки, который настраивает функцию rootmount для init. Патч был создан "различным локальным local.modified> ramboot.patch"

4) CP/bin/busybox/usr/lib/initramfs-tools/bin/busybox

Это делает Ваш initramfs.img файл немного больше затем, это обычно было бы, но различие составляет приблизительно 1,5 мегабайта, не главные. Я хотел человекочитаемый вывод от df-h, который разделенный вниз не поддерживает df busybox. Если Вы заботитесь об имении в наличии 300k версии busybox, удостоверьтесь к CP/usr/lib/initramfs-tools/bin/busybox/small_busybox, то возвратите его, он - прежнее имя/местоположение после шага 5.

5) обновление-initramfs-u

6) дополнительный Вы, скорее всего, захотите создать/etc/grub.d/06_custom с аргументом ядра "ramboot" включенный, и заголовок, который подразумевает это.

(или 40_custom, если Вы хотите, чтобы ramboot запись меню была в конце списка, вместо наверху), например, 06_custom - не мог включать ссылку pastebin, новичок здесь.

необходимо будет заполнить корректную версию ядра и initrd.img-verion и также файловую систему uuid корневого устройства в этот 06_custom файл, или иначе это не будет работать.

можно найти kernel/initrd.img информацию, просто смотря в/boot/с "ls / начальная загрузка", и следующая команда должна произвести корневую файловую систему uuid:

blkid|grep 'df / |grep dev|cut-d ''-f1' |cut-d '"'-f2

После того как Ваш 06_custom имеет корректный uuid, ядро и пути initrm.img и имена файлов, Вы можете личинка обновления, и испытывать его!

7) личинка обновления для добавления пользовательских записей в/boot/grub/grub.cfg файл.

Примечание: У меня есть маленькая система с корневым разделом только включая приблизительно 1.2 г данных для копирования в поршень. Если Ваша система не будет иметь достаточной запасной памяти, то этот сценарий будет безопасно обычно загружаться (или по крайней мере пробовать!) Я нашел remastersys и персистентные установки usb-casper на не точно подойти для моих потребностей.

Это в настоящее время используется на сервере scst-iscsi, и это - только реальная слабость, то, что, если Вы не сохраняете изменения в системе, и теряют питание или некоторую другую ошибку (init 0, о нет, я забыл регистрироваться в своей работе назад к подверсии! авария!) затем система электронного диска ничего не делает персистентным. У меня еще нет тонны эфирного времени на этой конфигурации, но так как я навел справки об этом типе информации, нашел много путей, которые точно не подходили, или просто путающий мне, я думал, что поместил это там. возможно, это сохранит кого-то небольшие зубы, вытягивающие *8^),

remastersys и корневые-ro сценарии помогли мне к этой точке. они - оба полезные но различные проекты. remastersys упаковывает Вашу рабочую систему, обоим развертывают/клонируют или просто работают как live.iso версия системы или резервное копирование, которое я предполагаю. корень-ro является смонтированным стилем объединения blockdevice-файловой-системы двойного электронного диска с записываемым электронным диском, и blockdev только для чтения. затем для синхронизации Вас может просто повторно смонтировать blockdev rw, rsync однажды ответвление к другому, и повторно смонтировать его ro. Это было почти прекрасно, но я хотел, чтобы перо usb размонтировалось/было в состоянии, чтобы быть удаленным, и система поддержит, это - состояние, которое делает это решение.

корневой-ro конец страницы - https://help.ubuntu.com/community/aufsRootFileSystemOnUsbFlash

remastersys - http://www.geekconnection.org/remastersys/ubuntu.html

Вы можете легко rsync или копировать-r с ramboot (смонтированный на/) и диск/устройство, из которого он прибыл первоначально при выполнении в поршне, для внесения того изменения "персистентным". Я сохраняю uuid устройства, от которого загрузился ramboot, таким образом, можно всегда находить его впоследствии. Это находится в/.bootdisk_byuuid на электронном диске, и Вы могли легко установить сценарий, чтобы смонтировать это устройство где-нибудь, сделать rsync, и umount это снова и вызов тот сценарий "ramtodisk" или что бы то ни было.

NB! можно хотеть создать резервную копию/boot/initrd.img файла поэтому в случае, если что-то идет не так, как надо, система является все еще загрузочной. Я сохранил мой к/boot/initrd при выполнении работы над этим. когда у меня были незначительные сбои с grub/init, я просто отредактировал свой initrd для указания на резервное копирование/boot/initrd на файл и возвратился к отладке. так или иначе я предполагаю, что это - больше инструкций не поваренная книга.развлекайтесь! это берет мою систему на 1.2 ГБ 9:30ish для начальной загрузки на usb 1.1, 1:30-45 на usb 2.0 и ~ =35 секунд на usb 3.0 для загрузки в поршень. все более сочный каждый год! *8^)

вот ramboot.patch

2a3,13
> parse_cmdline() {
>     RAM=""
>     for x in $(cat /proc/cmdline); do
>         case $x in
>           ramboot)
>               RAM="Yes" ;;
>             quiet)
>                 quiet=y ;;
>         esac
>     done
> }
66c77
<
---
>       parse_cmdline
90,91c101,164
<       # Mount root
<       mount ${roflag} ${FSTYPE:+-t ${FSTYPE} }${ROOTFLAGS} ${ROOT} ${rootmnt}
---
>       # Mount root - custom ramboot.patch
>       # By: Justin Perkins -- 4/25/12 Email: justin.perkins@vm-labs.com
>       if [ -z "${RAM}" ]; then
>               mount ${roflag} ${FSTYPE:+-t ${FSTYPE} }${ROOTFLAGS} ${ROOT} ${rootmnt}
>       else
>               mkdir /ramboot
>               mount ${roflag} -t ${FSTYPE} ${ROOTFLAGS} ${ROOT} /ramboot
>               log_begin_msg "Detecting system resources"
>               size=$(df|grep ramboot|tr -s ' '|cut -d ' ' -f3)
>               datasize=${size}
>               size=$(expr ${size} + ${size} / 20 )    #5% more to be sure
>               freespace=$(awk '/^MemFree:/{f=$2} /^Cached:/{c=$2} END{print f+c}' /proc/meminfo)
>               log_end_msg
>               if [ "${freespace}" -lt "${size}" ] ; then
>                       echo "Not enough system RAM, ${freespace}k > ${size}k."
>                       echo "Attempting normal rootmount."
>                       mount ${roflag} ${FSTYPE:+-t ${FSTYPE} }${ROOTFLAGS} ${ROOT} ${rootmnt}
>               else
>                       if [ "$quiet" != "y" ] ; then
>                               tstart_min=$(date|cut -d ' ' -f4|cut -d : -f2)
>                               tstart_sec=$(date|cut -d ' ' -f4|cut -d : -f3)
>                               mount -t tmpfs -o size=100% none ${rootmnt}
>                               cd ${rootmnt}
>                               size=$(df -h|grep ramboot|tr -s ' '|cut -d ' ' -f3)     #reuse size
>                               echo "System size: ${size} (${datasize}k) this may take a couple of minutes."
>                               log_begin_msg "Copying system files into RAM"
>                               echo -e -n "\b"
>                               cp -rfa /ramboot/* ${rootmnt} &
>                               pid=$!
>                               while [ ! ${pid} == "done" ] ; do
>                                       alive=$(ps -o pid,args|grep -E ${pid}|grep -v grep)
>                                       alive=$(echo ${alive}|cut -d ' ' -f1)
>                                       if [ -z ${alive} ] ; then pid="done" ; fi
>                                       printf "."
>                                       sleep 1
>                               done
>                               log_end_msg
>                               echo ${ROOT} > ${rootmnt}/.bootdisk_byuuid
>                               tend_min=$(date|cut -d ' ' -f4|cut -d : -f2)
>                               tend_sec=$(date|cut -d ' ' -f4|cut -d : -f3)
>                               if [ ${tend_sec} -lt ${tstart_sec} ] ; then
>                                       tend_sec=$(expr ${tend_sec} + 60)
>                                       tend_min=$(expr ${tend_min} - 1)
>                               fi
>                               if [ ${tend_min} -lt ${tstart_min} ] ; then
>                                       tend_min=$(expr ${tend_min} + 60)
>                           fi
>                           tduration_min=$(expr ${tend_min} - ${tstart_min})
>                           tduration_sec=$(expr ${tend_sec} - ${tstart_sec})
>                           echo "Copy complete, duration: $tduration_min minutes $tduration_sec seconds."
>                           freespace=$(awk '/^MemFree:/{f=$2} END{print f}' /proc/meminfo)
>                           freespace=$(expr ${freespace} + 425000)         #this accounts for the temporal settling issue
>                           echo "You have approximately ${freespace}k free RAM after loading the ramboot."
>                           if [ ${freespace} -lt "502400" ] ; then echo "Warning! you have critically low system RAM free after ramboot." ; fi
>
>                   else
>                           cp -rfa /ramboot/* ${rootmnt}
>                           echo ${ROOT} > ${rootmnt}/.bootdisk_byuuid
>                           freespace=$(awk '/^MemFree:/{f=$2} END{print f}' /proc/meminfo)
>                           if [ ${freespace} -lt "102400" ] ; then echo "Warning! you have critically low system RAM free after ramboot." ; fi
>                   fi
>           fi
>           umount /ramboot
>   fi      #end custom ramboot.patch

06_custom

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
#uuid_<placeholder>, and vmlinuz-<placeholder>, and initrd.img-<placeholder> and
#set root='(hd0,2)' need to be replaced with your system's values, although, if you
#get the hd0,2 wrong, but the uuid correct, grub will grep around and find it anyhow. 
menuentry "Ubuntu, with Linux Custom-Ramboot" {
    recordfail
    set root='(hd0,2)'
    search --no-floppy --fs-uuid --set=root uuid_placeholder
    linux /boot/vmlinuz-<placeholder> root=UUID=<uuid-placeholder> ro ramboot
    initrd /boot/initrd.img-<placeholder>
}
2
ответ дан 5 July 2014 в 00:56

Другие вопросы по тегам:

Похожие вопросы: